← 戻る ライブラリ › 微分方程式と力学系 › 常微分方程式 微分方程式と力学系
微分方程系 連立方程式 x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x を固有値で解き、平衡点の安定性を明らかにする。
直観 直感:互いに引っ張り合う二つの変量 単一の微分方程式は一つの変化する量を追跡する。しかしウサギとキツネ、回路の電圧と電流、あるいは振り子の二つの座標は一緒に 変化する——それぞれの変化率がもう一方の値に依存する。未知数をベクトル x = ( x , y ) \mathbf{x}=(x,y) x = ( x , y ) として、結合を行列 A A A として書けば、そのような線形系はすべて簡潔な形 x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x になる。行列 A A A は小さな有向グラフとして描ける:変数ごとに一つのノード、結合係数ごとに一つの重み付きエッジである。
連立微分方程式系の相平面軌道(ロトカ・ヴォルテラ捕食者-被食者サイクルと渦巻・中心軌道)。 中高 正確な記述:線形系と固有値 定義: 斉次線形系
定数 n × n n\times n n × n 行列 A A A と未知ベクトル値関数 x ( t ) \mathbf{x}(t) x ( t ) を持つ1階線形系 x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x は、すべての項が x \mathbf{x} x の成分について線形であるため斉次 と呼ばれる。n = 2 n=2 n = 2 の場合、結合したスカラー方程式 x ′ = a 11 x + a 12 y x'=a_{11}x+a_{12}y x ′ = a 11 x + a 12 y 、y ′ = a 21 x + a 22 y y'=a_{21}x+a_{22}y y ′ = a 21 x + a 22 y を一つのベクトル方程式にまとめたものである。
x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x 単一の方程式の場合と同様に、定数ベクトル v ≠ 0 \mathbf{v}\neq \mathbf{0} v = 0 とスカラー λ \lambda λ に対して試行解 x = e λ t v \mathbf{x}=e^{\lambda t}\mathbf{v} x = e λ t v を用いる。代入すると λ e λ t v = A e λ t v \lambda e^{\lambda t}\mathbf{v}=Ae^{\lambda t}\mathbf{v} λ e λ t v = A e λ t v 、すなわちA v = λ v A\mathbf{v}=\lambda\mathbf{v} A v = λ v となる:v \mathbf{v} v は A A A の固有ベクトル でなければならず、その固有値 が λ \lambda λ である。固有値は特性多項式の根である:
det ( A − λ I ) = 0 \det(A-\lambda I)=0 det ( A − λ I ) = 0 A A A の固有値によって分類される平面平衡点の4つの定性的な型固有値 相図 安定性 λ 1 , λ 2 \lambda_1,\lambda_2 λ 1 , λ 2 実数、同符号節点 両方が負なら安定、両方が正なら不安定 λ 1 , λ 2 \lambda_1,\lambda_2 λ 1 , λ 2 実数、異符号鞍点 常に不安定 複素数、実部が0でない 渦状点 実部が負なら安定、正なら不安定 純虚数 中心 中立安定(閉軌道)
大学 大学レベル:定理と証明 A A A が二つの異なる実固有値 λ 1 ≠ λ 2 \lambda_1\neq\lambda_2 λ 1 = λ 2 を持ち、固有ベクトルが v 1 , v 2 \mathbf{v}_1,\mathbf{v}_2 v 1 , v 2 であるとき、v 1 , v 2 \mathbf{v}_1,\mathbf{v}_2 v 1 , v 2 は線形独立であり、x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x の一般解は x ( t ) = c 1 e λ 1 t v 1 + c 2 e λ 2 t v 2 \mathbf{x}(t)=c_1e^{\lambda_1t}\mathbf{v}_1+c_2e^{\lambda_2t}\mathbf{v}_2 x ( t ) = c 1 e λ 1 t v 1 + c 2 e λ 2 t v 2 である。
なぜ正しいのか? 固有ベクトルは結合系を固有方向に沿った二つの非結合スカラー方程式に変える:各 e λ i t v i e^{\lambda_i t}\mathbf{v}_i e λ i t v i は v i \mathbf{v}_i v i が張る直線に沿ってのみ動き、速度 λ i \lambda_i λ i で増大または縮小するので、全体の運動は二つの独立な直線運動の混合となる。
証明 まず e λ i t v i e^{\lambda_i t}\mathbf{v}_i e λ i t v i が系を満たすことを確認する:その導関数は λ i e λ i t v i \lambda_i e^{\lambda_i t}\mathbf{v}_i λ i e λ i t v i であり、A v = λ v A\mathbf{v}=\lambda\mathbf{v} A v = λ v より A ( e λ i t v i ) = e λ i t A v i = e λ i t λ i v i A(e^{\lambda_i t}\mathbf{v}_i)=e^{\lambda_i t}A\mathbf{v}_i=e^{\lambda_i t}\lambda_i\mathbf{v}_i A ( e λ i t v i ) = e λ i t A v i = e λ i t λ i v i である。両辺が一致するので、i = 1 , 2 i=1,2 i = 1 , 2 に対して確かに解である。
v 1 , v 2 \mathbf{v}_1,\mathbf{v}_2 v 1 , v 2 の線形独立性:c 1 v 1 + c 2 v 2 = 0 c_1\mathbf{v}_1+c_2\mathbf{v}_2=\mathbf{0} c 1 v 1 + c 2 v 2 = 0 と仮定する。A A A を適用すると c 1 λ 1 v 1 + c 2 λ 2 v 2 = 0 c_1\lambda_1\mathbf{v}_1+c_2\lambda_2\mathbf{v}_2=\mathbf{0} c 1 λ 1 v 1 + c 2 λ 2 v 2 = 0 となる。最初の関係式に λ 2 \lambda_2 λ 2 を掛けて引くと c 1 ( λ 1 − λ 2 ) v 1 = 0 c_1(\lambda_1-\lambda_2)\mathbf{v}_1=\mathbf{0} c 1 ( λ 1 − λ 2 ) v 1 = 0 となり、λ 1 ≠ λ 2 \lambda_1\neq\lambda_2 λ 1 = λ 2 かつ v 1 ≠ 0 \mathbf{v}_1\neq\mathbf{0} v 1 = 0 より c 1 = 0 c_1=0 c 1 = 0 、続いて c 2 = 0 c_2=0 c 2 = 0 も得られる。よって v 1 , v 2 \mathbf{v}_1,\mathbf{v}_2 v 1 , v 2 は独立である。
系の線形性により(スカラーの場合とまったく同様に)、任意の組み合わせ c 1 e λ 1 t v 1 + c 2 e λ 2 t v 2 c_1e^{\lambda_1t}\mathbf{v}_1+c_2e^{\lambda_2t}\mathbf{v}_2 c 1 e λ 1 t v 1 + c 2 e λ 2 t v 2 は系を満たす。v 1 , v 2 \mathbf{v}_1,\mathbf{v}_2 v 1 , v 2 は独立なので、任意の初期条件 x ( 0 ) = x 0 \mathbf{x}(0)=\mathbf{x}_0 x ( 0 ) = x 0 に合わせることは ( c 1 , c 2 ) (c_1,c_2) ( c 1 , c 2 ) について c 1 v 1 + c 2 v 2 = x 0 c_1\mathbf{v}_1+c_2\mathbf{v}_2=\mathbf{x}_0 c 1 v 1 + c 2 v 2 = x 0 を解くことに相当し、{ v 1 , v 2 } \{\mathbf{v}_1,\mathbf{v}_2\} { v 1 , v 2 } が平面の基底であるため一意な解を持つ。よってすべての解が捉えられ、一般解 x ( t ) = c 1 e λ 1 t v 1 + c 2 e λ 2 t v 2 \mathbf{x}(t)=c_1e^{\lambda_1t}\mathbf{v}_1+c_2e^{\lambda_2t}\mathbf{v}_2 x ( t ) = c 1 e λ 1 t v 1 + c 2 e λ 2 t v 2 が得られる。
特性方程式 λ 2 − ( tr A ) λ + det A = 0 \lambda^2-(\text{tr}\,A)\lambda+\det A=0 λ 2 − ( tr A ) λ + det A = 0 を持つ 2 × 2 2\times 2 2 × 2 系 x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x について、原点が漸近安定(すべての解が t → ∞ t\to\infty t → ∞ で 0 \mathbf{0} 0 に近づく)であるための必要十分条件は tr A < 0 \text{tr}\,A<0 tr A < 0 かつ det A > 0 \det A>0 det A > 0 である;det A < 0 \det A<0 det A < 0 (鞍点)または tr A > 0 \text{tr}\,A>0 tr A > 0 ならば不安定である。
なぜ正しいのか? A A A の跡と行列式はそれぞれ固有値の和と積である——したがってこの定理は、2次方程式の根に関する主張(両方とも実部が負)を、固有値を明示的に解くことなく、二つの簡単に計算できる数に関する主張に変換する。
証明 特性多項式の定義により、λ 2 − ( tr A ) λ + det A = 0 \lambda^2-(\text{tr}\,A)\lambda+\det A=0 λ 2 − ( tr A ) λ + det A = 0 の根は λ 1 , 2 = tr A ± ( tr A ) 2 − 4 det A 2 \lambda_{1,2}=\dfrac{\text{tr}\,A\pm\sqrt{(\text{tr}\,A)^2-4\det A}}{2} λ 1 , 2 = 2 tr A ± ( tr A ) 2 − 4 det A であり、ヴィエトの公式により λ 1 + λ 2 = tr A \lambda_1+\lambda_2=\text{tr}\,A λ 1 + λ 2 = tr A 、λ 1 λ 2 = det A \lambda_1\lambda_2=\det A λ 1 λ 2 = det A である。
det A < 0 \det A<0 det A < 0 ならば λ 1 λ 2 < 0 \lambda_1\lambda_2<0 λ 1 λ 2 < 0 となり、固有値は実数で異符号(鞍点)である;正の固有値の方向に沿って解は無限に増大するので、原点は不安定である。
det A > 0 \det A>0 det A > 0 かつ tr A < 0 \text{tr}\,A<0 tr A < 0 の場合:固有値が実数のとき λ 1 λ 2 > 0 \lambda_1\lambda_2>0 λ 1 λ 2 > 0 は同符号を意味し、λ 1 + λ 2 < 0 \lambda_1+\lambda_2<0 λ 1 + λ 2 < 0 によりその符号は負であるため、e λ 1 t → 0 e^{\lambda_1t}\to 0 e λ 1 t → 0 と e λ 2 t → 0 e^{\lambda_2t}\to 0 e λ 2 t → 0 の両方が成り立つ;固有値が共役複素数 α ± i β \alpha\pm i\beta α ± i β のとき、tr A = 2 α < 0 \text{tr}\,A=2\alpha<0 tr A = 2 α < 0 より α < 0 \alpha<0 α < 0 となり、振幅係数 e α t → 0 e^{\alpha t}\to 0 e α t → 0 である一方 cos ( β t ) , sin ( β t ) \cos(\beta t),\sin(\beta t) cos ( β t ) , sin ( β t ) は有界のままである。すべての部分ケースで、すべての解が 0 \mathbf{0} 0 に減衰する:漸近安定である。
逆に tr A > 0 \text{tr}\,A>0 tr A > 0 (det A > 0 \det A>0 det A > 0 の場合、実固有値は跡と同符号、または正の実部を持つ複素数)ならば、少なくとも一つの指数因子が増大するため、原点の近くだが原点自体ではない点から出発する解は離れていく:不安定である。これによりすべての符号の組み合わせが網羅され、同値性が証明される。
大学 実世界での応用と具体例 捕食者とその獲物についての古典的な生態学モデル——Lotka–Volterra方程式 { x ′ = α x − β x y y ′ = δ x y − γ y \begin{cases}x'=\alpha x-\beta xy\\ y'=\delta xy-\gamma y\end{cases} { x ′ = α x − β x y y ′ = δ x y − γ y (獲物 x x x 、捕食者 y y y 、正の速度 α , β , γ , δ \alpha,\beta,\gamma,\delta α , β , γ , δ )は非線形だが、その平衡点の近く ではここで学んだ線形系とほぼ同じように振る舞う:共存平衡点の周りで線形化(非線形項を最良の線形近似で置き換える)すると、固有値が純虚数である行列が得られ、実際の捕食者-被食者の個体数データで観察される、閉じた周期的な増減軌道を予測する。
例: 平衡点の分類:安定な節点
x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x 、A = ( 3 0 0 1 ) A=\begin{pmatrix}3&0\\0&1\end{pmatrix} A = ( 3 0 0 1 ) の原点における平衡点を分類し、一般解を求めよ。
解答 A A A は対角行列なので、固有値は直接読み取れる:λ 1 = 3 \lambda_1=3 λ 1 = 3 、λ 2 = 1 \lambda_2=1 λ 2 = 1 、対応する固有ベクトルはそれぞれ v 1 = ( 1 , 0 ) \mathbf{v}_1=(1,0) v 1 = ( 1 , 0 ) と v 2 = ( 0 , 1 ) \mathbf{v}_2=(0,1) v 2 = ( 0 , 1 ) (座標軸そのもの)である。
両方の固有値が実数かつ正——同符号——なので、分類表により節点 である;tr A = 4 > 0 \text{tr}\,A=4>0 tr A = 4 > 0 なので不安定である(軌道は原点から離れていき、λ 1 = 3 > λ 2 = 1 \lambda_1=3>\lambda_2=1 λ 1 = 3 > λ 2 = 1 なので x x x 軸に沿ってより速く動く)。
固有値の定理により、一般解は x ( t ) = c 1 e 3 t ( 1 , 0 ) + c 2 e t ( 0 , 1 ) \mathbf{x}(t)=c_1e^{3t}(1,0)+c_2e^{t}(0,1) x ( t ) = c 1 e 3 t ( 1 , 0 ) + c 2 e t ( 0 , 1 ) 、すなわち x ( t ) = c 1 e 3 t x(t)=c_1e^{3t} x ( t ) = c 1 e 3 t 、y ( t ) = c 2 e t y(t)=c_2e^{t} y ( t ) = c 2 e t である。
例: 平衡点の分類:鞍点
x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x 、A = ( 1 0 0 − 2 ) A=\begin{pmatrix}1&0\\0&-2\end{pmatrix} A = ( 1 0 0 − 2 ) の原点における平衡点を分類せよ。
解答 A A A は対角行列なので、λ 1 = 1 \lambda_1=1 λ 1 = 1 、λ 2 = − 2 \lambda_2=-2 λ 2 = − 2 、固有ベクトルは v 1 = ( 1 , 0 ) \mathbf{v}_1=(1,0) v 1 = ( 1 , 0 ) 、v 2 = ( 0 , 1 ) \mathbf{v}_2=(0,1) v 2 = ( 0 , 1 ) ;同様に det A = 1 ⋅ ( − 2 ) = − 2 < 0 \det A=1\cdot(-2)=-2<0 det A = 1 ⋅ ( − 2 ) = − 2 < 0 となり、跡・行列式判定法から直接異符号であることが確認できる。
一方の固有値が正でもう一方が負なので、軌道は y y y 軸に沿って原点に引き寄せられる(λ 2 = − 2 < 0 \lambda_2=-2<0 λ 2 = − 2 < 0 のため)が、x x x 軸に沿っては反発される(λ 1 = 1 > 0 \lambda_1=1>0 λ 1 = 1 > 0 のため)——これは鞍点 であり、ほとんどすべての軌道が最終的に不安定方向に沿って逃げ出すため常に不安定である。
一般解は x ( t ) = c 1 e t ( 1 , 0 ) + c 2 e − 2 t ( 0 , 1 ) \mathbf{x}(t)=c_1e^{t}(1,0)+c_2e^{-2t}(0,1) x ( t ) = c 1 e t ( 1 , 0 ) + c 2 e − 2 t ( 0 , 1 ) である;y y y 軸上ちょうどから出発する軌道(c 1 = 0 c_1=0 c 1 = 0 )だけが原点に近づき、それ以外のすべての軌道は最終的に増大する e t e^{t} e t 項に支配される。
よくある誤り. det A \det A det A だけを使って平衡点を分類してそこで止めたくなるが、det A \det A det A の符号だけでは渦状点と節点や中心を区別できない:A = ( − 1 2 − 2 − 1 ) A=\begin{pmatrix}-1&2\\-2&-1\end{pmatrix} A = ( − 1 − 2 2 − 1 ) では det A = ( − 1 ) ( − 1 ) − ( 2 ) ( − 2 ) = 1 + 4 = 5 > 0 \det A=(-1)(-1)-(2)(-2)=1+4=5>0 det A = ( − 1 ) ( − 1 ) − ( 2 ) ( − 2 ) = 1 + 4 = 5 > 0 、tr A = − 2 < 0 \text{tr}\,A=-2<0 tr A = − 2 < 0 で節点の符号パターンに一致するが、判別式 ( tr A ) 2 − 4 det A = 4 − 20 = − 16 < 0 (\text{tr}\,A)^2-4\det A=4-20=-16<0 ( tr A ) 2 − 4 det A = 4 − 20 = − 16 < 0 は固有値が複素数であることを意味する——これは節点ではなく安定な渦状点 である。表から相図の型を読み取る前に、必ず λ 2 − ( tr A ) λ + det A = 0 \lambda^2-(\text{tr}\,A)\lambda+\det A=0 λ 2 − ( tr A ) λ + det A = 0 の判別式を計算すること。歴史的ノート
20世紀の変わり目頃、アンリ・ポアンカレは方程式を明示的に解くことなく、平面平衡点をその全体的な幾何学的挙動(節点、鞍点、焦点、中心)によって分類する、微分方程式の定性的研究を創始した——固有値によって厳密化された同じ分類が上の表で使われている。捕食者-被食者系はアドリア海で観測された魚類個体数の振動を説明するため、アルフレッド・ロトカ(1925年)とヴィト・ヴォルテラ(1926年)によってそれぞれ独立に研究された。
アンリ・ポアンカレ
x ′ = A x \mathbf{x}'=A\mathbf{x} x ′ = A x 、A = ( 3 0 0 1 ) A=\begin{pmatrix}3&0\\0&1\end{pmatrix} A = ( 3 0 0 1 ) の一般解は何か。
x ( t ) = c 1 e 3 t ( 1 , 0 ) + c 2 e t ( 0 , 1 ) \mathbf{x}(t)=c_1e^{3t}(1,0)+c_2e^{t}(0,1) x ( t ) = c 1 e 3 t ( 1 , 0 ) + c 2 e t ( 0 , 1 ) x ( t ) = c 1 e t ( 1 , 0 ) + c 2 e 3 t ( 0 , 1 ) \mathbf{x}(t)=c_1e^{t}(1,0)+c_2e^{3t}(0,1) x ( t ) = c 1 e t ( 1 , 0 ) + c 2 e 3 t ( 0 , 1 ) x ( t ) = ( c 1 + c 2 t ) e 3 t ( 1 , 1 ) \mathbf{x}(t)=(c_1+c_2t)e^{3t}(1,1) x ( t ) = ( c 1 + c 2 t ) e 3 t ( 1 , 1 ) x ( t ) = e 2 t ( c 1 cos t + c 2 sin t ) ( 1 , 1 ) \mathbf{x}(t)=e^{2t}(c_1\cos t+c_2\sin t)(1,1) x ( t ) = e 2 t ( c 1 cos t + c 2 sin t ) ( 1 , 1 ) tr A = − 3 \text{tr}\,A=-3 tr A = − 3 、det A = 2 \det A=2 det A = 2 のとき、原点はどの型の平衡点か。
安定節点(Δ = 9 − 8 = 1 > 0 \Delta=9-8=1>0 Δ = 9 − 8 = 1 > 0 、両根とも実数で負) 鞍点 不安定な渦状点 中心 共存平衡点付近で線形化されたLotka–Volterra系 { x ′ = α x − β x y y ′ = δ x y − γ y \begin{cases}x'=\alpha x-\beta xy\\ y'=\delta xy-\gamma y\end{cases} { x ′ = α x − β x y y ′ = δ x y − γ y において、行列は純虚数の固有値を持つ。これは捕食者と被食者の個体数について何を予測するか。
両方の個体数が平衡点の周りで周期的に振動する(中心) 両方の個体数が無限に増大する 両方の個体数が絶滅に向けて減衰する 一方の個体数が優勢になりもう一方は絶滅する
tr A \text{tr}\,A tr A の値によらず原点が不安定であることを保証する A A A の条件はどれか。
det A < 0 \det A<0 det A < 0 det A > 0 \det A>0 det A > 0 det A = 0 \det A=0 det A = 0 tr A = 0 \text{tr}\,A=0 tr A = 0