KdV方程式の続きです。
KdV方程式の初期条件をポテンシャルとする定常Schrödinger方程式を解くと、KdV方程式の厳密解が求められることが知られています。
初期条件に以下を仮定します。
n=4について、規格化された定常解の関数を定義しておきましょう。1つだけ波形も見ておきましょう。
/* 6.2.19m */ n : 4$ f(x, m) := assoc_legendre_p(n, m, tanh(x))$ norm(m) := sqrt(integrate(f(x, m)^2, x, -inf, inf))$ Psi(x, m) := f(x, m) / norm(m)$ plot2d(Psi(x, 1), [x, -7.5, 7.5])$
使用した機能
規格化係数を求めておきましょう。
/* 6.2.20m */ for j : 1 thru n do ( c[j] : limit(trigexpand(Psi(x, j)*%e^(j*x)), x, inf), print(c[j]))$
使用した機能
厳密解を求めるために、行列を定義します。
n=4の時の厳密解を計算しましょう。
/* 6.2.21m, 6.2.22m */ a : ident(n) + genmatrix(e, n, n), e[i, j] := c[i]^2/(i + j)*exp(8*i^3*t - (i + j)* x)$ d : determinant(a), expand; u : -2*diff(diff(d, x)/d, x);
使用した機能
では、計算した厳密解をプロットしてみましょう。
for t : -0.15 step 0.05 thru 0.15 do plot2d(-u, [x, -10, 10], [y, 0, 2*(n^2+n)])$
...
参考文献
- Crandall, Mathematica―理工系ツールとしての (アジソン ウェスレイ・トッパン情報科学シリーズ) p.164-p.171