logo

変分方程式 📂動力学

変分方程式

定義 1 2

空間 X=RnX = \mathbb{R}^{n}関数 f:XXf : X \to X に対して、次のような ベクトル場微分方程式 で与えられているとする。 x˙=f(x) \dot{x} = f(x) ffヤコビアン行列 JJ に対して、以下を 変分方程式variational equation と呼ぶ。 Y˙=JY \dot{Y} = J Y ここで 行列関数 Y=Y(t)Rn×nY = Y(t) \in \mathbb{R}^{n \times n} の初期条件は 単位行列 Y(0)=IY(0) = I とする。

説明

ヤコビアン行列 JJ は元のシステムの トラジェクトリー x(t)x(t) に従って変わり続ける行列関数 J=J(t)=J(x(t))J = J(t) = J \left( x(t) \right) であるため、変分方程式は見かけほど単純な 線形微分方程式 ではない。

幾何学的には、 YY は元のシステムの x(0)x(0) から少し動いた x(t)x(t) に変わる間に、その 接ベクトル 自体がどのように作用するのかを示していると考えることができる。

リアプノフスペクトル

連続的なシステムで リアプノフスペクトル を計算する際、変分方程式を解くことは、Y(t)Y(t) を繰り返し計算して幾何学的に オープンボール がどのように変形されるのかを見て、その軸の長さを測ることを意味する。これに対応する RK4 は次のように線形システム Y˙=JY\dot{Y} = J Y線形変換 TJT_{J} に対して U˙=TJ(U)=JU \dot{U} = T_{J} (U) = J U として捉え、解くメソッドとなる。従って、十分に短いタイムステップ hh が与えられたとき U(t)U(t) に対して U(t+h)U(t + h) を求めるという次のような計算を行うことと同じである。 U(t+h)RK4(J,U,h)=h6(V1+2V2+2V3+V4)V1=JUV2=J(U+h2V1)V3=J(U+h2V2)V4=J(U+hV3) \begin{align*} U(t + h) \approx RK4(J, U, h) =& {\frac{ h }{ 6 }} \left( V_{1} + 2 V_{2} + 2 V_{3} + V_{4} \right) \\ V_{1} =& J U \\ V_{2} =& J \left( U + {\frac{ h }{ 2 }} V_{1} \right) \\ V_{3} =& J \left( U + {\frac{ h }{ 2 }} V_{2} \right) \\ V_{4} =& J \left( U + h V_{3} \right) \end{align*} 以下はこのように行列について述べられたメソッドを実装した ジュリア コードである。

function RK4(J::AbstractMatrix, U::AbstractMatrix, dt=1e-2)
    V1 = J*U
    V2 = J*(U + (dt/2)*V1)
    V3 = J*(U + (dt/2)*V2)
    V4 = J*(U + dt*V3)
    return U + (dt/6)*(V1 + 2V2 + 2V3 + V4)
end

  1. Yorke. (1996). CHAOS: An Introduction to Dynamical Systems: p382. ↩︎

  2. Karlheinz Geist, Ulrich Parlitz, Werner Lauterborn, Comparison of Different Methods for Computing Lyapunov Exponents, Progress of Theoretical Physics, Volume 83, Issue 5, May 1990, Pages 875–893, https://doi.org/10.1143/PTP.83.875 ↩︎