state_sum プログラム仕様
多粒子系の分配関数(Partition Function)の積の性質を検証するモジュール。
- 概要:
複数の独立な粒子が存在する系において、全状態和としての分配関数 $Z_{tot}$ が、 各粒子の分配関数 $Z_p$ の積に等しいことを数値的に検証します。
- 詳細説明:
各粒子に対して、ランダムなエネルギー準位 $epsilon_{i}$ を生成します。
手法1(全組み合わせ): itertools.product を用いて、すべての粒子の状態の組み合わせを網羅し、 全エネルギー $E = sum epsilon$ に対するボルツマン因子 $exp(-E/k_B T)$ を足し合わせます。
手法2(分配関数の積): 各粒子ごとに分配関数 $Z_p = sum exp(-epsilon/k_B T)$ を計算し、それらを掛け合わせます。
両者の結果が一致することを確認し、独立系における計算の簡略化を理解します。
- 理論式:
$$Z_{total} = sum_{s_1, s_2, dots} e^{-eta(epsilon_{s_1} + epsilon_{s_2} + dots)} = prod_{p} left( sum_{s} e^{-eta epsilon_{s,p}}
ight)$$
関連リンク: state_sum.py 技術ドキュメント