ルンゲ=クッタ法のリスト

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Pathnav ルンゲ=クッタ法 は、以下の形の常微分方程式初期値問題の解を数値で近似計算する方法である。

y=f(t,y),y(t0)=y0

一般的に、ルンゲ=クッタ法は以下の形で与えられる。

yn+1=yn+hi=1sbiki

ただし、

ki=f(tn+cih,yn+hj=1i1aijkj),

以下のリストで記述するすべての計算方法は、それに対応するブッチャー配列で与えられる。ある一つの方法に対する係数をブッチャー配列で以下の形で表す。

c1a11a12a1sc2a21a22a2scsas1as2assb1b2bs

また、陽的ルンゲ=クッタ法に対応するルンゲ=クッタ行列は狭義の下三角行列であるので上三角成分の表記は省略される。

陽的ルンゲ=クッタ法

(前進)オイラー法

オイラー法は1次の方法である。 安定性と精度が低いため、オイラー法は入門の例でしか使われない(実際は大規模な計算では今でも使われることがある)。

01

陽的中点法

(陽的)中点法は2段2次の方法である(陰的中点法も参照)。

01/21/201

ホイン法

テンプレート:仮リンク も2段2次の方法である (陽的台形公式としても知られている)。

0111/21/2

Ralston法

Ralston法 は2段2次の方法のうちで局所誤差の上界が最小のものである[1]

02/32/31/43/4

一般的な2段2次の方法

0xx112x12x

クッタの3次の方法

01/21/21121/62/31/6 [2]

古典的ルンゲ=クッタ法

01/21/21/201/210011/61/31/31/6

クッタの3/8公式

この方法は、上記の古典的方法と同じ論文で提出されたが[3]、古典的方法に比べるとあまり用いられていない。

01/31/32/31/3111111/83/83/81/8

埋め込み型ルンゲ=クッタ法

テンプレート:Main

埋め込み型の方法はルンゲ=クッタ法の局所誤差を推定するために開発された方法である。それらの方法は誤差を制御するために刻み幅を調整する。

埋め込み型方法に対応するブッチャー配列は以下のように与えられる。

c1a11a12a1sc2a21a22a2scsas1as2assb1b2bsb1*b2*bs*

ここで、上側の段の係数 テンプレート:Mvarテンプレート:Mvar 次陽的方法に対応するものであり、下側の段の係数 テンプレート:Mvarテンプレート:Math 次陽的方法に対応するものである。

ホイン・オイラー法

この方法は、2次のホイン法と1次のオイラー法を組み合わせる方法であり、もっとも単純な埋め込み型方法である。

0111/21/210

フェールベルグ RK1(2)

フェールベルグ法は3段で、次数2と1の方法を用いる[4]

01/21/211/256255/2561/512255/2561/5121/256255/2560

Bogacki–Shampine法

テンプレート:仮リンク は4段で、次数3と2の方法を用いる[5]。MATLABのコマンド ode23 はこの方法の実装である[6]

01/21/23/403/412/91/34/92/91/34/907/241/41/31/8

ルンゲ=クッタ=フェールベルグ法

ルンゲ=クッタ=フェールベルグ法 は5段で、次数5と4の方法を用いる[4]

01/41/43/83/329/3212/131932/21977200/21977296/21971439/21683680/513845/410416/13506656/1282528561/564309/502/5525/21601408/25652197/41041/50

Cash-Karp法

テンプレート:仮リンク はフェールベルグの最初のアイディアを変型した方法である[7]。フェールベルグの方法と同じく5段で、次数5と4の方法を用いる。

01/51/53/103/409/403/53/109/106/5111/545/270/2735/2737/3780250/621125/5940512/17712825/27648018575/4838413525/55296277/143361/4

ドルマン=プリンス法

ドルマン=プリンス法 は6段で、次数5と4の方法を用いる[8]。MATLABのコマンド ode45 はこの方法を実装したものである[6]

01/51/53/103/409/404/544/4556/1532/98/919372/656125360/218764448/6561212/72919017/3168355/3346732/524749/1765103/1865635/3840500/1113125/1922187/678411/8405179/5760007571/16695393/64092097/339200187/21001/40

陰的ルンゲ=クッタ

上述の埋め込み型方法と同じく、ブッチャー配列に二つの方法が含まれている場合、表で重ねて書かれた下側の段の係数の方法が誤差をコントロールするためのものとなる。

後退オイラー法(陰的オイラー法)

後退オイラー法 は1次の方法である。 この方法は、偏微分方程式である線型拡散方程式の時間方向の離散化に用いた場合には無条件に安定で非振動的な方法である。

111

陰的中点法

陰的中点法は2次方法である。選点法であり、以下のテンプレート:仮リンクの最も簡単な場合である。

1/21/21

ガウス・ルジャンドル法

これらの方法はガウス求積法に基づいた方法であり、高い次数を持つ(テンプレート:Mvar 段ガウス・ルジャンドル法の次数は テンプレート:Math である)。

4次の方法は以下のブッチャー配列で与えられる[9]

123614143612+3614+3614121212+12312123

さらに6次の方法に対応する配列は以下で与えられる[9]

121510536291515536153012536+152429536152412+1510536+153029+151553651849518568356

Lobatto法

Lobatto法[10] は主に IIIA、 IIIB と IIIC(古典的な文献によって、記号 I と II は二種類のRadau法にのみ使われる)と呼ばれる三種類の方法を指している。方法の名称は Rehuel Lobatto にちなむ。それらの方法はすべて陰的であり、次数 テンプレート:Math を持ち、係数に対し条件 テンプレート:Mathテンプレート:Math を満たす。

Lobatto IIIA法

Lobatto IIIA法 はコロケーション法である。

2次の方法は陰的台形公式として知られ[11]、以下の配列で与えられる。

00011/21/21/21/2

さらに4次の方法は以下の配列で与えられる[12]

00001/25/241/31/2411/62/31/61/62/31/6

これらの方法はどれもA-安定であるが、L-安定やB-安定ではない。

Lobatto IIIB法

Lobatto IIIB法 はコロケーション法ではないけど、非連続的コロケーション法として見ることができる。

2次の方法は以下の配列で与えられる[13]

01/2011/201/21/2

さらに4次の方法は以下の配列であたえられる[12]

01/61/601/21/61/3011/65/601/62/31/6

これらの方法はどれもA-安定であるが、L-安定やB-安定ではない。

Lobatto IIIC法

Lobatto IIIC法 も非連続的コロケーション法である。

2次の方法は以下の配列で与えられる[11]

01/21/211/21/21/21/210

さらに4次の方法は以下の配列で与えられる[12]

01/61/31/61/21/65/121/1211/62/31/61/62/31/6

これらの方法は、すべてL-安定であり、さらに代数的安定(よってB-安定)でもある。そのため、硬い方程式に対する適切な方法である。

Lobatto IIIC*法

Lobatto IIIC*法[13] は文献によって、Lobatto III法[14]、ブッチャーのLobatto法やLobatto IIIC法としても知られている。

2次の方法は上述の陽的台形公式にあたり(よって陰的方法ではない)、以下の配列で与えられる[11]

0001101/21/2

さらに4次の方法は以下の配列で与えられる[12]

00001/21/41/4010101/62/31/6

これらの方法は、どれもA-安定でも、L-安定でも、B-安定でもない。

一般化Lobatto法

上述のLobatto法の係数はすべて一意に定められるため、方法の線型結合も考えられる[13]。一般的に、3つの実数パラメータ (αA,αB,αC) からなるLobatto係数を以下のようにする。

ai,j(αA,αB,αC)=αAai,jA+αBai,jB+αCai,jC+αC*ai,jC*

但し、

αC*=1αAαBαC

ここで、テンプレート:Mvar はLobatto IIIA法に対するルンゲ=クッタ行列である。

テンプレート:Mathテンプレート:Mathテンプレート:Math のとき、対応する方法はLobatto IIID法であり、Lobatto IIINW法とも呼ばれる。

2次の方法は以下の配列であたえられる。

01/21/211/21/21/21/2

さらに4次の方法は以下の配列であたえられる。

01/601/61/21/125/12011/21/31/61/62/31/6

これらの方法もすべてL-安定であり、さらに代数的安定(よってB-安定)である。

Radau法

Radau法[10] は次数 テンプレート:Math を持ち、A-安定である。しかし、方法に対する計算コストが高い以上、方法の次数が落ちるという恐れもある。

Radau IA法

Radau IA法の係数 テンプレート:Mvar は方程式

Ps(2x1)+Ps1(2x1)=0

の解である。ここで、テンプレート:Mvarテンプレート:Mvarルジャンドル多項式である。

3次の方法は以下の配列で与えられる[15]

01/41/42/31/45/121/43/4

さらに5次の方法は以下の配列で与えられる[15]

01916181+61835610191145+76360114543636035+610191145+4363601145763601949+63649636

Radau IIA法

Radau IIA法の係数 テンプレート:Mvar は方程式

Ps(2x1)Ps1(2x1)=0

の解である。

3次の方法は以下の配列で与えられる[15]

1/35/121/1213/41/43/41/4

さらに5次の方法は以下の配列で与えられる[11]

2561011457636037225169618002225+67525+61037225+169618001145+76360222567514963649+636194963649+63619

脚注

テンプレート:Reflist

参考文献