読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

(23) 量子調和振動子の離散固有値

1次元の量子調和振動子を考えます。単位系をうまく選んだ定常状態のSchrödinger方程式は以下の通りです。

中心から遠いところの振る舞いを考慮すれば、と置き換えるのが妥当です。その結果、Schrödinger方程式は以下になります。

級数展開を使って、g(x)の偶函数固有値の持つ性質を考えます。

と規格化して(いつでもできる?)、係数が満たすべき関係を10次まで求めてみましょう。

/* 5.2.13m, 5.2.14m */
g : 1 + sum(a[i]*x^(2*i), i, 1, 5)$
coeff_equations(expand(-diff(g, x, 2) + 2*x*diff(g, x) + g) = expand(E*g), x);
solute : solve(%, [a[1], a[2], a[3], a[4], a[5]])$

使用した機能

因数分解してましょう。

/* 5.2.15m */
factor(solute);

これは、Eが1, 5, 9, 13, 17,...のいずれかの時、係数がある次数で0になり、g(x)が多項式になることを示しています。
奇関数についても同様の考察をすると、全体でEが1, 3, 5, 7,...と奇数の時に多項式になることがわかります。逆にEがそれ以外のとき、0でない係数が無限に存在して無限遠で0にならない束縛状態でない状態であることを示唆しています。


g(x)はHermit多項式を規格化したものです。これを例で見ておきましょう。

/* 5.2.19m, 5.2.20m */
load(orthopoly)$
hermite(8, x);
g, solute, E=17;

使用した機能

最後に量子調和振動子の8次の波動関数を見ておきましょう。

/* 5.2.22m */
plot2d(g*exp(-x^2/2), [x, -7, 7]), solute, E=17$