ロジスティック方程式の離散化

Discrete logistic equation.

$x(0)$: $\delta$: Type: 1 2 3 Effect:

解説

ロジスティック方程式 \[ \frac{\mathrm{d}x}{\mathrm{d}t}=x(t)\big(1-x(t)\big) \] の離散化(差分化)を行います.あとで見るように,ロジスティック方程式は初期値 $x(0)$ が非零のときには $t \to +\infty$ で $x \to 1$ に収束します.$x_n=x(n\delta)$, $\delta > 0$,として,次の3通りの離散化を考えます.

さて,これらの差分方程式の振る舞いは元のロジスティック方程式と同じでしょうか? それとも……?

答え合わせ

Type 1 の前進差分への置き換えは Euler 法とも呼ばれ,常微分方程式の解の数値計算法としては最も単純なものとして知られています.これは確かに $\delta$ が小さいうちはうまくいきますが,実はカオス理論において有名なロジスティック写像と呼ばれるものと本質的に同じものであり,$\delta$ が大きくなると複雑な振る舞いを示すようになります.

ロジスティック写像は次で与えられます: \[ y_{n+1}=r y_n(1-y_n),\quad 0 \le r \le 4, \quad 0 \le y_0 \le 1. \] 今,特に $r > 1$ の場合を考え,変数変換 $y_n=\frac{r-1}{r}x_n$ を行いましょう.すると,$\delta=r-1$ と置けば Type 1 の差分方程式が得られることがわかります.

$r > 1$ のときのロジスティック写像について,以下の性質が知られています:

Type 2 の方程式は,確かに $\delta \to 0$ でロジスティック方程式に移行するはずですが,$\delta$ をかなり小さくとらないと周期的な振動現象が発生してしまいます.このプログラムで描画できる範囲では全くうまくいきません.

Type 3 の方程式は,実は次のようにして作られます.まず,元のロジスティック方程式の線型化を考えます.$x(t)=\frac{1}{1-z(t)}$ と変数変換すると,$z(t)$ に関する微分方程式 \[ \frac{\mathrm{d} z}{\mathrm{d} t}=-z(t) \] が得られます.この方程式は変数分離によりただちに解けて,$C$ を積分定数として $z(t)=C\mathrm{e}^{-t}$ となります.初期値 $x(0)$ の値で $C$ を定め,元の $x(t)$ に $z(t)$ を代入すれば,ロジスティック方程式の解 \[ x(t)=\frac{x(0)\mathrm{e}^{t}}{x(0)\mathrm{e}^{t}-x(0)+1} \] を得ます.この解より,$x(0) \ne 0$ ならば $t \to +\infty$ で $x(t) \to 1$ もわかります.

さて,この線型化された($z(t)$ で書かれた)方程式に注目しましょう.ここに現れた微分を後退差分で置き換えてみると, \begin{gather} \frac{z_{n+1}-z_n}{\delta}=-z_{n+1}\\ \Leftrightarrow\quad z_{n+1}=\frac{z_n}{1+\delta} \end{gather} という線型な差分方程式が得られます.この方程式の解はすぐにわかるように $z_n=\frac{z_0}{(1+\delta)^n}$ です.ここで,ロジスティック方程式の線型化の変数変換を参考に,変数変換 $x_n=\frac{1}{1-z_n}$ を行えば,Type 3 の方程式が得られます.その解は, \[ x_n=\frac{x_0(1+\delta)^n}{x_0(1+\delta)^n-x_0+1} \] であり,やはり初期値 $x_0 \ne 0$ のとき $n \to +\infty$ で $x \to 1$ となることがわかります.

まとめ

最後に,私の研究に関連する話を少しだけしておくと,可積分系,もしくはソリトン方程式と呼ばれるクラスの系についても,その構造を保つ「よい」離散化が可能なことが知られており,それらは離散可積分系と呼ばれています.可積分な離散化の指針も基本的に線型化可能な場合と同じで,広田良吾先生の仕事によれば「まず双線型化してから離散化せよ」となります.ただし,これは上記の議論と比べるとはるかにテクニカルになります.興味のある方は,参考文献に挙げた筧先生の講義資料を読んでみて下さい.

参考文献

ソースコード