plotW プログラム仕様

配置の数 W(ni) の分布と熱力学的極限への収束を可視化するスクリプト。

概要:

総要素数 $N$ のうち、特定の状態に属する要素数が $ni$ である場合の組み合わせ(配置の数) $W(ni)$ を計算し、 システムサイズ $N$ による分布の変化をプロットします。

詳細説明:
  • 配置の数 $W = {}_N C_{ni}$ を計算します。

  • 大きな $N$ を扱うため、スターリングの近似 $ln N! pprox N ln N - N$ を用いて計算を行います。

  • 各 $N$ において最大値($ni = N/2$)で正規化し、相対的な確率分布として表示します。

  • $N$ が増大するにつれて、$ni/N = 0.5$ 付近の分布がいかに鋭くなるか(相対的な揺らぎの減少)を確認できます。

  • これは、多粒子系においてマクロな物理量が一点に定まる「熱力学的極限」を数学的に示唆します。

理論式:

$$ln W(ni) pprox N ln N - ni ln ni - (N-ni) ln (N-ni)$$

関連リンク: plotW.py 技術ドキュメント

stastical_physics.plotW.calculate_normalized_W(N, ni_array)[ソース]

総要素数 N における特定の状態の要素数 ni に対する組み合わせの数 W を計算します。 最大値で正規化した値を返します。

パラメータ:
  • N -- float: 総要素数。

  • ni_array -- np.ndarray: 評価する要素数 ni の配列。

戻り値:

list: 正規化された配置の数 W/Wmax。

stastical_physics.plotW.main()[ソース]

異なる N に対して W(ni) を計算し、グラフを生成・保存します。