This is an old revision of the document!


NewOperator

NewOperator(name, …) creates one of the standard operators as described in the section on standard operators.

NewOperator(Nf, Nb, CreationTable) can be used to create any operator of the form: \begin{eqnarray} \nonumber O = && \alpha^{(0,0)} 1 \\ \nonumber + \sum_i && \alpha^{(1,0)}_i a^{\dagger}_i + \alpha^{(0,1)}_i a_i \\ \nonumber + \sum_{i,j} && \alpha^{(2,0)}_{i,j} a^{\dagger}_ia^{\dagger}_j + \alpha^{(1,1)}_{i,j} a^{\dagger}_ia_j + \alpha^{(0,2)}_{i,j} a_ia_j \\ + \sum_{i,j,k} && ... . \end{eqnarray} The format of CreationTable for the above listed operator is: NewOperator(Nf, Nb, { {$i_1$,$j_1$,$k_1$,$\alpha_{i,j,k}$},{$i_1$,$j_1$,$\alpha_{i,j}$},…}) Whereby positive indices create a particle, negative indices annihilate a particle. Index $i$ for 0 to Nf-1 label Fermions, from Nf to Nf+Nb label Bosons. $\alpha$ can be either a real or a complex number. NewOperator can take a forth element specifying options.

Input

  • Nf : Integer
  • Nb : Integer
  • CreationTable : Table of tables, whereby each table is a list of orbital indices where a particle needs to be created (positive) or annihilated (negative) and a prefactor (real or complex number). Note that -0 and +0 are different.
  • Possible options
    • “Restrictions” A list specifying restrictions when applying the operator to a wave-function.
    • “Name” a string specifying the name of the operator
    • “NBitsKey” a list of integers specifying the number of bits in the key used for the hash lookup tables. Only useful when a lot of operations are done on the operators. Not used when Operator * Wavefunction is calculated.

Output

  • O : Operator

Example

description text

Input

NewOperator.Quanty
Nf = 5
Nb = 0
O = NewOperator(Nf, Nb, {{             10},
                         {0,-0,         3},
                         {0,1,2,3,4,  1+I}},
                {{"Name","Liberty"}})
print(O)

Result

NewOperator.out
Operator: Liberty
QComplex         =          2 (Real==0 or Complex==1 or Mixed==2)
MaxLength        =          5 (largest number of product of lader operators)
NFermionic modes =          5 (Number of fermionic modes (site, spin, orbital, ...) in the one particle basis)
NBosonic modes   =          0 (Number of bosonic modes (phonon modes, ...) in the one particle basis)
 
Operator of Length   0
QComplex      =          0 (Real==0 or Complex==1)
N             =          1 (number of operators of length   0)
|  1.000000000000000E+01
 
Operator of Length   5
QComplex      =          1 (Real==0 or Complex==1)
N             =          1 (number of operators of length   5)
C  4 C  3 C  2 C  1 C  0 |  1.000000000000000E+00  1.000000000000000E+00

Table of contents

Print/export