5.3. 熱的純粋量子状態による有限温度計算¶
杉浦・清水によって、 少数個(サイズが大きい場合はほぼ一つ)の 波動関数から有限温度の物理量を計算する方法が提案されました [1] 。 その状態は熱的純粋量子状態(TPQ)と呼ばれています。 TPQはハミルトニアンを波動関数に順次作用させて得られるので、 Lanczos法の技術がそのまま使うことができます。 ここでは、とくに計算が簡単な, micro canonical TPQ(mTPQ)の 概要を述べます。
\(|\psi_{0}\rangle\)をあるランダムベクトルとします。 これに\((l-{\mathcal H}/N_{s})\)(\(l\)はある定数、\(N_{s}\)はサイト数)を\(k\)回作用させた (規格化された)ベクトルは次のように与えられます。
この\(|\psi_{k}\rangle\)がmTPQ状態で、このmTPQ状態に対応する逆温度\(\beta_{k}\)は 以下のように内部エネルギー\(u_{k}\)から求めることができます。
そして、任意 [2] の物理量\(\hat{A}\)の\(\beta_{k}\)での平均値は
となります。 有限系では最初の乱数ベクトルによる誤差がありますので、 いくつか独立な計算を行って、\(|\psi_{0}\rangle\) に関する平均値および標準偏差を見積もっています。
5.3.1. 実際の実装について¶
初期ベクトルの設定について¶
熱的純粋量子状態による有限温度計算では、初期ベクトルは全ての成分に対してランダムな係数を与えます。
初期ベクトルの係数の型はModParaで指定される入力ファイルのInitialVecType
を用い、
実数もしくは複素数の指定をすることができます。乱数のシードはinitial_iv
(\(\equiv r_s\))により
で与えられます。ここで、\(n_{\rm run}\)はrunの回数であり、runの最大回数はスタンダードモード用入力ファイル、
もしくはModParaで指定される入力ファイルのNumAve
で指定します。
initial_iv
はスタンダードモード用の入力ファイル、もしくはエキスパートモードではModParaで指定される入力ファイルで指定します。乱数はSIMD-oriented
Fast Mersenne Twister(dSFMT)を用い発生させています [3] 。
また、\(k_{\rm Thread}, N_{\rm Thread}, k_{\rm Process}\)はそれぞれスレッド番号、スレッド数、プロセス番号を表します。
したがって同じinitial_iv
を用いても、並列数が異なる場合には別の初期波動関数が生成されます。
[1] | S. Sugiura, A. Shimizu, Phys. Rev. Lett. 108, 240401 (2012). |
[2] | 局所的にという条件がつきます。 |
[3] | http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/SFMT. |