ファイル:Stability region for BDF1.svg

ページのコンテンツが他言語でサポートされていません。

元のファイル(SVG ファイル、720 × 540 ピクセル、ファイルサイズ: 88キロバイト)

概要

解説
English: Region of absolute stability for the backward Euler = BDF1 method. See below for Python source. Compare with page 350 of Süli, Endre; Mayers, David (2003), An Introduction to Numerical Analysis, Cambridge University Press, ISBN 0521007941.
日付
原典 投稿者自身による著作物
作者 Jitse Niesen
SVG 開発
InfoField
W3C grn 
このSVGのソースコードは正しい
Created with Matplotlib-logo 
この ベクター画像Matplotlibで作成されました。
ソースコード
InfoField

Python code

import numpy
from matplotlib import pyplot

BFDcoeffs = { 1: {'alpha': [1, -1], 'beta': 1},
              2: { 'alpha': [3, -4, 1], 'beta': 2 },
              3: { 'alpha': [11, -18, 9, -2], 'beta': 6 },
              4: { 'alpha': [25, -48, 36, -16, 3], 'beta': 12 },
              5: { 'alpha': [137, -300, 300, -200, 75, -12], 'beta': 60 },
              6: { 'alpha': [147, -360, 450, -400, 225, -72], 'beta': 60 } }

plotWindow = { 1: { 'realPart': [-2, 3], 'imagPart': [-2, 2] },
               2: { 'realPart': [-2, 5], 'imagPart': [-3, 3] },
               3: { 'realPart': [-4, 8], 'imagPart': [-5, 5] },
               4: { 'realPart': [-4, 14], 'imagPart': [-8, 8] },
               5: { 'realPart': [-10, 25], 'imagPart': [-15, 15] },
               6: { 'realPart': [-20, 40], 'imagPart': [-30, 30] } }

# Returns > 1 if argument is not in region of absolute stability
def stabilityFunction(hTimesLambda, s):
    stabPolyCoeffs = list(BFDcoeffs[s]['alpha'])
    stabPolyCoeffs[0] -= hTimesLambda * BFDcoeffs[s]['beta']
    return max(abs(numpy.roots(stabPolyCoeffs)))

# Main program
for s in range(1,7):
    x = numpy.linspace(*plotWindow[s]['realPart'], num=400)
    y = numpy.linspace(*plotWindow[s]['imagPart'], num=400)
    [X,Y] = numpy.meshgrid(x,y)
    Z = numpy.zeros(X.shape)
    for m in range(X.shape[0]):
        for n in range(X.shape[1]):
            Z[m,n] = stabilityFunction(X[m,n] + 1j * Y[m,n], s)
    pyplot.contour(X, Y, Z, [1], colors='k')
    pyplot.contourf(X, Y, Z, [0,1], colors=[[1, 0.5, 0.8]])
    pyplot.plot(plotWindow[s]['realPart'], [0, 0], 'k--')
    pyplot.plot([0, 0], plotWindow[s]['imagPart'], 'k--')
    pyplot.gca().tick_params(labelsize = 20)
    pyplot.savefig('Stability_region_for_BDF%d.svg' % s)
    pyplot.clf()

ライセンス

この作品の著作権者である私は、この作品を以下のライセンスで提供します。
Creative Commons CC-Zero このファイルはクリエイティブ・コモンズ CC0 1.0 全世界 パブリック・ドメイン提供のもとで利用可能にされています。
ある作品に本コモンズ証を関連づけた者は、その作品について世界全地域において著作権法上認められる、その者が持つすべての権利(その作品に関する権利や隣接する権利を含む。)を、法令上認められる最大限の範囲で放棄して、パブリック・ドメインに提供しています。

この作品は、たとえ営利目的であっても、許可を得ずに複製、改変・翻案、配布、上演・演奏することが出来ます。

キャプション

このファイルの内容を1行で記述してください

このファイルに描写されている項目

題材

20 3 2012

ファイルの履歴

過去の版のファイルを表示するには、その版の日時をクリックしてください。

日付と時刻サムネイル寸法利用者コメント
現在の版2012年3月20日 (火) 15:372012年3月20日 (火) 15:37時点における版のサムネイル720 × 540 (88キロバイト)Jitse Niesen

以下のページがこのファイルを使用しています:

グローバルなファイル使用状況

以下に挙げる他のウィキがこの画像を使っています: