4.2.6. InterAll指定ファイル¶
ここでは一般二体相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。
\[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}c_{k\sigma_3}^{\dagger}c_{l\sigma_4}\]
なお、スピンに関して計算する場合には、\(i=j, k=l\)となるよう設定してください。 以下にファイル例を記載します。
======================
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}\)の虚部を指定します。
使用ルール¶
本ファイルを使用するにあたってのルールは以下の通りです。
- 行数固定で読み込みを行う為、ヘッダの省略はできません。
- Hamiltonianがエルミートという制限から\(I_{ijkl\sigma_1\sigma_2\sigma_3\sigma_4}=I_{lkji\sigma_4\sigma_3\sigma_2\sigma_1}^{\dagger}\)の関係を満たす必要があります。上記の関係が成立しない場合にはエラー終了します。 また、エルミート共役の形式は\(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}\)に対して、\(I_{lkji\sigma_4\sigma_3\sigma_2\sigma_1}\) \(c_{l\sigma_4}^{\dagger}c_{k\sigma_3}c_{j\sigma_2}^{\dagger}c_{i\sigma_1}\)を満たすように入力してください。
- スピンに関して計算する場合、\(i=j, k=l\)を満たさないペアが存在するとエラー終了します。
- 成分が重複して指定された場合にはエラー終了します。
- \([\)int01\(]\)と定義されているInterAllの総数が異なる場合はエラー終了します。
- \([\)int02\(]\)-\([\)int09\(]\)を指定する際、範囲外の整数を指定した場合はエラー終了します。