有限差分

提供: testwiki
2024年8月22日 (木) 01:02時点におけるimported>Bcxfubotによる版 (外部リンクの修正 http:// -> https:// (wordpress.com) (Botによる編集))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

数学における有限差分(ゆうげんさぶん、テンプレート:Lang-en-short)はテンプレート:Math なる形の式を総称して言うテンプレート:Cn。有限差分を テンプレート:Math で割れば、差分商が得られる。微分を有限差分で近似することは、微分方程式(特に境界値問題)の数値的解法である有限差分法において中心的な役割を果たす。

ある種の漸化式は多項間の関係式を有限差分で置き換えて差分方程式にすることができる。

今日では「有限差分」の語は、特に数値解法の文脈において、微分の有限差分近似の同義語としてもよく用いられる[1][2][3]。有限差分近似は冒頭の用語法に則れば有限差分商のことである。

有限差分それ自体も、抽象的な数学的対象として研究の主題となり得るものである。例えばジョージ・ブール (1860), テンプレート:仮リンク (1933), テンプレート:仮リンク (1939) らの業績があり、それはアイザック・ニュートンにまで遡れる。そのような観点で言えば、有限差分に関する形式的な計算は無限小に関する計算の代替となるものである[4]

前進・後退・中心差分

主に前進、後退、中心差分の三種類が広く用いられる[1][2][3]

前進差分
Δh[f](x)=f(x+h)f(x).
後退差分
h[f](x)=f(x)f(xh).
テンプレート:Anchors中心差分
δh[f](x)=f(x+12h)f(x12h).

応用の場面に応じて、歩み テンプレート:Mvar は変数と見ることも定数と見ることもある。添字の テンプレート:Mvar を省略したときは、テンプレート:Math の意味(テンプレート:Mathなど)である。

微分の離散化としての差分

テンプレート:Main テンプレート:Anchors 函数 テンプレート:Mvar の点 テンプレート:Mvar における微分函数の極限

f(x)=limh0f(x+h)f(x)h

で定義される。ここで テンプレート:Mvar を零に近づける代わりに非負の値に固定すれば、右辺は

f(x+h)f(x)h=Δh[f](x)h

と書けるから、これは テンプレート:Mvar が小さいとき、歩み テンプレート:Mvar の前進差分が微分を近似するものであることを意味する。この近似の誤差はテイラーの定理から評価することができる。実際、テンプレート:Mvar が微分可能であると仮定すれば

Δh[f](x)hf(x)=O(h)0(as h0)

であり、前進差分に関しても同じ式

h[f](x)hf(x)=O(h)0(as h0)

が満足される。中心差分を用いればより精密な近似が可能で、テンプレート:Mvar が二回微分可能ならば

δh[f](x)hf(x)=O(h2)

が成り立つ。しかし中心差分法の主な問題は、振動する函数の微分が零ということになってしまう場合があることである。例えば、奇数の テンプレート:Mvar に対して テンプレート:Math かつ偶数の テンプレート:Mvar に対して テンプレート:Math とすれば、中心差分法で計算すると テンプレート:Math となる。これは テンプレート:Mvar の定義域が離散の場合に特に問題になる。

「有限差分」を有限差分近似の意味で用いる文献では、「前進・後退・中心差分」は(前節の意味ではなく)本節で言う商として定義される[1][2][3]

テンプレート:See also

高階差分

微分の有限差分近似と対応して、高階微分の有限差分近似が得られる。例えば、中心差分の式を テンプレート:Mathテンプレート:Math に対して考え、テンプレート:Mvar の微分の中心差分近似に適用すれば、テンプレート:Mvar の二回微分の近似式として

二階中心差分
f(x)δh2[f](x)h2=f(x+h)2f(x)+f(xh)h2

が得られる。同様にほかの差分公式を繰り返し適用すれば

二階前進差分
f(x)Δh2[f](x)h2=f(x+2h)2f(x+h)+f(x)h2.

なども得られる。より一般にテンプレート:Mvar-階前進、後退、中心差分はそれぞれ

テンプレート:Mvar-階前進差分
Δhn[f](x)=i=0n(1)i(ni)f(x+(ni)h),
Δn[f](x)=k=0n(nk)(1)nkf(x+k)(for h=1).
テンプレート:Mvar-階後退差分
hn[f](x)=i=0n(1)i(ni)f(xih),
テンプレート:Mvar-階中心差分
δhn[f](x)=i=0n(1)i(ni)f(x+(n2i)h)

で与えられる。上記において、テンプレート:Math二項係数である(各 テンプレート:Mvar に対する係数はパスカルの三角形の各行で与えられる)。

中心差分においては テンプレート:Mvar が奇数のとき テンプレート:Mvar が非整数倍されることに留意すべきである。これは離散化の幅を変えることになるため、しばしば問題になる。この問題は テンプレート:Mathテンプレート:Math との平均をとることで除くことができる。

数列に前進差分を施すことを、その数列のテンプレート:仮リンクと呼ぶことがあり、組合せ論的に興味深い様々な性質がある。前進差分をネールント–ライス積分を用いて評価することができる。このような種類の級数に対する積分表現は、積分が漸近展開鞍点法で評価されることがしばしばあり、重要である(対照的に前進差分級数は、大きな テンプレート:Mvar に対しては二項係数が急速に増大するため、数値的に評価することが極めて難しい)。

これら高階差分と微分との関係はそれぞれ直接的に

dnfdxn(x)=Δhn[f](x)hn+O(h)=hn[f](x)hn+O(h)=δhn[f](x)hn+O(h2)

となる。高階微分はより良い近似を構成するためにも利用できる。上で述べたように、一階差分近似は テンプレート:Mvarオーダーの項を除いて一階微分を近似するものであるが、高階微分を組み合わせた

Δh[f](x)12Δh2[f](x)h=f(x+2h)4f(x+h)+3f(x)2h

テンプレート:Mathテンプレート:Math のオーダーの項しか違わない。これを示すには、先述のようにテイラー級数展開してもよいし、後述のように有限差分の汎函数計算を用いてもよい。

必要ならば、前進・後退・中心差分を混合して任意の点を有限差分の中心にすることができる。

性質

  • 任意の正整数 テンプレート:Mvar に対して
    Δkhn(f,x)=i1=0k1i2=0k1in=0k1Δhn(f,x+i1h+i2h++inh).
  • ライプニッツ則:
    Δhn(fg,x)=k=0n(nk)Δhk(f,x)Δhnk(g,x+kh).

有限差分法

テンプレート:Main 有限差分の重要な応用として、数値解析、特に数値微分方程式論において、常微分および偏微分方程式の数値解を得る目的での利用が挙げられる。これは、微分方程式に現れる微分を、それを近似する有限差分で置き換えるという考え方である。これを有限差分法と呼ぶ。

有限差分法は、計算機科学や工学の熱工学流体力学などといった分野においてよく応用される。

ニュートン級数

ニュートン級数ニュートンの前進差分方程式の項からなる。これは本質的にニュートン補間公式であり、1687年に著書『プリンキピア・マスマティカ』において最初に公表された[5]。具体的には、連続的なテイラー展開の離散版

f(x)=k=0Δk[f](a)k!(xa)k=k=0(xak)Δk[f](a)

が任意の多項式函数 テンプレート:Mvar に対して成立する。これはさらに多くの(全てではない)解析函数でも成立する。ここで

(xk)=(x)kk!

二項係数であり、

(x)k=x(x1)(x2)(xk+1)

下降階乗(下方階乗)である(空積 テンプレート:Mathテンプレート:Math とする)。これは後述する一般化において、テンプレート:Mvar の変化の歩み (step) が テンプレート:Math であると仮定した特別の場合である。

この結果とテイラーの定理との形式的な対応に注意せよ。歴史的には、これとテンプレート:仮リンク

(x+y)n=k=0n(nk)(x)nk(y)k

二項定理に対応する)は、陰計算の体系に至る観察に含まれる。

  • [[p進解析|テンプレート:Mvar-進解析学]]において、マーラーの定理テンプレート:Mvar が多項式函数であるという仮定は単に連続であるという仮定に緩めることができることを述べる。
  • テンプレート:仮リンクはニュートン級数が(存在すれば)一意であるための必要十分条件を与える。しかし一般にはニュートン級数の存在は保証されない。
  • ニュートン級数、スターリング補間多項式、セルバーグ多項式は、一般の差分多項式の特別の場合である。これらは全て適当にスケールされた前進差分の言葉で定義される。
  • In a compressed and slightly more general form and equidistant nodes the formula reads
    f(x)=k=0(xahk)j=0k(1)kj(kj)f(a+jh).

有限差分に関する演算子法

テンプレート:Main 前進差分を、函数 テンプレート:Mvarテンプレート:Math へ写す差分作用素と考えることができる[6][7]。この作用素は、歩み テンプレート:Mvarシフト作用素 テンプレート:Math を用いて

Δh=ThI

という和に書くことができる。ここに、テンプレート:Math および テンプレート:Mvar恒等作用素である。

高階の有限差分は再帰的に テンプレート:Math) と定義することができるが、これと同値な別定義として テンプレート:Math とすることもできる。

差分作用素 テンプレート:Math線型作用素であり、上で述べた特別なライプニッツ則 テンプレート:Math を満足する。後退および中心差分に関しても同様のことが成立する。

テンプレート:Mvar に関するテイラー級数を形式的に適用することで、等式

Δh=hD+12h2D2+13!h3D3+=ehDI

が得られる。ここで テンプレート:Mvar は函数 テンプレート:Mvar をその導函数 テンプレート:Mvar へ写す連続的な微分作用素である。十分小さな テンプレート:Mvar に対して、この展開は両辺が解析函数に作用するとき有効である。従って テンプレート:Math であり、逆に冪指数に関して解いて

hD=log(1+Δh)=Δh12Δh2+13Δh3+

が得られる。この式は両辺が多項式に作用して同じ結果を与えるという意味において正しい。

解析函数に作用する場合でも、右辺の級数の収束は保証されず、漸近級数となり得る。しかし、微分に対するより精密な近似を得ることには利用できる。例えば、例えばこの級数の最初の二項だけを取り出せば、#高階差分の節の最後に述べた テンプレート:Math の二階近似が導かれる。

後退および中心差分に対する同様の公式は

hD=log(1h),hD=2arsinh(12δh)

となる。

有限差分作用素の計算法則

テンプレート:仮リンクと対応して、

この二つの法則は他の差分作用素でも成り立つ。

  • 積の差分:
    Δ(fg)=fΔg+gΔf+ΔfΔg,
    (fg)=fg+gffg.
  • 商の差分:
    (fg)=1gdet(fgfg)(det(gg11))1
    あるいは
    (fg)=gffgg(gg),
    Δ(fg)=gΔffΔgg(g+Δg).
  • 和分:
    n=abΔf(n)=f(b+1)f(a),
    n=abf(n)=f(b)f(a1).


See Refs [8][9][10][11]

一般化

一般化された有限差分テンプレート:Math を係数列として

Δhμ[f](x)=k=0Nμkf(x+kh)

と定義されるのが普通である。さらに右辺の和を無限級数に取り換えた一般化として無限差分 (infinite difference) が定義される。別な一般化としては、係数 テンプレート:Mathテンプレート:Mvar に依存することを許して テンプレート:Math とすることで、重み付き有限差分 (weighted finite difference) が考えられる。あるいはまた、歩み テンプレート:Mvarテンプレート:Mvar に依存する (テンプレート:Math) とすることも考えられる。そのような一般化は別種のテンプレート:仮リンクを構成するのに有用である。

多変数の有限差分

多変数の場合にも有限差分は考えることができる。それらは多変数の偏微分に対応するものである。

中心差分による偏微分近似をいくつか挙げれば

  • fx(x,y)f(x+h,y)f(xh,y)2h,
  • fy(x,y)f(x,y+k)f(x,yk)2k,
  • fxx(x,y)f(x+h,y)2f(x,y)+f(xh,y)h2,
  • fyy(x,y)f(x,y+k)2f(x,y)+f(x,yk)k2,
  • fxy(x,y)f(x+h,y+k)f(x+h,yk)f(xh,y+k)+f(xh,yk)4hk.

のようになる。

関連項目

テンプレート:Columns-list

参考文献

  1. 1.0 1.1 1.2 テンプレート:Cite book
  2. 2.0 2.1 2.2 テンプレート:Cite book
  3. 3.0 3.1 3.2 テンプレート:Cite book
  4. Jordán, op. cit., p. 1 and Milne-Thomson, p. xxi. Milne-Thomson, Louis Melville (2000): The Calculus of Finite Differences (Chelsea Pub Co, 2000) ISBN 978-0821821077
  5. Newton, Isaac, (1687). Principia, Book III, Lemma V, Case 1
  6. Boole, George, (1872). A Treatise On The Calculus of Finite Differences, 2nd ed., Macmillan and Company. On line. Also, [Dover edition 1960]
  7. Jordan, Charles, (1939/1965). "Calculus of Finite Differences", Chelsea Publishing. On-line: [1]
  8. テンプレート:Cite book
  9. Ames, W. F., (1977). Numerical Methods for Partial Differential Equations, Section 1.6. Academic Press, New York. ISBN 0-12-056760-1.
  10. Hildebrand, F. B., (1968). Finite-Difference Equations and Simulations, Section 2.2, Prentice-Hall, Englewood Cliffs, New Jersey.
  11. テンプレート:Cite journalテンプレート:リンク切れ.
  • Richardson, C. H. (1954): An Introduction to the Calculus of Finite Differences (Van Nostrand (1954) online copyテンプレート:リンク切れ
  • Mickens, R. E. (1991): Difference Equations: Theory and Applications (Chapman and Hall/CRC) ISBN 978-0442001360

外部リンク