4.2.6. InterAll指定ファイル

ここでは一般二体相互作用をハミルトニアンに付け加えます。付け加える項は以下で与えられます。

(4.8)\[\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}c_{k\sigma_3}^{\dagger}c_{l\sigma_4}\]

なお、スピンに関して計算する場合には、\(i=j, k=l\)となるよう設定してください。 また、オフダイアゴナル成分については、i1 sigma1 i2 sigma2 i3 sigma3 i4 sigma4 とi4 sigma4 i3 sigma3 i2 sigma2 i1 sigma1 のペアを必ず用意するようにしてください。 以下にファイル例を記載します。

======================
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\(]\)を指定する際、範囲外の整数を指定した場合はエラー終了します。