Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

演習で使う数学的ツール

この演習で必要となる数学的なツールを整理します.

変数分離で微分方程式を解く

変数分離法は,常微分方程式の最も基本的な解法の一つです.

dNdt=f(N)g(t)\frac{dN}{dt} = f(N) \cdot g(t)

の形に書ける微分方程式に対して,NN を含む項と tt を含む項をそれぞれ左辺・右辺に分離し,両辺を積分します.

例:指数増殖モデル

dNdt=rN\frac{dN}{dt} = rN

変数分離すると,

1NdN=rdt\frac{1}{N} dN = r \, dt

両辺を積分して,

1NdN=rdt\int \frac{1}{N} dN = \int r \, dt
lnN=rt+C\ln N = rt + C
N(t)=N0ertN(t) = N_0 e^{rt}

ここで N0=eCN_0 = e^C は初期条件 N(0)=N0N(0) = N_0 から決まります.

例:ロジスティック成長モデル

dNdt=rN(1NK)\frac{dN}{dt} = rN\left(1 - \frac{N}{K}\right)

変数分離すると,

1N(1N/K)dN=rdt\frac{1}{N(1 - N/K)} dN = r \, dt

左辺を部分分数分解して積分すると,解析解

N(t)=K1+(KN0N0)ertN(t) = \frac{K}{1 + \left(\frac{K - N_0}{N_0}\right) e^{-rt}}

が得られます.

ヤコビ行列 Jacobian matrix

多変数の連立微分方程式系

dx1dt=f1(x1,x2,,xn),dx2dt=f2(x1,x2,,xn),\frac{dx_1}{dt} = f_1(x_1, x_2, \ldots, x_n), \quad \frac{dx_2}{dt} = f_2(x_1, x_2, \ldots, x_n), \quad \ldots

に対して,ヤコビ行列は各関数の各変数に関する偏微分を並べた行列です:

J=(f1x1f1x2f2x1f2x2)J = \begin{pmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \cdots \\ \vdots & \vdots & \ddots \end{pmatrix}

例:ロトカ-ヴォルテラ捕食-被食モデル

dNdt=aNbNP,dPdt=cNPdP\frac{dN}{dt} = aN - bNP, \quad \frac{dP}{dt} = cNP - dP

ヤコビ行列は,

J=(abPbNcPcNd)J = \begin{pmatrix} a - bP & -bN \\ cP & cN - d \end{pmatrix}

平衡点 (N,P)(N^*, P^*) でこのヤコビ行列を評価し,その固有値から平衡点の安定性を判定します.

固有値・固有ベクトル

正方行列 AA に対して,

Av=λvA \mathbf{v} = \lambda \mathbf{v}

を満たすスカラー λ\lambda固有値,ベクトル v\mathbf{v}固有ベクトルと呼びます.

固有値は特性方程式

det(AλI)=0\det(A - \lambda I) = 0

を解くことで求められます.

安定性解析への応用

平衡点におけるヤコビ行列の固有値 λ1,λ2,\lambda_1, \lambda_2, \ldots から,平衡点の安定性がわかります:

例:2×2行列

A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}

特性方程式は (1λ)(4λ)6=0(1-\lambda)(4-\lambda) - 6 = 0,すなわち λ25λ2=0\lambda^2 - 5\lambda - 2 = 0 です.

NumPyでは np.linalg.eigvals(A) で計算できます(P2-01で扱います).