next up previous
Next: 2 対称型一段公式における時間刻みの変更 Up: システム数理IV 第11回 Previous: システム数理IV 第11回

1 ハミルトン系とそのための解法:つづきのつづき

前回にひきつづいてハミルトン系向けの解法について考える。

前回は、リープフロッグ公式の高次への一般化としてシンプレクティック公式、 すなわち、積分公式自体が正準変換になっているようなものを考えた。今回は、 別のアプローチである対称型公式というものを考える。

1.1 対称型公式とは

さて、まず対称型公式とはなにかということだが、まず時間反転に対する対称性というものを定義しておこう。時間反 転に対する対称性とは、常微分方程式

に対する一段法

が、

を満たすこと、つまり、直観的には、ある微分方程式系があって、それを1ス テップ分数値解を求めたとする。で、そこから逆に戻ると厳密に元の値に戻る ということである。(ここでは丸め誤差はないものとする)

で、一段法の場合には、この意味で対称なものを対称型公式ということにする。

具体例で考えてみよう。例えば前進オイラー法は対称型ではない。これは、いっ た先で導関数を計算すれば、一般にもとのところでの導関数とは違うから当然 であろう。前進オイラー法が対称ではないのだから、その逆写像である後退オ イラー法も対称型ではないことになる。

では、対称型にはどういうものがあるかということだが、明らかに対称型であ るものとしては、台形公式

がある。これが上の対称性を満たしていることはいうまでもない。

さて、なぜこの型の公式を考えるかということであるが、これは実はそれほど 簡単な話ではない。実験的には以下のようなことが知られている。

前のほうの性質はシンプレクティック公式と同じであるが、後の方の性質はシ ンプレクティック公式よりもある意味でよいものである。

理論的な話は来週に回して、今日はとりあえず対称型公式にはどんなものがあ るかという話をしておこう。

さて、一階の方程式に対する一段法という制限をつけた場合、つまり、ルンゲ クッタ法の場合、対称な公式はかならず陰的公式になる。逆に、陰的公式であ れば対称型のものを作るのは容易である。つまり、ルンゲクッタ法を与える行 列 A とかベクトル b, cが対称になっていればいい。

何度もでてきたので予想されるかもしれないが、陰的ガウス法は対称型公式で もある。

一階の系に対する一段法では、そういうわけですでに紹介してきた陰的 RK の ほかにうまい方法があるわけではない。それでは、

以下、順番に考えていくことにする。

1.2 ハミルトン系用の陽的対称型RK公式

実は、前回にすでに述べたように、 leapfrog 公式は対称型でありしかも陽公 式である。で、前回紹介した leapfrog の組合わせで作られる公式も、実は すべて対称型になっている。

1.3 対称型線形多段法

さて、一段法という枠を外してみよう。2階の方程式用の線形多段階法として は、すでに Stormer-Cowell 法について述べた。が、これは対称型ではない。

というようなことをいう前に、線形多段階法に対する対称性の定義を与える必 要がある。ここでは、以下のように定義しておこう。 2階の方程式用の線形多段階法は、一般に

という形に書くことができる。 なら陽的であるし、そうでな ければ陰的公式である。ここで、対称型であるとは、係数が

を満たすということである。 leap frog をこの形にしたものは、 前に出てき た通り

というものであり、これが上の対称性の定義を満たしていることはいうまでも ないであろう。

上の意味で対称な公式は、実際に時間反転に対して対称であるということに注 意しておこう。つまり、 から上の式で を求めたとする。時間を逆転させた解を考えて、 から を求めるということを考えても、使 う式が時間が逆転していないものと同じになっているのである。

Stormer-Cowell が対称ではないというのはこの意味、つまり、 から を求める式と から を求める式が同じもの ではないということである。

このような公式は、 1970 年代から知られていたが、注目されるようになった のは 1990 年代に入ってからである。特にトロント大の Quinlan, Tremaine らが14次までの対称型公式を導いた。表1にその値を示してお く。

なお、非常に最近(今年)になって、国立天文台の福島によって、Quinlan & Tremaine によるものよりもはるかに良い性質を持つものが導かれている。こ れについては原理も合わせて後で触れる。

  
表 1: Quinlan & Tremaine 1990 による対称型公式の係数

1.4 エルミート型公式

一般に対称型というわけではないが、4次の対称型公式を導く特別な方法とし てエルミート型(あるいはエルミート・オブレヒホフ型)と呼ばれる公式のク ラスについてここで触れておこう。

エルミート型公式は、線形多段階法のアダムス型公式の一つの一般化である。 どのような意味において一般化であるかというと、アダムス型と同じように補 間多項式を積分することで新しい時刻での値を求めるところは同じである。違 うところは、アダムス型公式では補間多項式を作るのに関数の値を使う(ラグ ランジュ・ニュートン補間)が、エルミート型公式では、関数の導関数の値も 使うのである(エルミート補間)。

もっとも単純な発想としては、テイラー法というものがある。つまり、微分方 程式

というものがあったとしたら、

という関係式を使って fの全微分を求めることが出来、同様に高次の導関数 もどんどん計算していくことが出来る(微分が式で書ければ)。これらを使っ て直接テイラー級数を評価して近似解を求めるのである。

高次の導関数が簡単に求められる場合(例えば線形な系とか)には、この方法 はかなり強力である。線形多段階法やルンゲクッタに比べて誤差項の係数がずっ と小さく、タイムステップが大きくとれるからである。

が、多くの問題において、高階導関数の直接計算は現実的ではない。これは、 計算量が指数関数的に爆発するのが普通だからである。とはいえ、fの一階 導関数や二階導関数くらいならば指数関数的といってもたかがしれている。し かしながら、これではテイラー法では2次や3次の公式しか作れない。実用的な 公式としては、(leap frog のような特別に良い性質をもっているとかいうの でなければ)もうちょっと高次のものが必要である。

そこで考えられるのが、高階導関数を使ってさらにルンゲ・クッタ型とか線形 多段階法のような公式を作ることである。例によってもっとも簡単な場合とい うのを考えると、それは のところで f の一階導関数 の値を使うもの(高次導関数を使わないものであれば台形公式に相当)の一般 化ということになろう。

台形公式は、2次の陰的アダムス型公式と考えることができる。つまり、 f を線 形補間してそれを積分しているわけである。これに対し、 f を使う補間というのはどういうものかということを考えてみると、こ れは 3次多項式を構成できることがわかる。具体的には、導関数の近似多項式 を

としたとき、

という形で係数を求めることが出来る。さらに、上の近似多項式を積分してや れば、結局

という形の公式が得られる。これは台形公式と同じく陰的公式である。対称型 であることは明らかであろう。

この公式は実装が簡単であるわりには精度が高く、また対称型であるというよ い性質をもつこともあり、良く使われるようになりつつあるようである。収束 させるための反復には普通の逐次代入が使える。



Jun Makino
Mon Jun 29 10:12:29 JST 1998