.. highlight:: none .. _Subsec:modpara: 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] 各項目の対応関係は以下の通りです。 - :math:`[`\ string01\ :math:`]` **形式 :** string型 (固定) **説明 :** キーワードの指定を行います。 - :math:`[`\ string02\ :math:`]` **形式 :** string型 (空白不可) **説明 :** アウトプットファイルのヘッダを指定します。 - :math:`[`\ int01\ :math:`]` **形式 :** int型 (空白不可) **説明 :** キーワードでひも付けられるパラメータを指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 9行目以降ではキーワードを記載後、半角空白を開けた後に整数値を書きます。 - 行数固定で読み込みを行う為、パラメータの省略はできません。   キーワード ^^^^^^^^^^ 以下、共通パラメータと各手法毎に必要なパラメータを記載します。   共通パラメータ ^^^^^^^^^^^^^^ - ``CDataFileHead`` **形式 :** string型 (空白不可) **説明 :** アウトプットファイルのヘッダ。例えば、一体のGreen関数の出力ファイル名が\ **xxx\_Lanczos\_cisajs.dat**\ として出力されます(xxxに\ ``CDataFileHead``\ で指定した文字が記載)。 - ``Nsite`` **形式 :** int型 (自然数) **説明 :** サイト数を指定する整数。 - ``Ncond`` **形式 :** int型 (自然数) **説明 :** 伝導電子数を指定する整数。グランドカノニカルの場合には使用されません。 - ``2Sz`` **形式 :** int型 (自然数) **説明 :** :math:`2S_z`\ を指定する整数。グランドカノニカルの場合には使用されません。電子系、近藤格子模型で\ :math:`S_z`\ 保存の計算を行う場合には\ ``Ncond``\ を指定する必要があります。 - ``initial_iv`` **形式 :** int型 (整数) **説明 :** 初期条件のベクトルを与えます。 - Lanczos法, CG法 - カノニカル集団かつ ``initial_iv`` :math:`\geq 0`\ の場合 ノンゼロの成分が指定されます。 - ``initial_iv`` :math:`< 0`\ の場合 乱数のシードが指定され、全ての成分に対して係数がランダムに与えられます。なお、グランドカノニカルの場合は初期状態として多くの状態を持つよう、こちらの様式が適用されます。 - TPQ法 乱数のシードが指定され、全ての成分に対して係数がランダムに与えられます。 初期ベクトル設定の詳細については、:ref:`Ch:Algorithm` を参照ください。 - ``CalcHS`` **形式 :** int型 (自然数) **説明 :** ``CalcHS=1``\ で量子数を指定したときのヒルベルト空間生成が高速化されます(詳細は http://issp-center-dep.github.io/HPhi/develop/tips.pdfを参照)。 デフォルトの値は1で、高速化アルゴリズムが使用されます。   Lanczos法で使用するパラメータ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ``exct`` **形式 :** int型 (自然数) **説明 :** Lanczos法で求める固有ベクトルの番号を指定する整数。 例えば、1なら基底状態のベクトル、2なら第一励起状態のベクトルを求めます。 - ``Lanczos_max`` **形式 :** int型 (自然数) **説明 :** Lanczosステップを行う回数の最大値を与えます。 指定した精度内で収束した場合には、これより短い回数で終了します。 この回数以内で収束しない場合はエラー終了します。 再計算を行う場合には、\ ``Lanczos_max``\ の最大数を過去のステップ数よりも大きくする必要があります。 - ``LanczosEps`` **形式 :** int型 (自然数) **説明 :** Lanczos法の収束判定条件を指定する整数。 一つ前のステップの固有値との相対誤差が, :math:`10^{- {\rm LanczosEps}}`\ 以下になった場合に収束したと判定します。 - ``LanczosTarget`` **形式 :** int型 (自然数) **説明 :** 何番目の固有値でランチョスの収束判定を行うかを指定する整数。1なら基底状態。2なら第一励起状態を示します。   CG法で使用するパラメータ ^^^^^^^^^^^^^^^^^^^^^^^^ - ``exct`` **形式 :** int型 (自然数) **説明 :** 求める固有ベクトルの本数を指定します。 - ``Lanczos_max`` **形式 :** int型 (自然数) **説明 :** CG法を行う際のステップ数の最大値を与えます。 指定した精度内で収束した場合には、これより短い回数で終了します。 この回数以内で収束しない場合はエラー終了します。 再計算を行う場合には、\ ``Lanczos_max``\ の最大数を過去のステップ数よりも大きくする必要があります。 - ``LanczosEps`` **形式 :** int型 (自然数) **説明 :** 残差ベクトルの2-ノルムが :math:`10^{- {\rm LanczosEps}/2}`\ 以下になった場合に収束したと判定します。   TPQ法で使用するパラメータ ^^^^^^^^^^^^^^^^^^^^^^^^^ - ``Lanczos_max`` **形式 :** int型 (自然数) **説明 :** TPQ法の総ステップ数を与えます。 再計算を行う場合には、\ ``Lanczos_max``\ の最大数を過去のステップ数よりも大きくする必要があります。 - ``LargeValue`` **形式 :** double型 (実数) **説明 :** TPQで使用する\ :math:`l-\hat{H}/N_{s}`\ の\ :math:`l`\ を指定する整数。 - ``NumAve`` **形式 :** int型 (自然数) **説明 :** 独立なrunを何回行うかを指定する整数。 - ``ExpecInterval`` **形式 :** int型 (自然数) **説明 :** 相関関数の計算を何回のTPQステップおきに行うかの指定する整数。 頻度を上げると計算コストが増大するので注意してください。   動的グリーン関数の計算で使用するパラメータ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ``OmegaOrg`` **形式 :** complex型 (複素数) **説明 :** 動的グリーン関数を計算する際の振動数\ :math:`\omega`\ の中心点を指定します。 スペース区切りで実部、虚部の順に指定し、虚部がない場合は実数として扱います。 - ``OmegaIm`` **形式 :** double型 (実数) **説明 :** 動的グリーン関数を計算する際の振動数\ :math:`\omega`\ の中心点の虚部を指定します。 中心点\ ``OmegaOrg``\ が指定されている場合は\ ``OmegaOrg``\ に虚部\ ``OmegaIm``\ を加えます。 - ``OmegaMax`` **形式 :** complex型 (複素数) **説明 :** 動的グリーン関数を計算する際の振動数\ :math:`\omega`\ の終点を指定します。 終点は\ ``OmegaOrg``\ :math:`+`\ ``OmegaMax``\ で与えられます。 スペース区切りで実部、虚部の順に指定し、虚部がない場合は実数として扱います。 - ``OmegaMin`` **形式 :** complex型 (複素数) **説明 :** 動的グリーン関数を計算する際の振動数\ :math:`\omega`\ の始点を指定します。 終点は\ ``OmegaOrg``\ :math:`+`\ ``OmegaMin``\ で与えられます。 スペース区切りで実部、虚部の順に指定し、虚部がない場合は実数として扱います。 - ``NOmega`` **形式 :** int型 (自然数) **説明 :** 動的グリーン関数を計算する際の振動数の刻み幅\ :math:`\Delta \omega = (` ``OmegaMax``- ``OmegaMin``\ :math:`)/N_{\omega}`\ を与えるための整数。振動数は\ :math:`z_n=`\ ``OmegaOrg``\ :math:`+`\ ``OmegaMin``\ :math:`+ \Delta \omega \times n`\ で与えられます。   実時間発展法で使用するパラメータ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ``Lanczos_max`` **形式 :** int型 (自然数) **説明 :** 実時間発展法の総ステップ数を与えます。 再計算を行う場合には、\ ``Lanczos_max``\ の最大数を過去のステップ数よりも大きくする必要があります。 - ``ExpandCoef`` **形式 :** int型 (自然数) **説明 :** 微小時間\ :math:`\Delta t`\ に対して実時間発展を行う際の .. math:: \exp\left(-i \hat{\cal H} \Delta t \right) = \sum_{n=0}^{N}\frac{1}{n!}\left(-i \hat{\cal H} \Delta t \right)^n に対する展開次数\ :math:`N`\ を与えます。 - ``ExpecInterval`` **形式 :** int型 (自然数) **説明 :** 相関関数の計算を行う際のステップ間隔を指定する整数。 頻度を上げると計算コストが増大するので注意してください。 - ``OutputInterval`` **形式 :** int型 (自然数) **説明 :** 時間発展中の波動関数を出力するステップ間隔を指定する整数。 (``CalcMod``\ ファイルで\ ``OutputEigenVec=1``\ にすると有効になります) .. raw:: latex \newpage