====== 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 ====
Nf = 5
Nb = 0
O = NewOperator(Nf, Nb, {{ 10},
{0,-0, 3},
{0,1,2,3,4, 1+I}},
{{"Name","Liberty"}})
print(O)
==== Result ====
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.00000000000000E+01
Operator of Length 2
QComplex = 0 (Real==0 or Complex==1)
N = 1 (number of operators of length 2)
C 0 A 0 | 3.00000000000000E+00
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.00000000000000E+00 1.00000000000000E+00
===== Table of contents =====
{{indexmenu>.#1}}