Trans指定ファイル

ここではハミルトニアン

(2.3)\[\begin{aligned} \mathcal{H} = -\sum_{ij\sigma_1\sigma_2} t_{ij\sigma_1\sigma_2}c_{i\sigma_1}^{\dagger}c_{j\sigma_2}\end{aligned}\]

に対するTransfer積分\(t_{ij\sigma_1\sigma_2}\)を指定します。以下にファイル例を記載します。

========================
NTransfer      24
========================
========i_j_s_tijs======
========================
    0     0     2     0   1.000000  0.000000
    2     0     0     0   1.000000  0.000000
    0     1     2     1   1.000000  0.000000
    2     1     0     1   1.000000  0.000000
    2     0     4     0   1.000000  0.000000
    4     0     2     0   1.000000  0.000000
    2     1     4     1   1.000000  0.000000
    4     1     2     1   1.000000  0.000000
    4     0     6     0   1.000000  0.000000
    6     0     4     0   1.000000  0.000000
    4     1     6     1   1.000000  0.000000
    6     1     4     1   1.000000  0.000000
    6     0     8     0   1.000000  0.000000
    8     0     6     0   1.000000  0.000000
…

ファイル形式

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

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

  • 2行: [ntransfer] [count]

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

  • 6行以降: [i]  [s1]  [j]  [s2]  [v.real]  [v.imag]

パラメータ

  • [ntransfer]

    形式 : string型 (空白不可)

    説明 : Transfer総数のキーワード名を指定します(任意)。

  • [count]

    形式 : int型 (空白不可)

    説明 : Transferの総数を指定します。

  • [i], [j]

    形式 : int型 (空白不可)

    説明 : サイト番号を指定する整数。0以上Nsite未満で指定します。

  • [s1], [s2]

    形式 : int型 (空白不可)

    説明 : スピンを指定する整数。 0=アップスピン, 1=ダウンスピン のいずれかの値を取ります。

  • [v.real]

    形式 : float型 (空白不可)

    説明 : \(t_{ij\sigma_1\sigma_2}\)の実部を指定します。

  • [v.imag]

    形式 : float型 (空白不可)

    説明 : \(t_{ij\sigma_1\sigma_2}\)の虚部を指定します。

使用ルール

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

  • 行数固定で読み込みを行う為、ヘッダの省略はできません。

  • Hamiltonianがエルミートという制限から\(t_{ij\sigma_1\sigma_2}=t_{ji\sigma_2\sigma_1}^{\dagger}\)の関係を満たす必要があります。上記の関係が成立しない場合には、 strict_hermite パラメータの値に応じて、エラー終了またはメッセージを表示します。

  • 成分が重複して指定された場合にはエラー終了します。

  • [count]と定義されているTransferの総数が異なる場合はエラー終了します。

  • [i], [j], [s1], [s2]を指定する際、範囲外の整数を指定した場合はエラー終了します。