エキスパートモード入力ファイル書式¶
ここではmVMCで使用する詳細入力ファイル(*def)のフォーマットに関して説明します。 入力ファイルの種別は以下の6つで分類されます。 なお、キーワードの後にある括弧内に記載されているファイル名はvmcdry.outにより作成されるファイル名を表します。
リスト:
キーワード指定なし (namelist.def): 使用するinput fileの名前のリストを書きます。なお、ファイル名は任意に指定することができます。
基本パラメータ:
ModPara (modpara.def): 計算時に必要な基本的なパラメーター(サイトの数、電子数など)を設定します。
LocSpin (locspn.def): 局在スピンの位置を設定します。
ハミルトニアン:
電子系の表式で記載されるハミルトニアン
\[\begin{split}\begin{aligned} {\cal H}&={\cal H}_T+{\cal H}_U+{\cal H}_V+{\cal H}_H+{\cal H}_E+{\cal H}_P+{\cal H}_I,\\ {\cal H}_T&={-}\sum_{i, j}\sum_{\sigma_1, \sigma_2}t_{ij\sigma_1\sigma_2} c_{i\sigma_1}^{\dagger}c_{j\sigma_2},\\ {\cal H}_U&=\sum_{i} U_i n_ {i \uparrow}n_{i \downarrow},\\ {\cal H}_V&=\sum_{i,j} V_{ij}n_ {i}n_{j},\\ {\cal H}_H&={-}\sum_{i,j}J_{ij}^{\rm Hund} (n_{i\uparrow}n_{j\uparrow}+n_{i\downarrow}n_{j\downarrow}),\\ {\cal H}_E&=\sum_{i,j}J_{ij}^{\rm Ex} (c_ {i \uparrow}^{\dagger}c_{j\uparrow}c_{j \downarrow}^{\dagger}c_{i \downarrow}+c_ {i \downarrow}^{\dagger}c_{j\downarrow}c_{j \uparrow}^{\dagger}c_{i \uparrow}),\\ {\cal H}_P&=\sum_{i,j}J_{ij}^{\rm Pair} c_ {i \uparrow}^{\dagger}c_{j\uparrow}c_{i \downarrow}^{\dagger}c_{j \downarrow},\\ {\cal H}_I&=\sum_{i,j,k,l}\sum_{\sigma_1,\sigma_2, \sigma_3, \sigma_4} I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}c_{i\sigma_1}^{\dagger}c_{j\sigma_2}c_{k\sigma_3}^{\dagger}c_{l\sigma_4}, \end{aligned}\end{split}\]について設定します。ここで、 \(n_{i \sigma}=c_{i\sigma}^{\dagger}c_{i\sigma}\) は スピン \(\sigma\) を持つサイト \(i\) の電子密度演算子を、 \(n_i=n_{i\uparrow}+n_{i\downarrow}\) はサイト \(i\) の電子密度演算子を それぞれ表します。 各ハミルトニアンのパラメータは以下のファイルで指定します。
Trans (trans.def): \({\cal H}_T\) 内の \(t_{ij\sigma_1\sigma_2}\) を指定します。
CoulombIntra (coulombintra.def): \({\cal H}_U\) 内の \(U_i\) を指定します。
CoulombInter (coulombinter.def): \({\cal H}_V\) 内の \(V_{ij}\) を指定します。
Hund (hund.def): \({\cal H}_H\) 内の \(J_{ij}^{\rm Hund}\) を指定します。
Exchange (exchange.def): \({\cal H}_E\) 内の \(J_{ij}^{\rm Ex}\) を指定します。
PairHop: \({\cal H}_P\) 内の \(J_{ij}^{\rm Pair}\) を指定します。
InterAll: \({\cal H}_I\) 内の \(I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}\) を指定します。
最適化対象変分パラメータ:
最適化する変分パラメータを指定します。変分波動関数は
\[\begin{split}\begin{aligned} |\psi \rangle &= {\cal N}_{General RBM} {\cal P}_G{\cal P}_J{\cal P}_{d-h}^{(2)}{\cal P}_{d-h}^{(4)}{\cal L}^S{\cal L}^K{\cal L}^P |\phi_{\rm pair} \rangle,\\ {\cal P}_G&=\exp\left[ \sum_i g_i n_{i\uparrow} n_{i\downarrow} \right],\\ {\cal P}_J&=\exp\left[\frac{1}{2} \sum_{i\neq j} v_{ij} (n_i-1)(n_j-1)\right],\\ {\cal P}_{d-h}^{(2)}&= \exp \left[ \sum_t \sum_{n=0}^2 (\alpha_{2nt}^d \sum_{i}\xi_{i2nt}^d+\alpha_{2nt}^h \sum_{i}\xi_{i2nt}^h)\right],\\ {\cal P}_{d-h}^{(4)}&= \exp \left[ \sum_t \sum_{n=0}^4 (\alpha_{4nt}^d \sum_{i}\xi_{i4nt}^d+\alpha_{4nt}^h \sum_{i}\xi_{i4nt}^h)\right],\\ {\cal N}_{\rm General RBM}&= \exp \left[ \sum_i a_{i\sigma} n_{i\sigma} \right] \prod_k^{N_h} \cosh \left[ b_k + \sum_{i\sigma} W_{i\sigma k} n_{i\sigma} \right],\\ {\cal L}_S&=\frac{2S+1}{8 \pi^2}\int d\Omega P_s(\cos \beta) \hat{R}(\Omega),\\ {\cal L}_K&=\frac{1}{N_s}\sum_{{\boldsymbol R}}e^{i {\boldsymbol K} \cdot{\boldsymbol R} } \hat{T}_{\boldsymbol R},\\ {\cal L}_P&=\sum_{\alpha}p_{\alpha} \hat{G}_{\alpha}, \end{aligned}\end{split}\]で与えられます。ここで、 \(\Omega=(\alpha, \beta, \gamma)\) はオイラー角、 \(\hat{R}(\Omega)\) は回転演算子、 \(P_S(x)\) は \(S\) 次のルジャンドル多項式、 \({\boldsymbol K}\) は全運動量、 \(\hat{T}_{\boldsymbol R}\) は並進ベクトル \({\boldsymbol R}\) に対応する並進演算子、 \(\hat{G}_{\alpha}\) は格子の点群演算子、 \(p_\alpha\) はパリティをそれぞれ表します。 ダブロン・ホロン相関因子に関する詳細は文献 [Tahara2008 ]の説明を参照してください。 また、一体部分は実空間のペア関数
\[|\phi_{\rm pair} \rangle = \left[\sum_{i, j=1}^{N_s} \sum_{\sigma_1, \sigma_2}f_{i\sigma_1j\sigma_2} c_{i\sigma_1}^{\dagger}c_{j\sigma_2}^{\dagger} \right]^{N/2}|0 \rangle,\]を用いた波動関数で表されます。ここで \(N\) は全電子数、 \(N_s\) は全サイト数です。 最適化する変分パラメータは以下のファイルを用いて指定します ( \({\cal L}_S\) は ModPara ファイルでパラメータの指定をします)。
Gutzwiller (gutzwilleridx.def): \({\cal P}_G\) のうち、最適化の対象とする変分パラメータ \(g_i\) を指定します。
Jastrow (jastrowidx.def): \({\cal P}_J\) のうち、最適化の対象とする変分パラメータ \(v_{ij}\) を指定します。
DH2: \({\cal P}_{d-h}^{(2)}\) で表される2サイトのダブロン・ホロン相関因子を指定します。
DH4: \({\cal P}_{d-h}^{(4)}\) で表される4サイトのダブロン・ホロン相関因子を指定します。
GeneralRBM_PhysLayer: \({\cal N}_{\rm General RBM}\) で表されるRBM相関因子のうち、最適化の対象とする変分パラメータ \(a_{i\sigma}\) を指定します。
GeneralRBM_HiddenLayer: \({\cal N}_{\rm General RBM}\) で表されるRBM相関因子のうち、最適化の対象とする変分パラメータ \(h_{k}\) を指定します。
GeneralRBM_PhysHidden: \({\cal N}_{\rm General RBM}\) で表されるRBM相関因子のうち、最適化の対象とする変分パラメータ \(W_{i\sigma k}\) を指定します。
Orbital/OrbitalAntiParallel (orbitalidx.def): スピンが反平行のペア軌道 \(|\phi_{\rm pair} \rangle\) を設定します。
OrbitalParallel: スピンが平行のペア軌道 \(|\phi_{\rm pair} \rangle\) を設定します。
OrbitalGeneral: ペア軌道 \(|\phi_{\rm pair} \rangle\) を設定します。
TransSym (qptransidx.def): 運動量射影 \({\cal L}_K\) と格子対称性射影 \({\cal L}_P\) に関する指定を行います。
変分パラメータ初期値:
変分パラメータに関する初期値を与えます。 キーワード指定されない場合には \(0\) が初期値として設定されます。
InGutzwiller: \({\cal P}_G\) 内の変分パラメータ \(g_i\) の初期値を設定します。
InJastrow: \({\cal P}_J\) 内の変分パラメータ \(v_{ij}\) の初期値を設定します。
InDH2: \({\cal P}_{d-h}^{(2)}\) 内の2サイトのダブロン・ホロン相関因子 \(\alpha_{2nt}^{d(h)}\) の初期値を設定します。
InDH4: \({\cal P}_{d-h}^{(4)}\) 内の4サイトのダブロン・ホロン相関因子 \(\alpha_{4nt}^{d(h)}\) の初期値を設定します。
InGeneralRBM_PhysLayer: \({\cal N}_{\rm General RBM}\) で表されるRBM相関因子のうち、最適化の対象とする変分パラメータ \(a_{i\sigma}\) の初期値を設定します。
InGeneralRBM_HiddenLayer: \({\cal N}_{\rm General RBM}\) で表されるRBM相関因子のうち、最適化の対象とする変分パラメータ \(h_{k}\) の初期値を設定します。
InGeneralRBM_PhysHidden: \({\cal N}_{\rm General RBM}\) で表されるRBM相関因子のうち、最適化の対象とする変分パラメータ \(W_{i\sigma k}\) の初期値を設定します。
InOrbital/InOrbitalAntiParallel: ペア軌道 \(|\phi_{\rm pair} \rangle\) の \(f_{i\uparrow j\downarrow}\) に関する初期値を設定します。
InOrbitalParallel: ペア軌道 \(|\phi_{\rm pair} \rangle\) の \(f_{i\sigma j\sigma}\) に関する初期値を設定します。
InOrbitalGeneral: ペア軌道 \(|\phi_{\rm pair} \rangle\) の \(f_{i\sigma j\sigma_1}\) に関する初期値を設定します。
出力:
OneBodyG (greenone.def):出力する一体Green関数を指定します。
TwoBodyG (greentwo.def):出力する二体Green関数を指定します。
入力ファイル指定用ファイル(namelist.def)¶
計算で使用する入力ファイル一式を指定します。ファイル形式に関しては、 以下のようなフォーマットをしています。
ModPara modpara.def
LocSpin zlocspn.def
Trans ztransfer.def
InterAll zinterall.def
Orbital orbitalidx.def
OneBodyG zcisajs.def
TwoBodyG zcisajscktaltdc.def
ファイル形式¶
[string01] [string02]
パラメータ¶
[ string01 ]
形式 : string型 (固定)
説明 : キーワードを指定します。
[ string02 ]
形式 : string型
説明 : キーワードにひも付けられるファイル名を指定します(任意)。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
キーワードを記載後、半角空白(複数可)を開けた後にファイル名を書きます。ファイル名は自由に設定できます。
ファイル読込用キーワードはTable[Table:Defs]により指定します。
必ず指定しなければいけないキーワードはModPara, LocSpin, Orbital, TransSymです。それ以外のキーワードについては、指定がない場合はデフォルト値が採用されます(変分パラメータについては最適化されず、固定する設定となります)。詳細は各ファイルの説明を参照してください。
各キーワードは順不同に記述できます。
指定したキーワード、ファイルが存在しない場合はエラー終了します。
\(\#\) で始まる行は読み飛ばされます。
Keywords |
対応するファイルの概要 |
---|---|
ModPara \(^*\) |
計算用のパラメータを指定します。 |
LocSpin \(^*\) |
局在・遍歴スピンを指定します。 |
Trans |
一般的な一体相互作用を指定します。 |
InterAll |
一般的な二体相互作用を指定します。 |
CoulombIntra |
内部クーロン相互作用を指定します。 |
CoulombInter |
サイト間クーロン相互作用を指定します。 |
Hund |
フント結合を指定します。 |
PairHop |
ペアホッピング相互作用を指定します。 |
Exchange |
交換相互作用を指定します。 |
Gutzwiller |
最適化するGutzwiller因子を設定します。 |
Jastrow |
最適化する電荷Jastrow因子を指定します。 |
DH2 |
最適化する2サイトダブロン・ホロン相関因子を指定します。 |
DH4 |
最適化する4サイトダブロン・ホロン相関因子を指定します。 |
GeneralRBM_PhysLayer |
一般的なRBM相関因子のうち、最適化する物理層での変分パラメータを指定します。 |
GeneralRBM_HiddenLayer |
一般的なRBM相関因子のうち、最適化する隠れ層での変分パラメータを指定します。 |
GeneralRBM_PhysHidden |
一般的なRBM相関因子のうち、最適化する物理層と隠れ層を繋ぐ変分パラメータを指定します。 |
Orbital \(^*\) |
反平行のスピンを持つペア軌道因子を指定します。 |
OrbitalAntiParallel |
反平行のスピンを持つペア軌道因子を指定します。 |
OrbitalParallel |
平行のスピンを持つペア軌道因子を指定します。 |
OrbitalGeneral |
ペア軌道因子を指定します。 |
TransSym \(^*\) |
並進・格子対称演算子を設定します。 |
InGutzwiller |
Gutzwiller因子の初期値を設定します。 |
InJastrow |
電荷Jastrow因子の初期値を設定します。 |
InDH2 |
2サイトダブロン・ホロン相関因子の初期値を設定します。 |
InDH4 |
4サイトダブロン・ホロン相関因子の初期値を設定します。 |
InGeneralRBM_PhysLayer |
一般的なRBM相関因子のうち、最適化する物理層での変分パラメータの初期値を設定します。 |
InGeneralRBM_HiddenLayer |
一般的なRBM相関因子のうち、最適化する隠れ層での変分パラメータの初期値を設定します。 |
InGeneralRBM_PhysHidden |
一般的なRBM相関因子のうち、最適化する物理層と隠れ層を繋ぐ変分パラメータの初期値を設定します。 |
InOrbital |
ペア軌道因子 \(f_{i\uparrow j\downarrow}\) の初期値を設定します。 |
InOrbitalAntiParallel |
ペア軌道因子 \(f_{i\uparrow j\downarrow}\) の初期値を設定します。 |
InOrbitalParallel |
ペア軌道因子 \(f_{i\sigma j\sigma}\) の初期値を設定します。 |
InOrbitalGeneral |
ペア軌道因子 \(f_{i\sigma j\sigma'}\) の初期値を設定します。 |
OneBodyG |
出力する一体グリーン関数を指定します。 |
TwoBodyG |
出力する二体グリーン関数を指定します。 |
ModParaファイル (modpara.def)¶
--------------------
Model_Parameters
--------------------
VMC_Cal_Parameters
--------------------
CDataFileHead zvo
CParaFileHead zqp
--------------------
NVMCCalMode 0
NLanczosMode 0
--------------------
NDataIdxStart 1
NDataQtySmp 1
--------------------
Nsite 16
Nelectron 8
NSPGaussLeg 1
NSPStot 0
NMPTrans 1
NSROptItrStep 1200
NSROptItrSmp 100
DSROptRedCut 0.001
DSROptStaDel 0.02
DSROptStepDt 0.02
NVMCWarmUp 10
NVMCInterval 1
NVMCSample 1000
NExUpdatePath 0
RndSeed 11272
NSplitSize 1
NStore 1
NneuronGeneral 32
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1 - 5行: ヘッダ(何が書かれても問題ありません)。
6行: [string01] [string02]
7行: [string03] [string04]
8行: ヘッダ(何が書かれても問題ありません)
9行以降: [string05] [int01] (もしくは[double01])
各項目の対応関係は以下の通りです。
[ string01 ]
形式 : string型 (空白不可)
説明 : アウトプットファイルのヘッダを表すためのキーワード。何を指定しても問題ありません。
[ string02 ]
形式 : string型 (空白不可)
説明 : アウトプットファイルのヘッダ。例えば、一体のGreen関数の出力ファイル名が xxx_cisajs.dat として出力されます(xxxに指定した文字が記載)。
[ string03 ]
形式 : string型 (空白不可)
説明 : 最適化された変分パラメータの出力ファイル名のヘッダを表すためのキーワード。何を指定しても問題ありません。
[ string04 ]
形式 : string型 (空白不可)
説明 : 最適化された変分パラメータの出力ファイル名のヘッダ。最適化された変分パラメータが xxx_opt.dat ファイルとして出力されます(xxxに指定した文字が記載)。
[ string05 ]
形式 : string型 (固定)
説明 : キーワードの指定を行います。
[ int01 ] ([ double01 ] )
形式 : int (double)型 (空白不可)
説明 : キーワードでひも付けられるパラメータを指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
9行目以降ではキーワードを記載後、半角空白(複数可)を開けた後に整数値を書きます。
9行目以降では“-”で始まる行は読み込まれません。
キーワード¶
NVMCCalMode
形式 : int型 (デフォルト値 = 0)
説明 : [0] 変分パラメータの最適化、[1] 1 体・2 体のグリーン関数の計算。
NLanczosMode
形式 : int型 (デフォルト値 = 0)
説明 : [0] 何もしない、[1] Single Lanczos Step でエネルギーまで計算、[2] Single Lanczos Step でエネルギー, 1 体・2 体のグリーン関数まで計算(条件: 1, 2 は
NVMCCalMode
= 1のみ使用可能。)NDataIdxStart
形式 : int型 (デフォルト値 = 0)
説明 : 出力ファイルの付加番号。
NVMCCalMode
= 0 の場合はNDataIdxStart
が出力され、NVMCCalMode
= 1 の場合は、NDataIdxStart
から連番でNDataQtySmp
個のファイルを出力します。NDataQtySmp
形式 : int型 (デフォルト値 = 1)
説明 : 出力ファイルのセット数。
NVMCCalMode
= 1 の場合に使用します。Nsite
形式 : int型 (1以上、必須)
説明 : サイト数を指定する整数。
Nelectron
形式 : int型 (1以上、必須)
説明 : 電子のペア数(電子数は2
Nelectron
で与えられる)。NCond
形式 : int型 (0以上)
説明 : 伝導電子の数。
2Sz
形式 : int型
説明 : 2 \(S_z\) の値。電子がペアを組むため, 2 \(S_z\) は偶数で指定する必要がある。
NSPGaussLeg
形式 : int型 (1以上、デフォルト値 = 8)
説明 : スピン量子数射影の \(\beta\) 積分( \(S^y\) 回転)のGauss-Legendre求積法の分点数。
NSPStot
形式 : int型 (0以上、デフォルト値 = 0)
説明 : スピン量子数。
NMPTrans
形式 : int型 (デフォルト値 = 1)
説明 :
NMPTrans
の絶対値で並進・格子対称性の量子数射影の個数を指定する。負の場合は反周期境界条件を与える。 TransSymファイルで指定した重みで上からNMPTrans
個まで使用する。射影を行わない場合は1に設定する必要があります。NSROptItrStep
形式 : int型 (1以上、デフォルト値 = 1000)
説明 : SR 法で最適化する場合の全ステップ数。
NVMCCalMode
=0の場合のみ使用されます。NSROptItrSmp
形式 : int型 (1以上数、デフォルト値 =
NSROptItrStep
/10)説明 :
NSROptItrStep
ステップ中、最後のNSROptItrSmp
ステップでの各変分パラメータの平均値を最適値とする。NVMCCalMode
=0の場合のみ使用されます。DSROptRedCut
形式 : double型 (デフォルト値 = 0.001)
説明 : SR 法安定化因子。手法論文[Tahara2008 ]の \(\varepsilon_{\rm wf}\) に対応。
DSROptStaDel
形式 : double型 (デフォルト値 = 0.02)
説明 : SR 法安定化因子。手法論文[Tahara2008 ]の \(\varepsilon\) に対応。
DSROptStepDt
形式 : double型
説明 : SR法で使用する刻み幅。手法論文[Tahara2008 ]の \(\Delta t\) に対応。
NSROptCGMaxIter
形式 : int型 (デフォルト値 = 0)
説明 : SR-CG法での、CG法の繰り返し回数の上限。 0以下を指定した場合、最大で \(S\) 行列のサイズの数だけ実行するようになります。
NSRCG
!=0 の場合のみ使用されます。DSROptCGTol
形式 : double型 (デフォルト値 = 1.0e-10)
説明 : SR-CG法での、CG法の収束判定条件。残差ベクトルの要素の自乗平均平方根がこの値以下になったらCG 法を終了します。
NSRCG
!=0 の場合のみ使用されます。NVMCWarmUp
形式 : int型 (1以上、デフォルト値=10)
説明 : マルコフ連鎖の空回し回数。
NVMCInterval
形式 : int型 (1以上、デフォルト値=1)
説明 : サンプル間のステップ間隔。ローカル更新を
Nsite
×NVMCInterval
回行います。NVMCSample
形式 : int型 (1以上、デフォルト値=1000)
説明 : 期待値計算に使用するサンプル数。
NExUpdatePath
形式 : int型 (0以上)
説明 : 電子系でローカル更新で2電子交換を[0] 認めない、[1] 認めるの設定をします。スピン系の場合には2に設定する必要があります。
RndSeed
形式 : int型
説明 : 乱数の初期seed。MPI 並列では各計算機に
RndSeed
+my rank+1 で初期seed が与えられます。NSplitSize
形式 : int型 (1以上、デフォルト値=1)
説明 : MPI内部並列を行う場合の並列数。
NStore
形式 : int型 (0もしくは1、デフォルト値=1)
説明 : 期待値 \(\langle O_k O_l \rangle\) を計算するとき行列-行列積にして高速化するオプション (1で機能On、モンテカルロサンプリング数に応じてメモリの消費が増大します [3])。
NSRCG
形式 : int型 (0もしくは1、デフォルト値=0)
説明 : SR法で連立一次方程式 \(Sx=g\) を解くときに、 \(S\) を陽に構築せずに解くことでメモリを削減する [4] オプション[NeuscammanUmrigarChan ](1で機能On,
NStore
は1に固定されます)。NneuronGeneral
形式 : int型 (デフォルト値=0)
説明 : RBMの隠れ層にあるニューロン数 \(N_{\rm General RBM}\) を指定する整数。
LocSpin指定ファイル(locspn.def)¶
局在スピンを指定します。以下のようなフォーマットをしています。
================================
NlocalSpin 6
================================
========i_0LocSpn_1IteElc ======
================================
0 1
1 0
2 1
3 0
4 1
5 0
6 1
7 0
8 1
9 0
10 1
11 0
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 局在スピンの総数を示すキーワード(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 局在スピンの総数を指定する整数。
[ int02 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int03 ]
形式 : int型 (空白不可)
説明 : 遍歴電子か局在スピンかを指定する整数(0: 遍歴電子, 1: 局在スピン)。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と [ int03 ] で指定される局在電子数の総数が異なる場合はエラー終了します。
[ int02 ] の総数が全サイト数と異なる場合はエラー終了します。
[ int02 ] が全サイト数以上もしくは負の値をとる場合はエラー終了します。
Trans指定ファイル(trans.def)¶
一般的な一体相互作用をハミルトニアンに付け加え、ハミルトニアン中の相互作用パラメータ \(t_{ij\sigma_1\sigma2}\) を指定します。付け加える項は以下で与えられます。
以下にファイル例を記載します。
========================
NTransfer 24
========================
========i_j_s_tijs======
========================
0 0 2 0 1.000000 0.000000
2 0 0 0 1.000000 0.000000
0 1 2 1 1.000000 0.000000
2 1 0 1 1.000000 0.000000
2 0 4 0 1.000000 0.000000
4 0 2 0 1.000000 0.000000
2 1 4 1 1.000000 0.000000
4 1 2 1 1.000000 0.000000
4 0 6 0 1.000000 0.000000
6 0 4 0 1.000000 0.000000
4 1 6 1 1.000000 0.000000
6 1 4 1 1.000000 0.000000
6 0 8 0 1.000000 0.000000
8 0 6 0 1.000000 0.000000
…
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [int04] [int05] [double01] [double02]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 定義するパラメータの総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 定義するパラメータの総数を指定します。
[ int02 ], [ int04 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int03 ], [ int05 ]
形式 : int型 (空白不可)
説明 : スピンを指定する整数。0: アップスピン1: ダウンスピンを選択することが出来ます。[ double01 ]
形式 : double型 (空白不可)
説明 : \(t_{ij\sigma_1\sigma_2}\) の実部を指定します。
[ double02 ]
形式 : double型 (空白不可)
説明 : \(t_{ij\sigma_1\sigma_2}\) の虚部を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
空行は許されません。
[ int01 ] と定義されているTrasferの総数が異なる場合はエラー終了します。
[ int02 ]-[ int05 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
Hamiltonianがエルミートという制限から \(t_{ij\sigma_1\sigma_2}=t_{ji\sigma_2\sigma_1}^{\dagger}\) の関係を満たす必要があります。
InterAll指定ファイル¶
一般的な二体相互作用をハミルトニアンに付け加え、ハミルトニアン中の相互作用パラメータを指定します。 付け加える項は以下で与えられます。
以下にファイル例を記載します。
======================
NInterAll 36
======================
========zInterAll=====
======================
0 0 0 1 1 1 1 0 0.50 0.0
0 1 0 0 1 0 1 1 0.50 0.0
0 0 0 0 1 0 1 0 0.25 0.0
0 0 0 0 1 1 1 1 -0.25 0.0
0 1 0 1 1 0 1 0 -0.25 0.0
0 1 0 1 1 1 1 1 0.25 0.0
2 0 2 1 3 1 3 0 0.50 0.0
2 1 2 0 3 0 3 1 0.50 0.0
2 0 2 0 3 0 3 0 0.25 0.0
2 0 2 0 3 1 3 1 -0.25 0.0
2 1 2 1 3 0 3 0 -0.25 0.0
2 1 2 1 3 1 3 1 0.25 0.0
4 0 4 1 5 1 5 0 0.50 0.0
4 1 4 0 5 0 5 1 0.50 0.0
4 0 4 0 5 0 5 0 0.25 0.0
4 0 4 0 5 1 5 1 -0.25 0.0
4 1 4 1 5 0 5 0 -0.25 0.0
4 1 4 1 5 1 5 1 0.25 0.0
…
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [int04] [int05] [int06] [int07] [int08] [int09] [double01] [double02]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 二体相互作用の総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 二体相互作用の総数を指定します。
[ int02 ], [ int04 ], [ int06 ], [ int08 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int03 ], [ int05 ], [ int07 ], [ int09 ]
形式 : int型 (空白不可)
説明 : スピンを指定する整数。
0: アップスピン
1: ダウンスピン
を選択することが出来ます。
[ double01 ]
形式 : double型 (空白不可)
説明 : \(I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}\) の実部を指定します。
[ double02 ]
形式 : double型 (空白不可)
説明 : \(I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}\) の虚部を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
ハミルトニアンがエルミートという制限から \(I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}=I_{lkji\sigma_4\sigma_3\sigma_2\sigma_1}^{\dagger}\) の関係を満たす必要があります。
[ int01 ] と定義されているInterAllの総数が異なる場合はエラー終了します。
[ int02 ]-[ int09 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
CoulombIntra指定ファイル(coulombintra.def)¶
オンサイトクーロン相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。
以下にファイル例を記載します。
======================
NCoulombIntra 6
======================
========i_0LocSpn_1IteElc ======
======================
0 4.000000
1 4.000000
2 4.000000
3 4.000000
4 4.000000
5 4.000000
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [double01]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : オンサイトクーロン相互作用の総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : オンサイトクーロン相互作用の総数を指定します。
[ int02 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ double01 ]
形式 : double型 (空白不可)
説明 : \(U_i\) を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されているオンサイトクーロン相互作用の総数が異なる場合はエラー終了します。
[ int02 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
CoulombInter指定ファイル(coulombiter.def)¶
サイト間クーロン相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。
以下にファイル例を記載します。
======================
NCoulombInter 12
======================
========CoulombInter ======
======================
0 1 1.500000000000000
0 3 1.500000000000000
1 2 1.500000000000000
1 4 1.500000000000000
2 0 1.500000000000000
2 5 1.500000000000000
3 4 1.500000000000000
3 0 1.500000000000000
4 5 1.500000000000000
4 1 1.500000000000000
5 3 1.500000000000000
5 2 1.500000000000000
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [double01]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : サイト間クーロン相互作用の総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : サイト間クーロン相互作用の総数を指定します。
[ int02 ], [ int03 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ double01 ]
形式 : double型 (空白不可)
説明 : \(V_{ij}\) を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されているオフサイトクーロン相互作用の総数が異なる場合はエラー終了します。
[ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
Hund指定ファイル(hund.def)¶
Hundカップリングをハミルトニアンに付け加えます。付け加える項は以下で与えられます。
以下にファイル例を記載します。
======================
NHund 6
======================
========Hund ======
======================
0 1 -0.250000
1 2 -0.250000
2 3 -0.250000
3 4 -0.250000
4 5 -0.250000
5 0 -0.250000
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [double01]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : Hundカップリングの総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : Hundカップリングの総数を指定します。
[ int02 ], [ int03 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ double01 ]
形式 : double型 (空白不可)
説明 : \(J_{ij}^{\rm Hund}\) を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されているHundカップリングの総数が異なる場合はエラー終了します。
[ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
PairHop指定ファイル¶
PairHopカップリングをハミルトニアンに付け加えます。付け加える項は以下で与えられます。
以下にファイル例を記載します。
======================
NPairhop 6
======================
========Pairhop ======
======================
0 1 0.50000
1 2 0.50000
2 3 0.50000
3 4 0.50000
4 5 0.50000
5 0 0.50000
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [double01]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : PairHopカップリングの総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : PairHopカップリングの総数を指定します。
[ int02 ], [ int03 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ double01 ]
形式 : double型 (空白不可)
説明 : \(J_{ij}^{\rm Pair}\) を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されているPairHopカップリングの総数が異なる場合はエラー終了します。
[ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
Exchange指定ファイル (exchange.def)¶
Exchangeカップリングをハミルトニアンに付け加えます。 電子系,スピン系の両方の場合に
が付け加えられます(スピン系の場合にHPhiとは定義が異なりますので注意してください)。
======================
NExchange 6
======================
========Exchange ======
======================
0 1 0.50000
1 2 0.50000
2 3 0.50000
3 4 0.50000
4 5 0.50000
5 0 0.50000
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [double01]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : Exchangeカップリングの総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : Exchangeカップリングの総数を指定します。
[ int02 ], [ int03 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ double01 ]
形式 : double型 (空白不可)
説明 : \(J_{ij}^{\rm Ex}\) を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されているExchangeカップリングの総数が異なる場合はエラー終了します。
[ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
Gutzwiller指定ファイル(gutzwiller.def)¶
Gutzwiller因子
の設定を行います。指定するパラメータはサイト番号 \(i\) と \(g_i\) の変分パラメータの番号です。 以下にファイル例を記載します。
======================
NGutzwillerIdx 2
ComplexType 0
======================
======================
0 0
1 0
2 0
3 1
(continue...)
12 1
13 0
14 0
15 0
0 1
1 0
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_g\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_s\))行: [int03] [int04]
(6+ \(N_s\)) - (5+ \(N_s\) + \(N_g\))行:[int05] [int06]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : \(g_i\) の変分パラメータの種類の総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : \(g_i\) の変分パラメータの種類の総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : \(g_i\) の変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの型を指定する整数。0が実数、1が複素数に対応します。
[ int03 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int04 ]
形式 : int型 (空白不可)
説明 : \(g_i\) の変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int05 ]
形式 : int型 (空白不可)
説明 : \(g_i\) の変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。
[ int06 ]
形式 : int型 (空白不可)
説明 : [int05]で指定した \(g_i\) の変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int06 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
Jastrow指定ファイル(jastrow.def)¶
Jastrow因子
の設定を行います。指定するパラメータはサイト番号 \(i, j\) と \(v_{ij}\) の変分パラメータの番号です。以下にファイル例を記載します。
======================
NJastrowIdx 5
ComplexType 0
======================
======================
0 1 0
0 2 1
0 3 0
(continue...)
0 1
1 1
2 1
3 1
4 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_j\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_s\times (N_s-1)\)) 行: [int03] [int04] [int05]
(6+ \(N_s\times (N_s-1)\) ) - (5+ \(N_s\times (N_s-1)\) + \(N_j\))行:[int06] [int07]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : \(v_{ij}\) の変分パラメータの種類の総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : \(v_{ij}\) の変分パラメータの種類の総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : \(v_{ij}\) の変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : \(v_{ij}\) の変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ], [ int04 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int05 ]
形式 : int型 (空白不可)
説明 : \(v_{ij}\) の変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int06 ]
形式 : int型 (空白不可)
説明 : \(v_{ij}\) の変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。
[ int07 ]
形式 : int型 (空白不可)
説明 : [int06]で指定した \(v_{ij}\) の変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int07 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
DH2指定ファイル¶
で表される2サイトのdoublon-holon相関因子の設定を行います。 指定するパラメータはサイト番号 \(i\) とその周囲2サイト、 \(\alpha_{2nt}^{d,h}\) の変分パラメータの番号で、 変分パラメータは各サイト毎に \(t\) 種類設定します。 各パラメータ、演算子に関する詳細は文献 [Tahara2008 ]をご覧ください。 以下にファイル例を記載します。
====================================
NDoublonHolon2siteIdx 2
ComplexType 0
====================================
====================================
0 5 15 0
0 13 7 1
1 6 12 0
1 14 4 1
(continue...)
15 0 10 0
15 8 2 1
0 1
1 1
2 1
(continue...)
10 1
11 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_{\rm dh2}\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_s\times N_{\rm dh2}\))行: [int03] [int04] [int05] [int06]
(6+ \(N_s\times N_{\rm dh2}\)) - (5+ \((N_s+6) \times N_{\rm dh2}\))行:[int07] [int08]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 変分パラメータのセット総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 変分パラメータのセット総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : 変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ], [ int04 ], [ int05 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int06 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int07 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します(最適化有無の設定用)。値は
- \(n\): 周囲のdoublon(holon)数 (0, 1, 2)
- \(s\): 中心がdoublonの場合 \(0\), 中心がholonの場合 \(1\)
\(t\): 変分パラメータのセット番号(0, \(\cdots\) [int1]-1)
として、 \((2n+s)\times\) [int01] \(+t\) を設定します。
[ int08 ]
形式 : int型 (空白不可)
説明 : [int07]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int08 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
DH4指定ファイル¶
で表される4サイトのdoublon-holon相関因子の設定を行います。 指定するパラメータはサイト番号 \(i\) とその周囲4サイト、 \(\alpha_{4nt}^{d,h}\) の変分パラメータの番号で、 変分パラメータは各サイト毎に \(t\) 種類設定します。 各パラメータ、演算子に関する詳細は文献[Tahara2008 ]をご覧ください。 以下にファイル例を記載します。
====================================
NDoublonHolon4siteIdx 1
ComplexType 0
====================================
====================================
0 1 3 4 12 0
1 2 0 5 13 0
2 3 1 6 14 0
3 0 2 7 15 0
(continue...)
14 15 13 2 10 0
15 12 14 3 11 0
0 1
1 1
(continue...)
8 1
9 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_{\rm dh4}\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_s\times N_{\rm dh4}\))行: [int03] [int04] [int05] [int06] [int07] [int08]
(6+ \(N_s\times N_{\rm dh4}\)) - (5+ \((N_s+10) \times N_{\rm dh4}\))行:[int09] [int10]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 変分パラメータのセット総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 変分パラメータのセット総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : 変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ], [ int04 ], [ int05 ], [ int06 ], [ int07 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int08 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int09 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します(最適化有無の設定用)。値は
- \(n\): 周囲のdoublon(holon)数 (0, 1, 2, 3, 4)
- \(s\): 中心がdoublonの場合 \(0\), 中心がholonの場合 \(1\)
\(t\): 変分パラメータのセット番号(0, \(\cdots\) [int1]-1)
として、 \((2n+s)\times\) [int01] \([2]+t\) を設定します。
[ int10 ]
形式 : int型 (空白不可)
説明 : [int09]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int10 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
GeneralRBM_PhysLayer指定ファイル¶
RBM因子
のうち、 \(\exp \left[ \sum_i a_{i\sigma} n_{i\sigma} \right] ` の設定を行います。指定するパラメータはサイト番号 :math:`i\)、スピン番号 \(\sigma\)、および \(a_{i \sigma}\) の変分パラメータの番号です。以下にファイル例を記載します。
--------------------
NRBM_PhysLayerIdx 1
ComplexType 1
i s RBM_PhysLayer_Idx
--------------------
0 0 0
0 1 0
1 0 0
1 1 0
(continue...)
0 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_v\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(2N_s\)) 行: [int03] [int04] [int05]
(6+ \(2N_s\) ) - (5+ \(2N_s\) + \(N_v\))行:[int06] [int07]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : \(a_{i \sigma }\) の変分パラメータの種類の総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : \(a_{i \sigma }\) の変分パラメータの種類の総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : \(a_{i \sigma }\) の変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : \(a_{i \sigma }\) の変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int04 ]
形式 : int型 (空白不可)
説明 : スピン番号を指定する整数。0もしくは1で指定します。
[ int05 ]
形式 : int型 (空白不可)
説明 : \(a_{i \sigma }\) の変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int06 ]
形式 : int型 (空白不可)
説明 : \(a_{i \sigma }\) の変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。
[ int07 ]
形式 : int型 (空白不可)
説明 : [int06]で指定した \(a_{i \sigma }\) の変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
本機能はベータ版のため、使用には十分注意してください。また、正式リリースした際に、ファイル形式や実装が変更される可能性があります。
本機能は
ComplexType=1
かつ ペア軌道のうちOrbital
のみを指定したVMC計算のみ使用可能です。Power Lanczosの計算には対応していません。行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int07 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
Orbital/OrbitalAntiParallel指定ファイル(orbitalidx.def)¶
で表されるペア軌道の設定を行います。指定するパラメータはサイト番号 \(i, j\) と変分パラメータの種類を設定します。以下にファイル例を記載します。
====================================
NOrbitalIdx 64
ComplexType 0
====================================
====================================
0 0 0
0 1 1
0 2 2
0 3 3
(continue...)
15 9 62
15 10 63
0 1
1 1
(continue...)
62 1
63 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_{\rm o}\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_s^2\))行: [int03] [int04] [int05] [int06]
(6+ \(N_s^2\)) - (5+ \(N_s^2+N_{\rm o}\))行:[int07] [int08]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 変分パラメータのセット総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 変分パラメータのセット総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : 変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ], [ int04 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int05 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int06 ]
形式 : int型
説明 : 反周期境界条件モードがON(
ModPara
ファイルでNMPTrans
が負の場合に有効)の場合、変分パラメータ \(f_{ij}\) の番号の他に符号を反転するか否かを直接指定する。 [ int06 ] = \(\pm1\) により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。[ int07 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。
[ int08 ]
形式 : int型 (空白不可)
説明 : [int07]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int08 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
OrbitalParallel指定ファイル¶
で表されるペア軌道の設定を行います。指定するパラメータはサイト番号 \(i, j\) と変分パラメータの種類を設定します。以下にファイル例を記載します。
====================================
NOrbitalIdx 120
ComplexType 0
====================================
====================================
0 1 0
0 2 1
0 3 2
(continue...)
15 13 118
15 14 119
0 1
1 1
(continue...)
118 1
119 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_{\rm o}\) は変分パラメータの種類の数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_s*(N_s-1)/2\))行: [int03] [int04] [int05] [int06]
(6+ \(N_s*(N_s-1)/2\)) - (5+ \(N_s*(N_s-1)/2+N_{\rm o}\))行:[int07] [int08]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 変分パラメータのセット総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 変分パラメータのセット総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : 変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ], [ int04 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int05 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int06 ]
形式 : int型
説明 : 反周期境界条件モードがON(
ModPara
ファイルでNMPTrans
が負の場合に有効)の場合、変分パラメータ \(f_{ij}\) の番号の他に符号を反転するか否かを直接指定する。 [ int06 ] = \(\pm1\) により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。[ int07 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。
[ int08 ]
形式 : int型 (空白不可)
説明 : [int06]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int08 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
OrbitalGeneral指定ファイル¶
で表されるペア軌道の設定を行います。指定するパラメータはサイト番号 \(i, j\), スピン \(\sigma_1, \sigma_2\) と変分パラメータの種類を設定します。 \(i+\sigma_1 N_s < j+\sigma_2 N_s\) (\(\sigma=0 ,1\))を満たすように指定する必要があります。以下にファイル例を記載します。
====================================
NOrbitalIdx 255
ComplexType 0
====================================
====================================
0 0 0 1 0
0 0 1 1 1
(continue...)
14 0 15 1 253
15 0 15 1 254
0 1
1 1
(continue...)
253 1
254 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_{\rm o}\) は変分パラメータの種類の数)。 変分パラメータの総数 \(N_p\) は \(i+\sigma_1 N_s < j+\sigma_2 N_s\) (\(\sigma=0 ,1\))を満たすペアの総数に対応し、 \(S_z=0\) の場合は \(N_p=N_s^2\) 、 \(S_z\) 非保存の場合は \(N_p=2N_s^2-N_s\) 個となります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3行: [string02] [int02]
4-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_p\))行: [int03] [int04] [int05] [int06] [int07] [int08]
(6+ \(N_p\)) - (5+ \(N_p+N_{\rm o}\))行:[int09] [int10]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 変分パラメータのセット総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 変分パラメータのセット総数を指定します。
[ string02 ]
形式 : string型 (空白不可)
説明 : 変分パラメータの型を指定するためのキーワード名を指定します(任意)。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの型を指定します。0が実数、1が複素数に対応します。
[ int03 ], [ int05 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int04 ], [ int06 ]
形式 : int型 (空白不可)
説明 : スピンを指定する整数。0が \(\uparrow\) スピン, 1が \(\downarrow\) スピンに対応します。
[ int07 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します。0以上[int01]未満で指定します。
[ int08 ]
形式 : int型
説明 : 反周期境界条件モードがON(
ModPara
ファイルでNMPTrans
が負の場合に有効)の場合、変分パラメータ \(f_{ij}\) の番号の他に符号を反転するか否かを直接指定する。 [ int08 ] = \(\pm1\) により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。[ int09 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。
[ int10 ]
形式 : int型 (空白不可)
説明 : [int06]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。
[ int02 ]-[ int10 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
TransSym指定ファイル(qptransidx.def)¶
運動量射影 \({\cal L}_K=\frac{1}{N_s}\sum_{{\boldsymbol R}}e^{i {\boldsymbol K} \cdot{\boldsymbol R} } \hat{T}_{\boldsymbol R}\) と格子対称性射影 \({\cal L}_P=\sum_{\alpha}p_{\alpha} \hat{G}_{\alpha}\) について、重みとサイト番号に関する指定を行います。射影するパターンは \((\alpha, {\boldsymbol R})\) で指定されます。射影を行わない場合も重み1.0 で“恒等演算”を指定してください。 以下にファイル例を記載します。
====================================
NQPTrans 4
====================================
== TrIdx_TrWeight_and_TrIdx_i_xi ==
====================================
0 1.000000 0.000000
1 1.000000 0.000000
2 1.000000 0.000000
3 1.000000 0.000000
0 0 0
(continue...)
3 12 1
3 13 2
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_s\) はサイト数、 \(N_{\rm TS}\) は射影演算子の種類の総数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_{\rm TS}\))行: [int02] [double01] [double02]
(6+ \(N_{\rm TS}\)) - (5+ \((N_s+1) \times N_{\rm TS}\))行:[int03] [int04] [int05] [int06]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 射影パターンの総数に関するキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 射影パターンの総数を指定します。
[ int02 ]
形式 : int型 (空白不可)
説明 : 射影パターン \((\alpha, {\boldsymbol R})\) を指定する整数。0以上 [ int01 ] 未満で指定します。
[ double01 ]
形式 : double型 (空白不可)
説明 : 射影パターン \((\alpha, {\boldsymbol R})\) の重み \(p_{\alpha}\cos ({\boldsymbol K}\cdot {\boldsymbol R})\) の実部を指定します。
[ double02 ]
形式 : double型
説明 : 射影パターン \((\alpha, {\boldsymbol R})\) の重み \(p_{\alpha}\exp (i{\boldsymbol K}\cdot {\boldsymbol R})\) の虚部を指定します。
[ int03 ]
形式 : int型 (空白不可)
説明 : 射影パターン \((\alpha, {\boldsymbol R})\) を指定する整数。0以上 [ int01 ] 未満で指定します。
[ int04 ], [ int05 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。 [ int03 ] で指定した並進・点群移動をサイト番号 [ int04 ] に作用させた場合の行き先が、サイト番号 [ int05 ] となるように設定します。[ int06 ]
形式 : int型 (空白不可)
説明 : 反周期境界条件モードがON(
ModPara
ファイルでNMPTrans
が負の場合に有効)の場合、並進演算で生成消滅演算子の符号が反転するか否かを直接指定する。 [ int06 ] = \(\pm1\) により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている射影パターンの総数が異なる場合はエラー終了します。
[ int02 ]-[ int06 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
変分パラメータ初期値指定ファイル¶
各変分パラメータの初期値を設定することが可能です。
変分パラメータの種類は 入力ファイル指定用ファイル(namelist.def) において
InGutzwiller
, InJastrow
, InDH2
, InDH4
, InGeneralRBM_PhysLayer
, InGeneralRBM_HiddenLayer
, InGeneralRBM_PhysHidden
, InOrbital
,
InOrbitalAntiParallel
, InOrbitalParallel
, InOrbitalGeneral
をキーワードとして指定することで区別します。なお、ファイルフォーマットは全て共通です。
以下、 InJastrow
ファイルの例を記載します。
======================
NJastrowIdx 28
======================
== i_j_JastrowIdx ===
======================
0 -8.909963465082626488e-02 0.000000000000000000e+00
1 5.521681211878626955e-02 0.000000000000000000e+00
(continue...)
27 -9.017586139930480749e-02 0.000000000000000000e+00
ファイル形式¶
以下のように行数に応じ異なる形式をとります( \(N_v\) は変分パラメータの種類の総数)。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6 - (5+ \(N_v\))行: [int02] [double01] [double02]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 変分パラメータ総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 変分パラメータ総数を指定します。
[ int02 ]
形式 : int型 (空白不可)
説明 : 変分パラメータの種類を指定する整数。0以上 [ int01 ] で指定します。
[ double01 ]
形式 : double型 (空白不可)
説明 : 変分パラメータの初期値の実部を与えます。
[ double02 ] 形式 : double型 (空白不可)
説明 : 変分パラメータの初期値の虚部を与えます。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
RBM相関因子のインプット機能は、現バージョンではベータ版です。今後のバージョンアップにより、ファイル形式や実装が変更される可能性があります。本機能を使用する際は、十分な検証を行ってください。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている変分パラメータの総数が異なる場合はエラー終了します。
OneBodyG指定ファイル(greenone.def)¶
計算・出力する一体グリーン関数 \(\langle c_{i\sigma_1}^{\dagger}c_{j\sigma_2}\rangle\) を指定します。以下にファイル例を記載します。
===============================
NCisAjs 24
===============================
======== Green functions ======
===============================
0 0 0 0
0 1 0 1
1 0 1 0
1 1 1 1
2 0 2 0
2 1 2 1
3 0 3 0
3 1 3 1
4 0 4 0
4 1 4 1
5 0 5 0
5 1 5 1
6 0 6 0
6 1 6 1
7 0 7 0
7 1 7 1
8 0 8 0
8 1 8 1
9 0 9 0
9 1 9 1
10 0 10 0
10 1 10 1
11 0 11 0
11 1 11 1
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [int04] [int05]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 一体グリーン関数成分総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 一体グリーン関数成分の総数を指定します。
[ int02 ], [ int04 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int03 ], [ int05 ]
形式 : int型 (空白不可)
説明 : スピンを指定する整数。0: アップスピン1: ダウンスピンを選択することが出来ます。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている一体グリーン関数成分の総数が異なる場合はエラー終了します。
[ int02 ]-[ int05 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。
TwoBodyG指定ファイル(greentwo.def)¶
計算・出力する二体グリーン関数 \(\langle c_{i\sigma_1}^{\dagger}c_{j\sigma_2}c_{k\sigma_3}^{\dagger}c_{l\sigma_4}\rangle\) を指定します。 以下にファイル例を記載します。
=============================================
NCisAjsCktAltDC 576
=============================================
======== Green functions for Sq AND Nq ======
=============================================
0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0
0 0 0 0 1 1 1 1
0 0 0 0 2 0 2 0
0 0 0 0 2 1 2 1
0 0 0 0 3 0 3 0
0 0 0 0 3 1 3 1
0 0 0 0 4 0 4 0
0 0 0 0 4 1 4 1
0 0 0 0 5 0 5 0
0 0 0 0 5 1 5 1
0 0 0 0 6 0 6 0
0 0 0 0 6 1 6 1
0 0 0 0 7 0 7 0
0 0 0 0 7 1 7 1
0 0 0 0 8 0 8 0
0 0 0 0 8 1 8 1
0 0 0 0 9 0 9 0
0 0 0 0 9 1 9 1
0 0 0 0 10 0 10 0
0 0 0 0 10 1 10 1
0 0 0 0 11 0 11 0
0 0 0 0 11 1 11 1
0 1 0 1 0 0 0 0
…
ファイル形式¶
以下のように行数に応じ異なる形式をとります。
1行: ヘッダ(何が書かれても問題ありません)。
2行: [string01] [int01]
3-5行: ヘッダ(何が書かれても問題ありません)。
6行以降: [int02] [int03] [int04] [int05] [int06] [int07] [int08] [int09]
パラメータ¶
[ string01 ]
形式 : string型 (空白不可)
説明 : 二体グリーン関数成分総数のキーワード名を指定します(任意)。
[ int01 ]
形式 : int型 (空白不可)
説明 : 二体グリーン関数成分の総数を指定します。
[ int02 ], [ int04 ], [ int06 ], [ int08 ]
形式 : int型 (空白不可)
説明 : サイト番号を指定する整数。0以上
Nsite
未満で指定します。[ int03 ], [ int05 ], [ int07 ], [ int09 ]
形式 : int型 (空白不可)
説明 : スピンを指定する整数。0: アップスピン1: ダウンスピンを選択することが出来ます。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
行数固定で読み込みを行う為、ヘッダの省略はできません。
[ int01 ] と定義されている二体グリーン関数成分の総数が異なる場合はエラー終了します。
[ int02 ]-[ int09 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。