選点法
テンプレート:Pathnav テンプレート:Pathnav 選点法(せんてんほう、テンプレート:Lang-en-short) とは、数値解析において常微分方程式、偏微分方程式と積分方程式に対して数値解を与える方法である。この方法のアイディアは、解候補(通常はある次数以下の多項式)からなる有限次元のベクトル空間と定義域から幾つかの点を先に選び、それらの点で与えられた方程式を満足する解を解候補の空間から選択することである。そのように選ばれた点は、選点(collocation points)と呼ぶ。
常微分方程式
区間 [[[:テンプレート:Mvar]], テンプレート:Math] 上の常微分方程式の初期値問題を以下のように定める。
解候補の空間を テンプレート:Mvar 次以下の多項式からなるベクトル空間とし、点 テンプレート:Math を選ぶ(時々、テンプレート:Mvar も選点と呼ばれるが、方程式の定義域が [0,1] とは限らないので最初に述べた選点とは少し違う定義となる)。
それらの点に対応する選点法による近似(多項式)解 テンプレート:Math は、初期値条件 テンプレート:Math と選点 テンプレート:Math (テンプレート:Math) での微分方程式 テンプレート:Math を満足する。そのように与えられた方程式の数は テンプレート:Math であり、テンプレート:Mvar の未知係数の数と一致する。そのため、近似解は一意に定められる。したがって、最後の時刻 テンプレート:Math での近似解は テンプレート:Math となる。
以上のような方法は実際にすべて陰的ルンゲ=クッタ法であり、以下のブッチャー配列で与えられる。
この中で、テンプレート:Mvar は選ばれた点に対応し、テンプレート:Mvar と テンプレート:Mvar は以下の公式で与えられる[1]。
ここで、 である。
しかし、陰的ルンゲ=クッタ法がすべて選点法であるわけではない[2]。
計算例:台形公式
例として、上記の常微分方程式に対し点 テンプレート:Math と テンプレート:Math を選ぶとしよう(よって テンプレート:Math)。近似解 テンプレート:Math は2次多項式であり、選点法による方程式
を満足する。計算を簡単にするために、テンプレート:Mvar を以下の形で書く。
上記の方程式系を用いて未知の係数を解くと
であることがわかる。したがって対応する選点法は次の公式で(陰的に)与えられる。
ここで、テンプレート:Math は テンプレート:Math での近似解である。
この方法は微分方程式における台形公式として知られている。確かに、方程式を以下のように書き換えって(数値積分における)台形公式で近似することから上記の公式を導出することも可能である。
ガウス・ルジャンドル法
上述の点 テンプレート:Mvar は テンプレート:Mvar 次のルジャンドル多項式の根として選べる。それらの点に対応する選点法は、テンプレート:Mvar 段ガウス・ルジャンドル法(Gauss-Legendre method)として知られている。テンプレート:Mvar 段ガウス・ルジャンドルは次数 テンプレート:Math を持ち、テンプレート:Mvar 段ルンゲ=クッタ法の中にでも一番精度の高い方法である[3]。さらに、ガウス・ルジャンドル法はすべてA-安定であり[4]、硬い方程式にも適用できる。しかし テンプレート:Mvar が4以上の時、ルジャンドル多項式の根を効率良く計算することが困難であり、加えて対応する方法の係数も極めて複雑であるので、4段以上のガウス・ルジャンドル法はあまり使われない[5]。
2段ガウス・ルジャンドル法は以下のブッチャー配列で与えられる。
そして3段ガウス・ルジャンドル法は以下のブッチャー配列で与えられる。
偏微分方程式
偏微分方程式における選点法は、単独の方法より、あるスキームを実装するために必要とされる手法の一つに近い。例えば、放物型偏微分方程式の解を計算する場合、有限差分法より方程式の空間変数を離散化すると時間変数の常微分方程式となるので上述の選点法が適用できる。
現在よく使われているほとんどのスキームに選点法(必ずしも常微分方程式における選点法ではない)が使える。特に重要と見なされるスキームの中には、有限要素法[6][7][8][9](重み付き残差法[10]も参照)、スペクトル法[11][12](選点法に基づいたスペクトル法は時々テンプレート:仮リンクとして知られている[13])がある(具体的な方法は、それぞれの記事を参照)。ここでは例として、フーリエ選点法と呼ばれるスペクトル法を簡単に紹介する。
フーリエ選点法は(理想的に)指数的収束速度を持ち[14]、周期的境界条件を持つ方程式に対し特に効果的である。空間領域 [0, 2テンプレート:Mvar] 上の(周期的境界条件付き)移流方程式
を考える。偶数の テンプレート:Mvar に対し、等距離の点 テンプレート:Math (テンプレート:Math)を選点として選ぶ。簡単のために、まず方程の時間変数を(前進)差分法より離散化し、次のようにする。
ここで、テンプレート:Math は時間 テンプレート:Mvar での近似解である。したがって、正しく テンプレート:Mvar を近似することで、次の時刻での近似解がわかるようになる。
既知の数値 テンプレート:Math から空間上のグリッド関数 テンプレート:Math を定義し、周期的に拡張する。そして テンプレート:Math を次のように各選点で近似する。
ここで、テンプレート:Mvar は スペクトル微分作用素 (spectral differentiation operator) という線型作用素であり、以下のように定義される[15]。
ここで、 は半離散フーリエ変換 (semi-discrete Fourier transform) といい、以下のように定義される[16]。
そして対応する逆変換は
である[16]。上述の近似から、次の時刻 テンプレート:Mvar での近似解がわかる。
また、グリッド関数を空間全体に周期的に拡張する代わりに、そのまま離散フーリエ変換を使って近似することも可能である。この方法は高速フーリエ変換を活用できるため、計算速度が相応に上がる。離散フーリエ変換は以下のように定義される。
そして対応する逆変換は、
である。スペクトル微分作用素 テンプレート:Mvar を使わずに、まず周波数領域の導関数を以下のように設定する。
それから、テンプレート:Mvar を以下のように近似できる。
最後に、次の時刻での近似解を同じように計算する。
出典
参考文献
- ↑ テンプレート:Harvnb
- ↑ テンプレート:Harvnb; テンプレート:Harvnb
- ↑ テンプレート:Harvnb
- ↑ テンプレート:Harvnb
- ↑ テンプレート:Harvnb
- ↑ 森正武. (1986) 有限要素法とその応用. 岩波書店.
- ↑ 菊池文雄. (1999). 有限要素法概説 [新訂版]. サイエンス社.
- ↑ 菊池文雄. (1994). 有限要素法の数理. 培風館.
- ↑ 有限要素法で学ぶ現象と数理―FreeFem++数理思考プログラミング―, 日本応用数理学会 監修・大塚 厚二・高石 武史著, 共立出版.
- ↑ Finlayson, B. A., & Scriven, L. E. (1966). The method of weighted residuals—a review. Appl. Mech. Rev, 19(9), 735-748.
- ↑ 石岡圭一, スペクトル法による数値計算入門, 東京大学出版会.
- ↑ Lloyd N. Trefethen (2000) Spectral Methods in MATLAB. SIAM, Philadelphia, PA.
- ↑ Fornberg, B. (1998). A practical guide to pseudospectral methods (Vol. 1). Cambridge University Press.
- ↑ テンプレート:Harvnb
- ↑ テンプレート:Harvnb
- ↑ 16.0 16.1 テンプレート:Harvnb