シュレーディンガー方程式
シュレーディンガー方程式は、量子力学における基本的な方程式の一つであり、波動関数を使って系の時間発展を記述します。
1次元の自由粒子のシュレーディンガー方程式は以下のように表されます。
$$
[ -\frac{\hbar^2}{2m} \frac + V(x)\psi = E\psi ]
$$
ここで、$ (\hbar) $はプランク定数の割合、$ (m) $は粒子の質量、$ (\psi) $は波動関数、$ (V(x)) $はポテンシャル関数、$ (E) $はエネルギーです。
この方程式を解析的に解くことは多くの場合難しいですが、数値的に解くことは可能です。
Pythonで数値解を求め、グラフ化するコードを示します。
1 | import numpy as np |
このコードでは、単純な調和振動子ポテンシャルを持つシュレーディンガー方程式の基底状態の波動関数を計算し、プロットしています。
これにより、最初の4つの基底状態の波動関数が描画されます。
[実行結果]
ソースコード解説
このコードは、量子調和振動子のポテンシャルに対するシュレーディンガー方程式の固有値問題を解き、最初の4つの基底状態の波動関数をプロットしています。
1. パラメータ設定:
- $ ( \hbar ) $: プランク定数
- $ ( m ) $: 粒子の質量
- $ ( \omega ) $: 角振動数
- $ ( N ) $: 空間分割の数
- $ ( L ) $: 空間の長さ
- $ ( x ) $: 空間の区間
2. ポテンシャル関数:
potential_function(x)
で定義され、量子調和振動子ポテンシャル$ ( \frac{1}{2} m \omega^2 x^2 ) $を表します。
3. 対角成分と非対角成分の計算:
トリディアゴナル行列の対角成分と非対角成分を計算します。
4. eigh_tridiagonal
関数:
SciPyのeigh_tridiagonal
関数を使用して、トリディアゴナル行列の固有値と固有ベクトルを求めます。
これらは波動関数と対応するエネルギー固有値です。
5. 波動関数のプロット:
最初の4つの基底状態の波動関数をfor
ループで計算し、matplotlib
を使用してそれらをグラフ化しています。
それぞれの波動関数は n = 1, 2, 3, 4
とラベル付けされており、量子調和振動子の波動関数の性質を示しています。
結果解説
[実行結果]
このグラフは、調和振動子ポテンシャルを持つシュレーディンガー方程式の基底状態の波動関数を表しています。
調和振動子ポテンシャルは、$ (\frac{1}{2}m\omega^2x^2) $と表され、量子力学で非常に重要なポテンシャルです。
プロットされた曲線は、それぞれの波動関数を表しています。
グラフの x 軸は位置を示し、y 軸は各波動関数の値を表しています。
波動関数は、量子力学における粒子の振る舞いを表現し、特定のエネルギー状態で粒子がどのように分布するかを示します。
この例では、最初の4つの基底状態の波動関数がプロットされています。
これらの波動関数は、それぞれ異なるエネルギー状態を表しており、基底状態から順に高次のエネルギー状態が表示されています。
波動関数はゼロ点振動(原点で振幅がゼロ)から始まり、対称性を持って左右に広がります。
それぞれの波動関数は異なる空間的な特性を持っており、基底状態から高次のエネルギー状態へとエネルギーが増加するにつれて、振動の幅が大きくなります。