Table of Contents

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

Output

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