NBodyInterAll file

This file determines generic N-body interaction terms added to the Hamiltonian. A line with \(N\) factors represents

(4.9)\[{\mathcal H} += V \prod_{p=1}^{N} c_{i_p\sigma'_p}^{\dagger} c_{j_p\sigma_p}.\]

For Spin/SpinGC models, each factor represents a local spin matrix element on one site instead of a fermion bilinear, and the input must satisfy \(i_p=j_p\). The factors are written in the order used by the operator product. An example of the file format is as follows.

==========================
NNBodyInterAll 3
==========================
========NBodyInterAll=====
==========================
1 0 0 1 0 -1.0 0.0
1 1 0 0 0 -1.0 0.0
2 0 0 0 0 1 1 1 1 0.5 0.0

File format

  • Line 1: Header

  • Line 2: [string01] [int01]

  • Lines 3-5: Header

  • Lines 6-: [int02] ([int03] [int04] [int05] [int06]) … [double01] [double02]. The group in parentheses is repeated [int02] times.

Parameters

  • [string01]

    Type : String (a blank parameter is not allowed)

    Description : A keyword for the total number of generic N-body interaction terms. You can freely give a name to the keyword.

  • [int01]

    Type : Int (a blank parameter is not allowed)

    Description : An integer giving the total number of generic N-body interaction terms.

  • [int02]

    Type : Int (a blank parameter is not allowed)

    Description : The number of factors \(N\) in this term. It must be a positive integer.

  • [int03], [int05] of each factor

    Type : Int (a blank parameter is not allowed)

    Description : Site indices (\(0<=\) site index \(<\) Nsite). [int03] and [int05] correspond to \(i_p\) and \(j_p\), respectively.

  • [int04], [int06] of each factor

    Type : Int (a blank parameter is not allowed)

    Description : Spin or local-state indices.
    For Hubbard, tJ, Kondo, and their GC/NConserved variants:
    0: Up-spin,
    1: Down-spin.
    For Spin/SpinGC, use the same local-state index convention as OneBodyG and TwoBodyG.
    For SpinlessFermion/SpinlessFermionGC, only 0 is allowed (any non-zero index causes an error).
  • [double01]

    Type : Double (a blank parameter is not allowed)

    Description : A value for the real part of \(V\).

  • [double02]

    Type : Double (a blank parameter is not allowed)

    Description : A value for the imaginary part of \(V\).

Use rules

  • Headers cannot be omitted.

  • A program is terminated when [int01] is different from the total number of generic N-body interaction terms defined in this file.

  • A program is terminated when a site index or spin index is outside the allowed range.

  • For Spin/SpinGC, every factor must satisfy \(i_p=j_p\).

  • For Kondo/KondoGC/KondoNConserved, a factor involving a local-spin site must satisfy \(i_p=j_p\). General-spin Kondo local spins are not supported.

  • Diagonal NBodyInterAll terms must have a zero imaginary part.

  • Since the Hamiltonian must be Hermitian, off-diagonal NBodyInterAll terms must be written as adjacent Hermite-conjugate pairs. For fermion models, the conjugate line is written by reversing the factor order, swapping creation and annihilation indices in each factor, and using the complex-conjugate coefficient. For Spin/SpinGC, the strict Hermite-conjugate form, obtained by reversing the factor order, swapping the local-state indices, and using the complex-conjugate coefficient, is accepted. If all factors act on different sites, the spin operators commute, so the equivalent order-preserved form is also accepted.

    For example, in a fermion model, the following two adjacent lines form a Hermite-conjugate pair:

    2 0 0 1 0 2 1 3 1 0.25  0.10
    2 3 1 2 1 1 0 0 0 0.25 -0.10
    

    These lines correspond to

    (4.10)\[\begin{split}\begin{aligned} &(0.25+0.10\mathrm{i}) c_{0,0}^{\dagger} c_{1,0} c_{2,1}^{\dagger} c_{3,1},\\ &(0.25-0.10\mathrm{i}) c_{3,1}^{\dagger} c_{2,1} c_{1,0}^{\dagger} c_{0,0}. \end{aligned}\end{split}\]

    In Spin/SpinGC, the strict Hermite-conjugate form can be written in the same way:

    2 0 1 0 0 2 0 2 1 0.25  0.10
    2 2 1 2 0 0 0 0 1 0.25 -0.10
    

    With \(X_i^{ab}=|a\rangle_i\langle b|\), these lines correspond to the following operators. For spin-1/2, the same pair can also be written with \(S^\pm\).

    (4.11)\[\begin{split}\begin{aligned} &(0.25+0.10\mathrm{i}) X_0^{1,0} X_2^{0,1} =(0.25+0.10\mathrm{i}) S_0^+ S_2^-,\\ &(0.25-0.10\mathrm{i}) X_2^{1,0} X_0^{0,1} =(0.25-0.10\mathrm{i}) S_2^+ S_0^-. \end{aligned}\end{split}\]

    Since the two factors act on different sites, the second line may also keep the same site order as the first line:

    2 0 1 0 0 2 0 2 1 0.25  0.10
    2 0 0 0 1 2 1 2 0 0.25 -0.10
    

    This corresponds to the same Hermite-conjugate pair:

    (4.12)\[\begin{aligned} &(0.25-0.10\mathrm{i}) X_0^{0,1} X_2^{1,0} =(0.25-0.10\mathrm{i}) S_0^- S_2^+ =(0.25-0.10\mathrm{i}) S_2^+ S_0^-. \end{aligned}\]
  • NBodyInterAll is supported for SpinGC, Spin, HubbardGC, Hubbard, HubbardNConserved, SpinlessFermionGC, SpinlessFermion, tJGC, tJ, tJNConserved, KondoGC, Kondo, and KondoNConserved.

  • NBodyInterAll is not supported in TimeEvolution.

  • NBodyInterAll does not support CalcSpec for HubbardNConserved, tJNConserved, or KondoNConserved.

  • NBodyInterAll is not supported in FullDiag for SpinlessFermion/SpinlessFermionGC.