.. highlight:: none .. _Subsec:interall: InterAll指定ファイル ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ここでは一般二体相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。 .. math:: \mathcal{H} = \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}^{\phantom{\dagger}}c_{k\sigma_3}^{\dagger}c_{l\sigma_4}^{\phantom{\dagger}} 以下にファイル例を記載します。 :: ====================== 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行: ``[ninterall] [count]`` - 3-5行: ヘッダ(何が書かれても問題ありません)。 - 6行以降: ``[i] [s1] [j] [s2] [k] [s3] [l] [s4] [v.real] [v.imag]`` パラメータ ^^^^^^^^^^ - ``[ninterall]`` **形式 :** string型 (空白不可) **説明 :** 二体相互作用の総数のキーワード名を指定します(任意)。 - ``[count]`` **形式 :** int型 (空白不可) **説明 :** 二体相互作用の総数を指定します。 - ``[i]``, ``[j]``, ``[k]``, ``[l]`` **形式 :** int型 (空白不可) **説明 :** サイト番号を指定する整数。0以上\ ``Nsite``\ 未満で指定します。 - ``[s1]``, ``[s2]``, ``[s3]``, ``[s4]`` **形式 :** int型 (空白不可) **説明 :** スピンを指定する整数。 0=アップスピン, 1=ダウンスピン のいずれかの値を取ります。 - ``[v.real]`` **形式 :** float型 (空白不可) **説明 :** :math:`I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}`\ の実部を指定します。 - ``[v.imag]`` **形式 :** float型 (空白不可) **説明 :** :math:`I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}`\ の虚部を指定します。 使用ルール ^^^^^^^^^^ 本ファイルを使用するにあたってのルールは以下の通りです。 - 行数固定で読み込みを行う為、ヘッダの省略はできません。 - Hamiltonianがエルミートという制限から\ :math:`I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}=I_{lkji\sigma_4\sigma_3\sigma_2\sigma_1}^{\dagger}`\ の関係を満たす必要があります。上記の関係が成立しない場合には、 ``strict_hermite`` パラメータの値に応じて、エラー終了またはメッセージを表示します。 また、エルミート共役の形式は\ :math:`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}`\ に対して、\ :math:`I_{lkji\sigma_4\sigma_3\sigma_2\sigma_1}` :math:`c_{l\sigma_4}^{\dagger}c_{k\sigma_3}c_{j\sigma_2}^{\dagger}c_{i\sigma_1}`\ を満たすように入力してください。 - 成分が重複して指定された場合にはエラー終了します。 - ``[count]``\ と定義されているInterAllの総数が異なる場合はエラー終了します。 - ``[i]``, ``[j]``, ``[k]``, ``[l]``, ``[s1]``, ``[s2]``, ``[s3]``, ``[s4]``\ を指定する際、範囲外の整数を指定した場合はエラー終了します。 .. raw:: latex \newpage