微分方程式

解析学において、微分方程式（びぶんほうていしき、（英: differential equation）とは、未知関数とその導関数の関係式として書かれている関数方程式である。 数学の応用分野においてしばしば、異なる2つの変数の関係を調べることが行われる。2変数を対応付ける関数があらわになっていなくても、その導関数（の満たすべき方程式）を適当な仮定の下で定めることができ、そこから目的とする関数を探し出すことができる。 物理法則を記述する基礎方程式は、多くが時間微分、空間微分を含む微分方程式であり、物理学からの要請もあり微分方程式の解法には多くの関心が注がれてきた。 方程式論は解析学の中心的な分野で、フーリエ変換、ラプラス変換等は元々、微分方程式を解くために開発された手法である。また物理学における微分方程式の主要な問題は境界値問題、固有値問題である。 微分方程式は大きく線型微分方程式と非線型微分方程式に分類される。線形微分方程式の例として、例えばシュレーディンガー方程式が挙げられる。シュレーディンガー方程式は、量子系の状態の時間発展を記述する方法の一つとして広く用いられている。非線型微分方程式の例として、例えばナビエ–ストークス方程式（NS方程式）が挙げられる。NS方程式は流体の運動を記述する基本方程式であり、物理学の応用としても重要な方程式である。しかし、NS方程式の解の存在性は未解決問題でありミレニアム懸賞問題にも選ばれている。 微分方程式は方程式に含まれる導関数の階数によって分類され、最も高い階数が n 次である場合、その微分方程式を n 階微分方程式と呼ぶ。 いずれの場合も未知関数は一つとは限らず、また、連立する複数の微分方程式を同時に満たす関数を解とするような連立方程式の形を取る場合もある。これは連立 n 階微分方程式などと呼ばれる。 一変数関数の導関数の関係式で書かれる常微分方程式と多変数関数の偏導関数を含む関係式で書かれる偏微分方程式に分かれる。 常微分方程式とは例えば、 d d x f ( x ) − f ( x ) = 0 {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} x}}\!f(x)-f(x)=0} や、 d 2 d x 2 f ( x ) − 2 d d x f ( x ) + f ( x ) = sin ⁡ ( x ) {\displaystyle {\frac {\mathrm {d} ^{2}}{\mathrm {d} x^{2}}}\!f(x)-2{\frac {\mathrm {d} }{\mathrm {d} x}}\!f(x)+f(x)=\sin(x)} のような方程式である。 また、偏微分方程式は、 ( x ∂ ∂ y − y ∂ ∂ x ) f ( x , y ) = 0 {\displaystyle \left(x{\frac {\partial }{\partial y}}-y{\frac {\partial }{\partial x}}\right)f(x,y)=0} や、 ( ∂ 2 ∂ x 2 + ∂ 2 ∂ y 2 ) f ( x , y ) = α x + β y {\displaystyle \left({\frac {\partial ^{2}}{\partial x^{2}}}+{\frac {\partial ^{2}}{\partial y^{2}}}\right)f(x,y)=\alpha x+\beta y} のような格好をした方程式である。 未知関数とその導関数の関係式が、未知関数や導関数を変数と見たときに解析関数を係数とする多項式である場合、代数的微分方程式と呼ばれる。 方程式が未知関数の一次式として書けるような方程式を線形微分方程式と呼ぶ。また、線型でない微分方程式は非線形微分方程式と呼ばれる。 例えば、g(x) を f(x) を含まない既知の関数とすれば、 ( d d x + α ) f ( x ) = g ( x ) {\displaystyle \left({\frac {\mathrm {d} }{\mathrm {d} x}}+\alpha \right)f(x)=g(x)} は線型微分方程式であり、 ( d d x f ( x ) d d x ) f ( x ) = g ( x ) {\displaystyle \left({\frac {\mathrm {d} }{\mathrm {d} x}}f(x){\frac {\mathrm {d} }{\mathrm {d} x}}\right)f(x)=g(x)} は非線型微分方程式である。線型と呼ばれる理由は後述する線型斉次な方程式について、解の線型結合がその方程式の一般解をなすためである。 未知関数が 1 つの場合、高階の線型微分方程式を一階線型微分方程式の形に書き直すことができる。 たとえば、{gk} を既知関数の組として、以下の線型微分方程式が与えられたとき、 ( ∑ k = 0 n g k + 1 ( x ) d k d x k ) f ( x ) = g 0 ( x ) , g n + 1 ( x ) = 1 {\displaystyle \left(\sum _{k=0}^{n}g_{k+1}(x){\frac {\mathrm {d} ^{k}}{{\mathrm {d} x}^{k}}}\right)f(x)=g_{0}(x),\quad g_{n+1}(x)=1} 未知関数 f(x) のk 階の導関数を yk(x) として (k = 0,..., n − 1)、以下の一組の微分方程式を得る。 { d d x y k − 1 ( x ) = y k ( x ) , k = 1 , … , n − 1 d d x y n − 1 ( x ) = g 0 ( x ) − ∑ k = 0 n − 1 g k + 1 ( x ) y k ( x ) {\displaystyle {\begin{cases}\displaystyle {\frac {\mathrm {d} }{\mathrm {d} x}}y_{k-1}(x)=y_{k}(x),\quad k=1,\dots ,n-1\\\displaystyle {\frac {\mathrm {d} }{\mathrm {d} x}}y_{n-1}(x)=g_{0}(x)-\sum _{k=0}^{n-1}g_{k+1}(x)y_{k}(x)\end{cases}}} この微分方程式は、より一般的に、ベクトルと行列の記法を用いて d d x y ( x ) = A ( x ) y ( x ) + b ( x ) {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} x}}\mathbf {y} (x)=A(x)\mathbf {y} (x)+\mathbf {b} (x)} と書くことができる。ここで y は未知関数 y0,..., yn−1 を成分に持つベクトル、A は既知関数 {aij}i,j=0,...,n−1 を成分に持つ n × n の行列、b は既知関数 b0,..., bn−1 を成分に持つベクトルである。 すべての項が未知関数を含むか 0 であるような線型微分方程式を線型斉次微分方程式と呼び、斉次でない線形微分方程式は線型非斉次微分方程式と呼ばれる。同じ意味の言葉として斉次方程式をしばしば同次方程式と呼ぶことがある。 例えば、 d d x f ( x ) + f ( x ) = 0 {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} x}}\!f(x)+f(x)=0} は斉次な方程式であり、右辺に α を加えた、 d d x f ( x ) + f ( x ) = α {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} x}}\!f(x)+f(x)=\alpha } は非斉次な方程式である。 より一般の線形常微分方程式について、 ( ∑ k = 0 n g k + 1 ( x ) d k d x k ) f ( x ) = g 0 ( x ) , g n + 1 ( x ) = 1 {\displaystyle \left(\sum _{k=0}^{n}g_{k+1}(x){\frac {\mathrm {d} ^{k}}{{\mathrm {d} x}^{k}}}\right)f(x)=g_{0}(x),\quad g_{n+1}(x)=1} 右辺の関数 g0(x) がゼロならこの方程式は斉次である。 斉次方程式の特徴として、方程式の解 s(x) が得られたとき、その定数倍 cs(x) も方程式の解となる。また、斉次方程式の解の線形結合もその斉次方程式の解になる。 また、非斉次な方程式の解 sin(x) が得られたとき、元の方程式を斉次な形にしたときの解 shom(x) を用いて、非斉次方程式の新たな解 sin(x) + shom(x) を作ることができる。実際、 ( ∑ k = 0 n g k + 1 ( x ) d k d x k ) ( s i n ( x ) + s h o m ( x ) ) = g 0 ( x ) {\displaystyle \left(\sum _{k=0}^{n}g_{k+1}(x){\frac {\mathrm {d} ^{k}}{\mathrm {d} x^{k}}}\right)\left(s_{\mathrm {in} }(x)+s_{\mathrm {hom} }(x)\right)=g_{0}(x)} としたとき、sin(x), shom(x) はそれぞれ ( ∑ k = 0 n g k + 1 ( x ) d k d x k ) s h o m ( x ) = 0 ( ∑ k = 0 n g k + 1 ( x ) d k d x k ) s i n ( x ) = g 0 ( x ) {\displaystyle {\begin{aligned}\left(\sum _{k=0}^{n}g_{k+1}(x){\frac {\mathrm {d} ^{k}}{{\mathrm {d} x}^{k}}}\right)s_{\mathrm {hom} }(x)&=0\\\left(\sum _{k=0}^{n}g_{k+1}(x){\frac {\mathrm {d} ^{k}}{{\mathrm {d} x}^{k}}}\right)s_{\mathrm {in} }(x)&=g_{0}(x)\end{aligned}}} を満たすので、sin(x) + shom(x) は元の方程式の解になっている。 方程式に含まれる既知関数が確率変数によって記述されるような微分方程式を確率微分方程式と呼ぶ。確率常微分方程式や確率偏微分方程式はしばしば英語の頭文字を取って“SODE”, “SPDE”と略記される。代表的な例は物理学におけるランジュバン方程式や金融工学におけるブラック-ショールズ方程式がある。確率微分方程式の既知関数は、自身の期待値や相関関数によって特徴付けられる。 微分方程式に限らず一般の方程式は必ずしも厳密解が得られるとは限らない。従って多く場合は摂動などの手法を用いて近似的な評価を与えるか、ルンゲ＝クッタ法やSOR法、有限要素法のような数値解法によって具体的な解を得ることになる。しかしながらいくつかの基本的な微分方程式については、厳密解が得られたり、形式的に解を書き表せる。 微分方程式の具体的な解法としては代表的なものに、斉次方程式の解を利用して解く定数変化法、グリーン関数を用いた解法、差分方程式を用いた解法、ラプラス変換や逆ラプラス変換を用いた解法などが知られている。 一階の線型斉次常微分方程式の中で最も基本的な方程式として次のものがある。 d y ( x ) d x = y ( x ) . {\displaystyle {\frac {\mathrm {d} y(x)}{\mathrm {d} x}}=y(x).} 一般の線形微分方程式を解く際も、まずこの種の斉次微分方程式に帰着させるため、この方程式は微分方程式の解法を調べる上で基本的な役割を果たす。 この方程式の解はよく知られているように指数関数となる。 y ( x ) = C e x . {\displaystyle y(x)=C\mathrm {e} ^{x}.} ここで C は任意定数である。解法は脚注にて紹介する。 指数関数の有用な性質として、微分作用素を別の定数や関数に置き換えられることが挙げられる。係数が定数の斉次方程式 ( ∑ k = 0 n c k + 1 d k d x k ) f ( x ) = 0 , c n + 1 = 1 {\displaystyle \left(\sum _{k=0}^{n}c_{k+1}{\frac {\mathrm {d} ^{k}}{{\mathrm {d} x}^{k}}}\right)f(x)=0,\quad c_{n+1}=1} の解として指数関数で書けるものを探すと、f(x) = Cexp(λx) と置き換えて、 ∑ k = 0 n c k + 1 λ k = 0 {\displaystyle \sum _{k=0}^{n}c_{k+1}\lambda ^{k}=0} と書くことができる。これは λ に対する n 次の代数方程式になっている。 重根がなければ方程式の解が n 個求まることになり、斉次方程式の一般解はそれらの線型結合として表される。 この形の方程式の一般解を求める方法としては定数変化法がある。 一つの未知関数に対する、一般の一階線型常微分方程式は、既知関数を P(x)、Q(x) として、次のように書かれる。 d y ( x ) d x + P ( x ) y ( x ) = Q ( x ) . {\displaystyle {\frac {\mathrm {d} y(x)}{\mathrm {d} x}}+P(x)y(x)=Q(x).} この一階線型常微分方程式は、一般解が求積法で解ける。 まず、斉次方程式 d y ( x ) d x + P ( x ) y ( x ) = 0 {\displaystyle {\frac {\mathrm {d} y(x)}{\mathrm {d} x}}+P(x)y(x)=0} の一般解は、積分定数を A ≠ 0 として、 y ( x ) = A exp ⁡ ( − ∫ P ( x ′ ) d x ′ ) {\displaystyle y(x)=A\exp \left(-\int P(x')\,\mathrm {d} x'\right)} となる。一階線型常微分方程式の一般解は、斉次方程式の解を利用し A を x の関数とみなす定数変化法によって求められる。 y ( x ) = { ∫ Q ( x ′ ) exp ⁡ ( ∫ P ( x ″ ) d x ″ ) d x ′ + C } exp ⁡ ( − ∫ P ( x ′ ) d x ′ ) . {\displaystyle y(x)=\left\{\int Q(x')\exp \left(\int P(x'')\,\mathrm {d} x''\right)\mathrm {d} x'+C\right\}\exp \left(-\int P(x')\,\mathrm {d} x'\right).} ここで C ≠ 0 は積分定数である。 二階線型常微分方程式の一般形は、既知関数を P(x), Q(x), R(x) として、次のように書かれる。 d 2 y ( x ) d x 2 + P ( x ) d y ( x ) d x + Q ( x ) y = R ( x ) . {\displaystyle {\frac {\mathrm {d} ^{2}y(x)}{\mathrm {d} x^{2}}}+P(x){\frac {\mathrm {d} y(x)}{\mathrm {d} x}}+Q(x)y=R(x).} この二階線型常微分方程式は、このままの形では求積法を用いて一般解を表示することはできない。 もし、右辺を 0 とした斉次方程式の特殊解として、y = y1 が存在すれば、 d 2 y 1 ( x ) d x 2 + P ( x ) d y 1 ( x ) d x + Q ( x ) y 1 ( x ) = 0 {\displaystyle {\frac {\mathrm {d} ^{2}y_{1}(x)}{\mathrm {d} x^{2}}}+P(x){\frac {\mathrm {d} y_{1}(x)}{\mathrm {d} x}}+Q(x)y_{1}(x)=0} が成り立つので、z なる未知関数を導入して、 y ( x ) = y 1 ( x ) z ( x ) {\displaystyle y(x)=y_{1}(x)z(x)} とすれば、二階線型常微分方程式が、z に関する常微分方程式、 y 1 d 2 z ( x ) d x 2 + ( 2 y 1 ′ ( x ) + P ( x ) y 1 ( x ) ) d z ( x ) d x = R ( x ) , y 1 ′ ( x ) = d y 1 ( x ) d x , {\displaystyle {\begin{aligned}&y_{1}{\frac {\mathrm {d} ^{2}z(x)}{\mathrm {d} x^{2}}}+{\Bigl (}2y'_{1}(x)+P(x)y_{1}(x){\Bigr )}{\frac {\mathrm {d} z(x)}{\mathrm {d} x}}=R(x),\\&y'_{1}(x)={\frac {\mathrm {d} y_{1}(x)}{\mathrm {d} x}},\end{aligned}}} に変換される。この常微分方程式は、導関数 dz/dx に関して一階線型常微分方程式なので、求積法で解ける。その一般解を z = ψ ( C 1 , C 2 , x )     {\displaystyle z=\psi (C_{1},C_{2},x)~~} とすると、二階線型常微分方程式の一般解は、 y = y 1 ψ ( C 1 , C 2 , x )     {\displaystyle y=y_{1}\psi (C_{1},C_{2},x)~~} で与えられる。なお、C1, C2 は積分定数である。 x の既知関数を含む二階線型常微分方程式で、求積法で解ける微分方程式は少ないが、 次の微分方程式などが知られている。