.. include:: ../../bib/ref.txt .. _HowToExpert: エキスパートモード入力ファイル書式 ================================== ここではmVMCで使用する詳細入力ファイル(\*def)のフォーマットに関して説明します。 入力ファイルの種別は以下の6つで分類されます。 なお、キーワードの後にある括弧内に記載されているファイル名はvmcdry.outにより作成されるファイル名を表します。 (1) リスト: **キーワード指定なし (namelist.def)**: 使用するinput fileの名前のリストを書きます。なお、ファイル名は任意に指定することができます。 (2) 基本パラメータ: **ModPara (modpara.def)**: 計算時に必要な基本的なパラメーター(サイトの数、電子数など)を設定します。 **LocSpin (locspn.def)**: 局在スピンの位置を設定します。 (3) ハミルトニアン: 電子系の表式で記載されるハミルトニアン .. math:: \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} について設定します。ここで、 :math:`n_{i \sigma}=c_{i\sigma}^{\dagger}c_{i\sigma}` は スピン :math:`\sigma` を持つサイト :math:`i` の電子密度演算子を、 :math:`n_i=n_{i\uparrow}+n_{i\downarrow}` はサイト :math:`i` の電子密度演算子を それぞれ表します。 各ハミルトニアンのパラメータは以下のファイルで指定します。 **Trans (trans.def)**: :math:`{\cal H}_T` 内の :math:`t_{ij\sigma_1\sigma_2}` を指定します。 **CoulombIntra (coulombintra.def)**: :math:`{\cal H}_U` 内の :math:`U_i` を指定します。 **CoulombInter (coulombinter.def)**: :math:`{\cal H}_V` 内の :math:`V_{ij}` を指定します。 **Hund (hund.def)**: :math:`{\cal H}_H` 内の :math:`J_{ij}^{\rm Hund}` を指定します。 **Exchange (exchange.def)**: :math:`{\cal H}_E` 内の :math:`J_{ij}^{\rm Ex}` を指定します。 **PairHop**: :math:`{\cal H}_P` 内の :math:`J_{ij}^{\rm Pair}` を指定します。 **InterAll**: :math:`{\cal H}_I` 内の :math:`I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}` を指定します。 (4) 最適化対象変分パラメータ: 最適化する変分パラメータを指定します。変分波動関数は .. math:: \begin{aligned} |\psi \rangle &= {\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 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} で与えられます。ここで、 :math:`\Omega=(\alpha, \beta, \gamma)` はオイラー角、 :math:`\hat{R}(\Omega)` は回転演算子、 :math:`P_S(x)` は :math:`S` 次のルジャンドル多項式、 :math:`{\boldsymbol K}` は全運動量、 :math:`\hat{T}_{\boldsymbol R}` は並進ベクトル :math:`{\boldsymbol R}` に対応する並進演算子、 :math:`\hat{G}_{\alpha}` は格子の点群演算子、 :math:`p_\alpha` はパリティをそれぞれ表します。 ダブロン・ホロン相関因子に関する詳細は文献 [Tahara2008_ ]の説明を参照してください。 また、一体部分は実空間のペア関数 .. math:: |\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, を用いた波動関数で表されます。ここで :math:`N` は全電子数、 :math:`N_s` は全サイト数です。 最適化する変分パラメータは以下のファイルを用いて指定します ( :math:`{\cal L}_S` は **ModPara** ファイルでパラメータの指定をします)。 **Gutzwiller (gutzwilleridx.def)**: :math:`{\cal P}_G` のうち、最適化の対象とする変分パラメータ :math:`g_i` を指定します。 **Jastrow (jastrowidx.def)**: :math:`{\cal P}_J` のうち、最適化の対象とする変分パラメータ :math:`v_{ij}` を指定します。 **DH2**: :math:`{\cal P}_{d-h}^{(2)}` で表される2サイトのダブロン・ホロン相関因子を指定します。 **DH4**: :math:`{\cal P}_{d-h}^{(4)}` で表される4サイトのダブロン・ホロン相関因子を指定します。 **Orbital/OrbitalAntiParallel (orbitalidx.def)**: スピンが反平行のペア軌道 :math:`|\phi_{\rm pair} \rangle` を設定します。 **OrbitalParallel**: スピンが平行のペア軌道 :math:`|\phi_{\rm pair} \rangle` を設定します。 **OrbitalGeneral**: ペア軌道 :math:`|\phi_{\rm pair} \rangle` を設定します。 **TransSym (qptransidx.def)**: 運動量射影 :math:`{\cal L}_K` と格子対称性射影 :math:`{\cal L}_P` に関する指定を行います。 (5) 変分パラメータ初期値: 変分パラメータに関する初期値を与えます。 キーワード指定されない場合には :math:`0` が初期値として設定されます。 **InGutzwiller**: :math:`{\cal P}_G` 内の変分パラメータ :math:`g_i` の初期値を設定します。 **InJastrow**: :math:`{\cal P}_J` 内の変分パラメータ :math:`v_{ij}` の初期値を設定します。 **InDH2**: :math:`{\cal P}_{d-h}^{(2)}` 内の2サイトのダブロン・ホロン相関因子 :math:`\alpha_{2nt}^{d(h)}` の初期値を設定します。 **InDH4**: :math:`{\cal P}_{d-h}^{(4)}` 内の4サイトのダブロン・ホロン相関因子 :math:`\alpha_{4nt}^{d(h)}` の初期値を設定します。 **InOrbital/InOrbitalAntiParallel**: ペア軌道 :math:`|\phi_{\rm pair} \rangle` の :math:`f_{i\uparrow j\downarrow}` に関する初期値を設定します。 **InOrbitalParallel**: ペア軌道 :math:`|\phi_{\rm pair} \rangle` の :math:`f_{i\sigma j\sigma}` に関する初期値を設定します。 **InOrbitalGeneral**: ペア軌道 :math:`|\phi_{\rm pair} \rangle` の :math:`f_{i\sigma j\sigma_1}` に関する初期値を設定します。 (6) 出力: **OneBodyG (greenone.def)**:出力する一体Green関数を指定します。 **TwoBodyG (greentwo.def)**:出力する二体Green関数を指定します。 .. _InputFileList: 入力ファイル指定用ファイル(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です。それ以外のキーワードについては、指定がない場合はデフォルト値が採用されます(変分パラメータについては最適化されず、固定する設定となります)。詳細は各ファイルの説明を参照してください。 - 各キーワードは順不同に記述できます。 - 指定したキーワード、ファイルが存在しない場合はエラー終了します。 - :math:`\#` で始まる行は読み飛ばされます。 ======================== ======================================================================= Keywords 対応するファイルの概要 ======================== ======================================================================= ModPara :math:`^*` 計算用のパラメータを指定します。 LocSpin :math:`^*` 局在・遍歴スピンを指定します。 Trans 一般的な一体相互作用を指定します。 InterAll 一般的な二体相互作用を指定します。 CoulombIntra 内部クーロン相互作用を指定します。 CoulombInter サイト間クーロン相互作用を指定します。 Hund フント結合を指定します。 PairHop ペアホッピング相互作用を指定します。 Exchange 交換相互作用を指定します。 Gutzwiller 最適化するGutzwiller因子を設定します。 Jastrow 最適化する電荷Jastrow因子を指定します。 DH2 最適化する2サイトダブロン・ホロン相関因子を指定します。 DH4 最適化する4サイトダブロン・ホロン相関因子を指定します。 Orbital :math:`^*` 反平行のスピンを持つペア軌道因子を指定します。 OrbitalAntiParallel 反平行のスピンを持つペア軌道因子を指定します。 OrbitalParallel 平行のスピンを持つペア軌道因子を指定します。 OrbitalGeneral ペア軌道因子を指定します。 TransSym :math:`^*` 並進・格子対称演算子を設定します。 InGutzwiller Gutzwiller因子の初期値を設定します。 InJastrow 電荷Jastrow因子の初期値を設定します。 InDH2 2サイトダブロン・ホロン相関因子の初期値を設定します。 InDH4 4サイトダブロン・ホロン相関因子の初期値を設定します。 InOrbital ペア軌道因子 :math:`f_{i\uparrow j\downarrow}` の初期値を設定します。 InOrbitalAntiParallel ペア軌道因子 :math:`f_{i\uparrow j\downarrow}` の初期値を設定します。 InOrbitalParallel ペア軌道因子 :math:`f_{i\sigma j\sigma}` の初期値を設定します。 InOrbitalGeneral ペア軌道因子 :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります。 - 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 :math:`S_z` の値。電子がペアを組むため, 2 :math:`S_z` は偶数で指定する必要がある。 - ``NSPGaussLeg`` **形式 :** int型 (1以上、デフォルト値 = 8) **説明 :** スピン量子数射影の :math:`\beta` 積分( :math:`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_ ]の :math:`\varepsilon_{\rm wf}` に対応。 - ``DSROptStaDel`` **形式 :** double型 (デフォルト値 = 0.02) **説明 :** SR 法安定化因子。手法論文[Tahara2008_ ]の :math:`\varepsilon` に対応。 - ``DSROptStepDt`` **形式 :** double型 **説明 :** SR法で使用する刻み幅。手法論文[Tahara2008_ ]の :math:`\Delta t` に対応。 - ``NSROptCGMaxIter`` **形式 :** int型 (デフォルト値 = 0) **説明 :** SR-CG法での、CG法の繰り返し回数の上限。 0以下を指定した場合、最大で :math:`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) **説明 :** 期待値 :math:`\langle O_k O_l \rangle` を計算するとき行列-行列積にして高速化するオプション (1で機能On、モンテカルロサンプリング数に応じてメモリの消費が増大します [3]_)。 - ``NSRCG`` **形式 :** int型 (0もしくは1、デフォルト値=0) **説明 :** SR法で連立一次方程式 :math:`Sx=g` を解くときに、 :math:`S` を陽に構築せずに解くことでメモリを削減する [4]_ オプション[NeuscammanUmrigarChan_ ](1で機能On, ``NStore`` は1に固定されます)。 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) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一般的な一体相互作用をハミルトニアンに付け加え、ハミルトニアン中の相互作用パラメータ :math:`t_{ij\sigma_1\sigma2}` を指定します。付け加える項は以下で与えられます。 .. math:: \begin{aligned} {\cal H}_T =-\sum_{ij\sigma_1\sigma_2} t_{ij\sigma_1\sigma_2}c_{i\sigma_1}^{\dagger}c_{j\sigma_2}\end{aligned} 以下にファイル例を記載します。 :: ======================== 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型 (空白不可) **説明 :** :math:`t_{ij\sigma_1\sigma_2}` の実部を指定します。 - [ double02 ] **形式 :** double型 (空白不可) **説明 :** :math:`t_{ij\sigma_1\sigma_2}` の虚部を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - 空行は許されません。 - [ int01 ] と定義されているTrasferの総数が異なる場合はエラー終了します。 - [ int02 ]-[ int05 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 - Hamiltonianがエルミートという制限から :math:`t_{ij\sigma_1\sigma_2}=t_{ji\sigma_2\sigma_1}^{\dagger}` の関係を満たす必要があります。 InterAll指定ファイル ~~~~~~~~~~~~~~~~~~~~ 一般的な二体相互作用をハミルトニアンに付け加え、ハミルトニアン中の相互作用パラメータを指定します。 付け加える項は以下で与えられます。 .. math:: {\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} 以下にファイル例を記載します。 :: ====================== 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型 (空白不可) **説明 :** :math:`I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}` の実部を指定します。 - [ double02 ] **形式 :** double型 (空白不可) **説明 :** :math:`I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}` の虚部を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - ハミルトニアンがエルミートという制限から :math:`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) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ オンサイトクーロン相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。 .. math:: {\cal H}_U =\sum_{i}U_i n_ {i \uparrow}n_{i \downarrow} 以下にファイル例を記載します。 :: ====================== 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型 (空白不可) **説明 :** :math:`U_i` を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されているオンサイトクーロン相互作用の総数が異なる場合はエラー終了します。 - [ int02 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 CoulombInter指定ファイル(coulombiter.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ サイト間クーロン相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。 .. math:: {\cal H}_V = \sum_{i,j}V_{ij} n_ {i}n_{j} 以下にファイル例を記載します。 :: ====================== 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型 (空白不可) **説明 :** :math:`V_{ij}` を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されているオフサイトクーロン相互作用の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 Hund指定ファイル(hund.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~ Hundカップリングをハミルトニアンに付け加えます。付け加える項は以下で与えられます。 .. math:: {\cal H}_H =-\sum_{i,j}J_{ij}^{\rm Hund} (n_{i\uparrow}n_{j\uparrow}+n_{i\downarrow}n_{j\downarrow}) 以下にファイル例を記載します。 :: ====================== 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型 (空白不可) **説明 :** :math:`J_{ij}^{\rm Hund}` を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されているHundカップリングの総数が異なる場合はエラー終了します。 - [ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 PairHop指定ファイル ~~~~~~~~~~~~~~~~~~~ PairHopカップリングをハミルトニアンに付け加えます。付け加える項は以下で与えられます。 .. math:: {\cal H}_P=\sum_{i,j}J_{ij}^{\rm Pair} (c_ {i \uparrow}^{\dagger}c_{j\uparrow}c_{i \downarrow}^{\dagger}c_{j \downarrow} +c_{j \downarrow}^{\dagger}c_{i \downarrow}c_ {j \uparrow}^{\dagger}c_{i\uparrow}) 以下にファイル例を記載します。 :: ====================== 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型 (空白不可) **説明 :** :math:`J_{ij}^{\rm Pair}` を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されているPairHopカップリングの総数が異なる場合はエラー終了します。 - [ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 Exchange指定ファイル (exchange.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exchangeカップリングをハミルトニアンに付け加えます。 電子系の場合には .. math:: {\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}) が付け加えられ、スピン系の場合には .. math:: {\cal H}_E =\sum_{i,j}J_{ij}^{\rm Ex} (S_i^+S_j^-+S_i^-S_j^+) が付け加えられます。 以下にファイル例を記載します。 :: ====================== 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型 (空白不可) **説明 :** :math:`J_{ij}^{\rm Ex}` を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されているExchangeカップリングの総数が異なる場合はエラー終了します。 - [ int02 ]-[ int03 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 Gutzwiller指定ファイル(gutzwiller.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gutzwiller因子 .. math:: {\cal P}_G=\exp\left[ \sum_i g_i n_{i\uparrow} n_{i\downarrow} \right] の設定を行います。指定するパラメータはサイト番号 :math:`i` と :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_g` は変分パラメータの種類の数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_s`)行: [int03] [int04] - (6+ :math:`N_s`) - (5+ :math:`N_s` + :math:`N_g`)行:[int05] [int06] パラメータ ^^^^^^^^^^ - [ string01 ] **形式 :** string型 (空白不可) **説明 :** :math:`g_i` の変分パラメータの種類の総数のキーワード名を指定します(任意)。 - [ int01 ] **形式 :** int型 (空白不可) **説明 :** :math:`g_i` の変分パラメータの種類の総数を指定します。 - [ string02 ] **形式 :** string型 (空白不可) **説明 :** :math:`g_i` の変分パラメータの型を指定するためのキーワード名を指定します(任意)。 - [ int02 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータの型を指定する整数。0が実数、1が複素数に対応します。 - [ int03 ] **形式 :** int型 (空白不可) **説明 :** サイト番号を指定する整数。0以上 ``Nsite`` 未満で指定します。 - [ int04 ] **形式 :** int型 (空白不可) **説明 :** :math:`g_i` の変分パラメータの種類を表します。0以上[int01]未満で指定します。 - [ int05 ] **形式 :** int型 (空白不可) **説明 :** :math:`g_i` の変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。 - [ int06 ] **形式 :** int型 (空白不可) **説明 :** [int05]で指定した :math:`g_i` の変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int06 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 Jastrow指定ファイル(jastrow.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Jastrow因子 .. math:: {\cal P}_J=\exp\left[\frac{1}{2} \sum_{i\neq j} v_{ij} (n_i-1) (n_j-1)\right] の設定を行います。指定するパラメータはサイト番号 :math:`i, j` と :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_j` は変分パラメータの種類の数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_s\times (N_s-1)`) 行: [int03] [int04] [int05] - (6+ :math:`N_s\times (N_s-1)` ) - (5+ :math:`N_s\times (N_s-1)` + :math:`N_j`)行:[int06] [int07] パラメータ ^^^^^^^^^^ - [ string01 ] **形式 :** string型 (空白不可) **説明 :** :math:`v_{ij}` の変分パラメータの種類の総数のキーワード名を指定します(任意)。 - [ int01 ] **形式 :** int型 (空白不可) **説明 :** :math:`v_{ij}` の変分パラメータの種類の総数を指定します。 - [ string02 ] **形式 :** string型 (空白不可) **説明 :** :math:`v_{ij}` の変分パラメータの型を指定するためのキーワード名を指定します(任意)。 - [ int02 ] **形式 :** int型 (空白不可) **説明 :** :math:`v_{ij}` の変分パラメータの型を指定します。0が実数、1が複素数に対応します。 - [ int03 ], [ int04 ] **形式 :** int型 (空白不可) **説明 :** サイト番号を指定する整数。0以上 ``Nsite`` 未満で指定します。 - [ int05 ] **形式 :** int型 (空白不可) **説明 :** :math:`v_{ij}` の変分パラメータの種類を表します。0以上[int01]未満で指定します。 - [ int06 ] **形式 :** int型 (空白不可) **説明 :** :math:`v_{ij}` の変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。 - [ int07 ] **形式 :** int型 (空白不可) **説明 :** [int06]で指定した :math:`v_{ij}` の変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int07 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 DH2指定ファイル ~~~~~~~~~~~~~~~ .. math:: {\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] で表される2サイトのdoublon-holon相関因子の設定を行います。 指定するパラメータはサイト番号 :math:`i` とその周囲2サイト、 :math:`\alpha_{2nt}^{d,h}` の変分パラメータの番号で、 変分パラメータは各サイト毎に :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_{\rm dh2}` は変分パラメータの種類の数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_s\times N_{\rm dh2}`)行: [int03] [int04] [int05] [int06] - (6+ :math:`N_s\times N_{\rm dh2}`) - (5+ :math:`(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型 (空白不可) **説明 :** 変分パラメータの種類を表します(最適化有無の設定用)。値は - | :math:`n`: 周囲のdoublon(holon)数 (0, 1, 2) - | :math:`s`: 中心がdoublonの場合 :math:`0`, 中心がholonの場合 :math:`1` - :math:`t`: 変分パラメータのセット番号(0, :math:`\cdots` [int1]-1) として、 :math:`(2n+s)\times` [int01] :math:`+t` を設定します。 - [ int08 ] **形式 :** int型 (空白不可) **説明 :** [int07]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int08 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 DH4指定ファイル ~~~~~~~~~~~~~~~ .. math:: {\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] で表される4サイトのdoublon-holon相関因子の設定を行います。 指定するパラメータはサイト番号 :math:`i` とその周囲4サイト、 :math:`\alpha_{4nt}^{d,h}` の変分パラメータの番号で、 変分パラメータは各サイト毎に :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_{\rm dh4}` は変分パラメータの種類の数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_s\times N_{\rm dh4}`)行: [int03] [int04] [int05] [int06] [int07] [int08] - (6+ :math:`N_s\times N_{\rm dh4}`) - (5+ :math:`(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型 (空白不可) **説明 :** 変分パラメータの種類を表します(最適化有無の設定用)。値は - | :math:`n`: 周囲のdoublon(holon)数 (0, 1, 2, 3, 4) - | :math:`s`: 中心がdoublonの場合 :math:`0`, 中心がholonの場合 :math:`1` - :math:`t`: 変分パラメータのセット番号(0, :math:`\cdots` [int1]-1) として、 :math:`(2n+s)\times` [int01] :math:`[2]+t` を設定します。 - [ int10 ] **形式 :** int型 (空白不可) **説明 :** [int09]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int10 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 Orbital/OrbitalAntiParallel指定ファイル(orbitalidx.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. math:: |\phi_{\rm pair} \rangle = \left[\sum_{i, j=1}^{N_s} f_{ij}c_{i\uparrow}^{\dagger}c_{j\downarrow}^{\dagger} \right]^{N/2}|0 \rangle で表されるペア軌道の設定を行います。指定するパラメータはサイト番号 :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_{\rm o}` は変分パラメータの種類の数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_s^2`)行: [int03] [int04] [int05] [int06] - (6+ :math:`N_s^2`) - (5+ :math:`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`` が負の場合に有効)の場合、変分パラメータ :math:`f_{ij}` の番号の他に符号を反転するか否かを直接指定する。 [ int06 ] = :math:`\pm1` により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。 - [ int07 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。 - [ int08 ] **形式 :** int型 (空白不可) **説明 :** [int06]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int08 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 OrbitalParallel指定ファイル ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. math:: |\phi_{\rm pair} \rangle = \left[\sum_{i, j=1}^{N_s} f_{i\sigma j\sigma}c_{i\sigma}^{\dagger}c_{j\sigma}^{\dagger} \right]^{N/2}|0 \rangle で表されるペア軌道の設定を行います。指定するパラメータはサイト番号 :math:`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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_{\rm o}` は変分パラメータの種類の数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_s*(N_s-1)/2`)行: [int03] [int04] [int05] [int06] - (6+ :math:`N_s*(N_s-1)/2`) - (5+ :math:`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`` が負の場合に有効)の場合、変分パラメータ :math:`f_{ij}` の番号の他に符号を反転するか否かを直接指定する。 [ int06 ] = :math:`\pm1` により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。 - [ int07 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。 - [ int08 ] **形式 :** int型 (空白不可) **説明 :** [int06]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int08 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 OrbitalGeneral指定ファイル ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. math:: |\phi_{\rm pair} \rangle = \left[\sum_{i, j=1}^{N_s} \sum_{\sigma_1, \sigma_2}f_{i\sigma_1 j \sigma_2}c_{i\sigma_1}^{\dagger}c_{j\sigma_2}^{\dagger} \right]^{N/2}|0 \rangle で表されるペア軌道の設定を行います。指定するパラメータはサイト番号 :math:`i, j`, スピン :math:`\sigma_1, \sigma_2` と変分パラメータの種類を設定します。 :math:`i+\sigma_1 N_s < j+\sigma_2 N_s` (:math:`\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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_{\rm o}` は変分パラメータの種類の数)。 変分パラメータの総数 :math:`N_p` は :math:`i+\sigma_1 N_s < j+\sigma_2 N_s` (:math:`\sigma=0 ,1`)を満たすペアの総数に対応し、 :math:`S_z=0` の場合は :math:`N_p=N_s^2` 、 :math:`S_z` 非保存の場合は :math:`N_p=2N_s^2-N_s` 個となります。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3行: [string02] [int02] - 4-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_p`)行: [int03] [int04] [int05] [int06] [int07] [int08] - (6+ :math:`N_p`) - (5+ :math:`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が :math:`\uparrow` スピン, 1が :math:`\downarrow` スピンに対応します。 - [ int07 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータの種類を表します。0以上[int01]未満で指定します。 - [ int08 ] **形式 :** int型 **説明 :** 反周期境界条件モードがON( ``ModPara`` ファイルで ``NMPTrans`` が負の場合に有効)の場合、変分パラメータ :math:`f_{ij}` の番号の他に符号を反転するか否かを直接指定する。 [ int08 ] = :math:`\pm1` により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。 - [ int09 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータの種類を表します(最適化有無の設定用)。0以上[int01]未満で指定します。 - [ int10 ] **形式 :** int型 (空白不可) **説明 :** [int06]で指定した変分パラメータの最適化有無を設定します。最適化する場合は1、最適化しない場合は0とします。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの種類の総数が異なる場合はエラー終了します。 - [ int02 ]-[ int10 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 TransSym指定ファイル(qptransidx.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 運動量射影 :math:`{\cal L}_K=\frac{1}{N_s}\sum_{{\boldsymbol R}}e^{i {\boldsymbol K} \cdot{\boldsymbol R} } \hat{T}_{\boldsymbol R}` と格子対称性射影 :math:`{\cal L}_P=\sum_{\alpha}p_{\alpha} \hat{G}_{\alpha}` について、重みとサイト番号に関する指定を行います。射影するパターンは :math:`(\alpha, {\boldsymbol R})` で指定されます。射影を行わない場合も重み1.0 で“恒等演算”を指定してください。 以下にファイル例を記載します。 :: ==================================== NQPTrans 4 ==================================== == TrIdx_TrWeight_and_TrIdx_i_xi == ==================================== 0 1.000000 1 1.000000 2 1.000000 3 1.000000 0 0 0 (continue...) 3 12 1 3 13 2 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_s` はサイト数、 :math:`N_{\rm TS}` は射影演算子の種類の総数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_{\rm TS}`)行: [int02] [double01] - (6+ :math:`N_{\rm TS}`) - (5+ :math:`(N_s+1) \times N_{\rm TS}`)行:[int03] [int04] [int05] [int06] パラメータ ^^^^^^^^^^ - [ string01 ] **形式 :** string型 (空白不可) **説明 :** 射影パターンの総数に関するキーワード名を指定します(任意)。 - [ int01 ] **形式 :** int型 (空白不可) **説明 :** 射影パターンの総数を指定します。 - [ int02 ] **形式 :** int型 (空白不可) **説明 :** 射影パターン :math:`(\alpha, {\boldsymbol R})` を指定する整数。0以上 [ int01 ] 未満で指定します。 - [ double01 ] **形式 :** double型 (空白不可) **説明 :** 射影パターン :math:`(\alpha, {\boldsymbol R})` の重み :math:`p_{\alpha}\cos ({\boldsymbol K}\cdot {\boldsymbol R})` を指定します。 - [ int03 ] **形式 :** int型 (空白不可) **説明 :** 射影パターン :math:`(\alpha, {\boldsymbol R})` を指定する整数。0以上 [ int01 ] 未満で指定します。 - [ int04 ], [ int05 ] **形式 :** int型 (空白不可) **説明 :** サイト番号を指定する整数。0以上 ``Nsite`` 未満で指定します。 [ int03 ] で指定した並進・点群移動をサイト番号 [ int04 ] に作用させた場合の行き先が、サイト番号 [ int05 ] となるように設定します。 - [ int06 ] **形式 :** int型 (空白不可) **説明 :** 反周期境界条件モードがON( ``ModPara`` ファイルで ``NMPTrans`` が負の場合に有効)の場合、並進演算で生成消滅演算子の符号が反転するか否かを直接指定する。 [ int06 ] = :math:`\pm1` により符号を指定する。反周期境界条件モードがOFFの場合は省略可能。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている射影パターンの総数が異なる場合はエラー終了します。 - [ int02 ]-[ int06 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 .. _InputParam: 変分パラメータ初期値指定ファイル ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 各変分パラメータの初期値を設定することが可能です。 変分パラメータの種類は :ref:`InputFileList` において ``InGutzwiller``, ``InJastrow``, ``InDH2``, ``InDH4``, ``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 ファイル形式 ^^^^^^^^^^^^ 以下のように行数に応じ異なる形式をとります( :math:`N_v` は変分パラメータの種類の総数)。 - 1行: ヘッダ(何が書かれても問題ありません)。 - 2行: [string01] [int01] - 3-5行: ヘッダ(何が書かれても問題ありません)。 - 6 - (5+ :math:`N_v`)行: [int02] [double01] [double02] パラメータ ^^^^^^^^^^ - [ string01 ] **形式 :** string型 (空白不可) **説明 :** 変分パラメータ総数のキーワード名を指定します(任意)。 - [ int01 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータ総数を指定します。 - [ int02 ] **形式 :** int型 (空白不可) **説明 :** 変分パラメータの種類を指定する整数。0以上 [ int01 ] で指定します。 - [ double01 ] **形式 :** double型 (空白不可) **説明 :** 変分パラメータの初期値の実部を与えます。 - [ double02 ] **形式 :** double型 (空白不可) **説明 :** 変分パラメータの初期値の虚部を与えます。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - [ int01 ] と定義されている変分パラメータの総数が異なる場合はエラー終了します。 OneBodyG指定ファイル(greenone.def) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 計算・出力する一体グリーン関数 :math:`\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) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 計算・出力する二体グリーン関数 :math:`\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 ] を指定する際、範囲外の整数を指定した場合はエラー終了します。 .. [3] 使用メモリ量が、 :math:`O(N_\text{p}^2)` から :math:`O(N_\text{p}^2) + O(N_\text{p}N_\text{MCS})` になります。 .. [4] 使用メモリ量は、 :math:`O(N_\text{p}) + O(N_\text{p}N_\text{MCS})` です。