4.2.3. ModParaファイル

計算で使用するパラメータを指定します。以下のようなフォーマットをしています。
--------------------
Model_Parameters   0
--------------------
HPhi_Cal_Parameters
--------------------
CDataFileHead  zvo
CParaFileHead  zqp
--------------------
Nsite          16
Ncond          16
2Sz            0
Lanczos_max    1000
initial_iv     12
exct           1
LanczosEps     14
LanczosTarget  2
LargeValue     12
NumAve         5
ExpecInterval  20

ファイル形式

以下のように行数に応じ異なる形式をとります。

  • 1 - 5行: ヘッダ(何が書かれても問題ありません)。

  • 6行: [string01] [string02]

  • 7 - 8行: ヘッダ(何が書かれても問題ありません)

  • 9行以降: [string01] [int01]

各項目の対応関係は以下の通りです。

  • \([\)string01\(]\)

    形式 : string型 (固定)

    説明 : キーワードの指定を行います。

  • \([\)string02\(]\)

    形式 : string型 (空白不可)

    説明 : アウトプットファイルのヘッダを指定します。

  • \([\)int01\(]\)

    形式 : int型 (空白不可)

    説明 : キーワードでひも付けられるパラメータを指定します。

使用ルール

本ファイルを使用するにあたってのルールは以下の通りです。

  • 9行目以降ではキーワードを記載後、半角空白を開けた後に整数値を書きます。

  • 行数固定で読み込みを行う為、パラメータの省略はできません。

キーワード

以下、共通パラメータと各手法毎に必要なパラメータを記載します。

共通パラメータ

  • CDataFileHead

    形式 : string型 (空白不可)

    説明 : アウトプットファイルのヘッダ。例えば、一体のGreen関数の出力ファイル名がxxx_Lanczos_cisajs.datとして出力されます(xxxにCDataFileHeadで指定した文字が記載)。

  • Nsite

    形式 : int型 (自然数)

    説明 : サイト数を指定する整数。

  • Ncond

    形式 : int型 (非負整数)

    説明 : 伝導電子数を指定する整数。グランドカノニカルの場合には使用されません。

  • 2Sz

    形式 : int型 (非負整数)

    説明 : \(2S_z\)を指定する整数。グランドカノニカルの場合には使用されません。電子系、近藤格子模型で\(S_z\)保存の計算を行う場合にはNcondを指定する必要があります。

  • initial_iv

    形式 : int型 (整数)

    説明 : 初期条件のベクトルを与えます。

    • Lanczos法, CG法

      • カノニカル集団かつ initial_iv \(\geq 0\)の場合

        ノンゼロの成分が指定されます。

      • initial_iv \(< 0\)の場合

      乱数のシードが指定され、全ての成分に対して係数がランダムに与えられます。なお、グランドカノニカルの場合は初期状態として多くの状態を持つよう、こちらの様式が適用されます。

    • TPQ法

      乱数のシードが指定され、全ての成分に対して係数がランダムに与えられます。

    初期ベクトル設定の詳細については、アルゴリズム を参照ください。

  • CalcHS

    形式 : int型 (自然数)

    説明 : CalcHS=1で量子数を指定したときのヒルベルト空間生成が高速化されます(詳細は http://www.pasums.issp.u-tokyo.ac.jp/wp-content/themes/HPhi/media/develop/tips.pdfを参照)。 デフォルトの値は1で、高速化アルゴリズムが使用されます。

Lanczos法で使用するパラメータ

  • exct

    形式 : int型 (自然数)

    説明 : Lanczos法で求める固有ベクトルの番号を指定する整数。 例えば、1なら基底状態のベクトル、2なら第一励起状態のベクトルを求めます。

  • Lanczos_max

    形式 : int型 (自然数)

    説明 : Lanczosステップを行う回数の最大値を与えます。 指定した精度内で収束した場合には、これより短い回数で終了します。 この回数以内で収束しない場合はエラー終了します。 再計算を行う場合には、Lanczos_maxの最大数を過去のステップ数よりも大きくする必要があります。

  • LanczosEps

    形式 : int型 (自然数)

    説明 : Lanczos法の収束判定条件を指定する整数。 一つ前のステップの固有値との相対誤差が, \(10^{- {\rm LanczosEps}}\)以下になった場合に収束したと判定します。

  • LanczosTarget

    形式 : int型 (自然数)

    説明 : 何番目の固有値でランチョスの収束判定を行うかを指定する整数。1なら基底状態。2なら第一励起状態を示します。

CG法で使用するパラメータ

  • exct

    形式 : int型 (自然数)

    説明 : 求める固有ベクトルの本数を指定します。

  • Lanczos_max

    形式 : int型 (自然数)

    説明 : CG法を行う際のステップ数の最大値を与えます。 指定した精度内で収束した場合には、これより短い回数で終了します。 この回数以内で収束しない場合はエラー終了します。 再計算を行う場合には、Lanczos_maxの最大数を過去のステップ数よりも大きくする必要があります。

  • LanczosEps

    形式 : int型 (自然数)

    説明 : 残差ベクトルの2-ノルムが \(10^{- {\rm LanczosEps}/2}\)以下になった場合に収束したと判定します。

TPQ法で使用するパラメータ

  • Lanczos_max

    形式 : int型 (自然数)

    説明 : TPQ法の総ステップ数を与えます。 再計算を行う場合には、Lanczos_maxの最大数を過去のステップ数よりも大きくする必要があります。

  • LargeValue

    形式 : double型 (実数)

    説明 : TPQで使用する\(l-\mathcal H/N_{s}\)\(l\)を指定する実数。 cTPQ計算では, \(l\) は虚時間発展の刻み幅として使われます(\(\Delta\tau=1/l\)). cTPQ計算の詳細は アルゴリズム を参照してください.

  • NumAve

    形式 : int型 (自然数)

    説明 : 独立なrunを何回行うかを指定する整数。

  • ExpecInterval

    形式 : int型 (自然数)

    説明 : 相関関数の計算を何回のTPQステップおきに行うかの指定する整数。 頻度を上げると計算コストが増大するので注意してください。

  • ExpandCoef

    Type : Int (自然数)

    Description : cTPQ計算における展開次数を指定する整数です(\(n_{\rm max}\));

    (4.5)\[U(\Delta\tau) = \sum_{n=0}^{n_{\rm max}}\frac{1}{n!}\left(-\frac{\Delta\tau}{2}\mathcal{H}\right)^n .\]

    詳しくは, :ref:`Ch:algorithm`を参照してください.

動的グリーン関数の計算で使用するパラメータ

  • OmegaOrg

    形式 : complex型 (複素数)

    説明 : 動的グリーン関数を計算する際の振動数\(\omega\)の原点を指定します。 スペース区切りで実部、虚部の順に指定し、虚部がない場合は実数として扱います。

  • OmegaIm

    形式 : double型 (実数)

    説明 : 動的グリーン関数を計算する際の振動数\(\omega\)の中心点の虚部を指定します。 中心点OmegaOrgが指定されている場合はOmegaOrgに虚部OmegaImを加えます。

  • OmegaMax

    形式 : complex型 (複素数)

    説明 : 動的グリーン関数を計算する際の振動数\(\omega\)の終点を指定します。 終点はOmegaOrg\(+\)OmegaMaxで与えられます。 スペース区切りで実部、虚部の順に指定し、虚部がない場合は実数として扱います。

  • OmegaMin

    形式 : complex型 (複素数)

    説明 : 動的グリーン関数を計算する際の振動数\(\omega\)の始点を指定します。 始点はOmegaOrg\(+\)OmegaMinで与えられます。 スペース区切りで実部、虚部の順に指定し、虚部がない場合は実数として扱います。

  • NOmega

    形式 : int型 (自然数)

    説明 : 動的グリーン関数を計算する際の振動数の刻み幅\(\Delta \omega = (\) OmegaMax- OmegaMin\()/N_{\omega}\)を与えるための整数。振動数は\(z_n=\)OmegaOrg\(+\)OmegaMin\(+ \Delta \omega \times n\)で与えられます。

実時間発展法で使用するパラメータ

  • Lanczos_max

    形式 : int型 (自然数)

    説明 : 実時間発展法の総ステップ数を与えます。 再計算を行う場合には、Lanczos_maxの最大数を過去のステップ数よりも大きくする必要があります。

  • ExpandCoef

    形式 : int型 (自然数)

    説明 : 微小時間\(\Delta t\)に対して実時間発展を行う際の

    (4.6)\[\exp\left(-i \cal H \Delta t \right) \approx \sum_{n=0}^{N}\frac{1}{n!}\left(-i \cal H \Delta t \right)^n\]

に対する展開次数\(N\)を与えます。

  • ExpecInterval

    形式 : int型 (自然数)

    説明 : 相関関数の計算を行う際のステップ間隔を指定する整数。 頻度を上げると計算コストが増大するので注意してください。

  • OutputInterval

    形式 : int型 (自然数)

    説明 : 時間発展中の波動関数を出力するステップ間隔を指定する整数。 (CalcModファイルでOutputEigenVec=1にすると有効になります)