学生B:ところで、僕が書いた最初の間違ったプログラムですが、どうしてあれのほうが正しいオイラー法よりもいいんですか?
赤木: そうねえ、まあ偉そうにいうと、あれは「一次のシンプレクティッ
ク法」というものにたまたまなっていたからうまくいくのね。ハミルトン力学
系でハミルトニアンが分離可能な時、まあ、普通は要するに運動方程式が
(9) |
(10) | |||
(11) |
これがどうしてうまくいくかってことだけど、理屈はいろいろあるけど、詳しくは吉田さんの解説[2]でもみて。とり あえずさっきのオイラー法みたいに行列で書いてみて。
学生B:あ、はい、、、って、 の式に があるから行列にならないですけど、、、
赤木: え、でも、 は と で書けてるんだから、それを代入すればいいでしょ。
学生B:あ、なるほど、そうすると、
(12) |
赤木: そうね。形を見ればわかるけど、これは回転+定数倍にはなって ないわけね。 まあ、固有値をまずは求めてみましょ。
学生B:えーと、固有方程式が
(13) |
(14) |
赤木: そういうこと。だから、固有ベクトルの空間で考えると厳密に円 軌道をとるわけね。もとの空間ではどうなるかしら?
学生B:えーと、なんか楕円ですよね。
赤木: そういうことなわけ。つまり、時間刻みを有限にとっているのに、数値解は何周回っても必ずある楕円の上にのるのよ。
学生B:えーと、それで の誤差が 3次になることが説明できます?
赤木: できるわよ。でも、それあんまり難しくないし、あとで考えてみ て。調和振動だけで話が終わっちゃうと書くほうは楽でいいけど、さすがにそ れだけですますわけにもいかないから話を進めましょう。次は簡単な非線型問 題がいいんだけど、どんなのにしましょ?
学生B:ええと、ケプラー問題とかはどうでしょう?非線型だけど解析解があ るから、とりあえずプログラム書くほうとしては安心できます、、、
赤木: そうね、最終的にはもちろん解析解がないものを考えるんだけど、 調和振動からいきなりなにもわからない世界にいくのもつらいかしらね。でも、 3変数か、平面問題としても2変数よね。プログラムどんなふうに書くのがいい かな、、、まあ、とりあえずおまかせするわ。
学生B:はい、、、