pythonで摂動論1

摂動論の一例をpythonで計算を試みる

量子力学において、あるハミルトン演算子を作用させた固有方程式を考えます。しかし、人の手で解ける固有方程式には限りがあります。

今回は、摂動を加えたことによる補正項をpythonをつかって出力できないかと考えました。(時間変化せず、縮退のない簡単な事例とします)


$$\color{black}{\Large{ \hat{H}_0\ket{\phi_n^{(0)}}= E_n^{(0)} \ket{\phi_n^{(0)}} \tag{1} }}$$


pythonには触れず、まずは、任意の次数mの摂動はどのような計算で求められるのか考えていきます。

ひとまず、上記のような摂動のない状態の固有方程式は解けているとします。そして以下のような摂動を与えます。


$$\color{black}{\Large{ (\hat{H}_0+\lambda \hat{V})\ket{\phi_n}=E_n \ket{\phi_n} \tag{2} }}$$


上記の添え字nは、どんな固有値を出すのかを明記したものです(n=1,2,3,4,,,,,N)。(縮退が無いのでnが違えば、固有値は異なり、固有ベクトルは他のnの固有ベクトルと直行します。)

まず、エネルギーとケットベクトルを次のように展開します。


$$\color{black}{\Large{ \ket{\phi_n}=\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}}\tag{3} }}$$

$$\color{black}{\Large{ E_n=\sum_{l=0}^{\infty}\lambda^l E_n^{(l)}\tag{4} }}$$


エネルギーとケットベクトルをk,l乗しているわけではないことに注意(だだの添え字)。(3)と(4)を(2)に代入すると。。。。


$$\color{black}{\Large{ (\hat{H}_0+\lambda \hat{V})\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}}=(\sum_{l=0}^{\infty}\lambda^l E_n^{(l)} )(\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}} )\tag{5} }}$$


ここから先は複雑にならないよう、左辺、右辺別々に考えることにする。まず、左辺から変形すると。。


$$\color{black}{\Large{ \begin{eqnarray} (Left)&=&(\hat{H}_0+\lambda\hat{V})\sum_{k=0}^{\infty}\lambda^k\ket{\phi_n^{(k)}}\\&=&\hat{H}_0\sum_{k=0}^{\infty}\lambda^k\ket{\phi_n^{(k)}}+\hat{V}\sum_{k=0}^{\infty}\lambda^{k+1}\ket{\phi_n^{(k)}}\\&=&\hat{H}_0\sum_{k=0}^{\infty}\lambda^k\ket{\phi_n^{(k)}}+\hat{V}\sum_{k=1}^{\infty}\lambda^{k}\ket{\phi_n^{(k-1)}}\\ \end{eqnarray}\tag{6} }}$$


続いて右辺を書き換えます!

(途中で和の記号の等号が成り立つのかわからなくなったら展開してみるといいかも!)


$$\color{black}{\Large{ \begin{eqnarray} (Right)&=&(\sum_{l=0}^{\infty}\lambda^l E_n^{(l)} )(\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}} )\\&=&(\lambda^0 E_n^{(0)}+\sum_{l=1}^{\infty}\lambda^l E_n^{(l)} )(\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}} )\\&=&\lambda^0 E_n^{(0)}\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}} +\sum_{l=1}^{\infty}\lambda^l E_n^{(l)} \sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}}\\&=&\lambda^0 E_n^{(0)}\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}} +\sum_{k=0}^{\infty} \sum_{l=1}^{\infty}\lambda^{l+k} E_n^{(l)} \ket{\phi_n^{(k)}} \end{eqnarray}\tag{7} }}$$


この先、λの何乗かで式を分けていくので、全体がλの何乗の項なのかわかりやすくしたい。このことから上記の式の二重和(Σが二個重なっているところ)をλのm乗でくくるイメージで変換することを試みる。(m=k+l)


$$\color{black}{\Large{ \begin{eqnarray} \sum_{k=0}^{\infty} \sum_{l=1}^{\infty}\lambda^{l+k} E_n^{(l)} \ket{\phi_n^{(k)}}&=& \sum_{l=1}^{\infty}\lambda^{l} E_n^{(l)} (\lambda^{0}\ket{\phi_n^{(0)}}+\lambda^{1}\ket{\phi_n^{(1)}}+\lambda^{2}\ket{\phi_n^{(2)}}+\cdots)\\ \end{eqnarray}\tag{8} }}$$


λが0乗の項が無いことは、上記の式から明らかである。

λが1乗の項は、(k,l)→(0,1)のみ

λが2乗の項は、(k,l)→(0,2),(1,1)

λが3乗の項は、(k,l)→(0,3),(1,2),(2,1)

同様な考えでm乗の項は、(k,l)→(0,m),(1,m-1),,,(m-j,j),,,(m-1,1)の組み合わせの和になる。

したがって、、、


$$\color{black}{\Large{ \begin{eqnarray} \sum_{k=0}^{\infty} \sum_{l=1}^{\infty}\lambda^{l+k} E_n^{(l)} \ket{\phi_n^{(k)}}&=&\sum_{m=1}^{\infty}\lambda^{m}\sum_{j=1}^{m}E_n^{(j)} \ket{\phi_n^{(m-j)}}\\ \end{eqnarray}\tag{8} }}$$


上記の式を展開すると実際に成り立つことがわかる。そしてここまでの話をまとめると(5)式は以下のようになった。


$$\color{black}{\Large{ \begin{eqnarray} \hat{H}_0\sum_{k=0}^{\infty}\lambda^k\ket{\phi_n^{(k)}}+\hat{V}\sum_{k=1}^{\infty}\lambda^{k}\ket{\phi_n^{(k-1)}}&=&\lambda^0 E_n^{(0)}\sum_{k=0}^{\infty}\lambda^k \ket{\phi_n^{(k)}} +\sum_{m=1}^{\infty}\lambda^{m}\sum_{j=1}^{m}E_n^{(j)} \ket{\phi_n^{(m-j)}}\\ \end{eqnarray}\tag{9} }}$$


移項すると。。


$$\color{black}{\Large{ \begin{eqnarray} (\hat{H}_0-E_n^{(0)})\sum_{k=0}^{\infty}\lambda^k\ket{\phi_n^{(k)}}&=&-\hat{V}\sum_{k=1}^{\infty}\lambda^{k}\ket{\phi_n^{(k-1)}}+\sum_{m=1}^{\infty}\lambda^{m}\sum_{j=1}^{m}E_n^{(j)} \ket{\phi_n^{(m-j)}}\\ \end{eqnarray}\tag{10} }}$$


ここで、和をとる変数は変えてもよいので、λの指数をすべてmに変更すると


$$\color{black}{\Large{ \begin{eqnarray} (\hat{H}_0-E_n^{(0)})\sum_{m=0}^{\infty}\lambda^m\ket{\phi_n^{(m)}}&=&\sum_{m=1}^{\infty}\lambda^{m}\left(-\hat{V}\ket{\phi_n^{(m-1)}}+\sum_{j=1}^{m}E_n^{(j)} \ket{\phi_n^{(m-j)}}\right)\\ \end{eqnarray}\tag{11} }}$$


これによって両辺がλの何乗なのかということが分かりやすくなったでしょう。

今回はここまでにして、次回は、具体的にm項目をだしていきます!

Your Page Title