信頼性のある数値計算を求めて

今年の応用数理学会の年会ネタに,シンプレクティック数値解法の結果と精度保証付数値解法の結果を比べようと思って精度保証のある数値解法の実装をしようと思ったのですが,どうも設計が難しい.「どこを精度保証するか」という見極めが凄く難しい.

最初はとりあえず,全部精度保証で計算して,全く保証しない結果と比べようと思ったのですが,精度保証で何を計算するか,というのに迷いが生じます.全部精度保証の演算でシンプレクティックに常微分方程式を解くか?それは結構手間です.微分方程式の数値積分の部分に加え,シンプレクティックゆえに現れるニュートン法の部分も精度保証しなくてはならず,さらに私の手法では自動微分法の部分も精度保証が必要になります.

シンプレクティックじゃない,精度保証の方法で微分方程式を解いて,シンプレクティックで精度保証無しの方法と比べるか?それは手ではあるんですが,頑張って実装するだけで,あんまり研究にならない.結果が自明なわけではないと思うのでやる価値はありそうなのですが,私は他の仕事も抱えてるので,一から全部実装ってのは避けたい.

悩みつつ色々考えると,私が関心があるのはブラックホール時空のような,拘束条件のある,つまりある多様体上の現象なので,多様体法とシンプレクティック法を組み合わせるのは容易に実行できる手だと思います.ただし,他の人もやってるでしょうが...

まあ,実際やるかどうかは置いておいて,複数の刻み幅で数値計算することが重要だと「数値計算の常識」で論じられているように,複数の手法で計算することは大事だと思います.違いが現れたらそれは研究のネタになるし,同じ結果が出たらそれはそれで結果の信頼性が(主観的に)得られるわけで,数学的な美しさに浸ることができてニヤニヤすることができます(笑)
「おおっ.同じ結果やっ」って.

というわけで,若手と言われるうちはガンガンプログラム作ることにしましょう...