QNANO
|
#include <CdaggerCdaggerCC_Iterator.h>
Public Member Functions | |
bool | done () const |
int | get_n1 () const |
int | get_n2 () const |
int | get_m1 () const |
int | get_m2 () const |
double | get_sign () const |
const Fermion_Index & | get_fi () const |
CdaggerCdaggerCC_Iterator & | adjust () |
CdaggerCdaggerCC_Iterator & | operator++ () |
CdaggerCdaggerCC_Iterator & | operator++ (int) |
CdaggerCdaggerCC_Iterator (const Fermion_Index &fi, int n_max_) | |
Protected Attributes | |
CdaggerC_Iterator | it_delta |
CdaggerC_Iterator | it1 |
CdaggerC_Iterator | it2 |
int | delta_counter |
int | rank |
int | n1 |
int | n2 |
int | m1 |
int | m2 |
int | n_max |
double | sign |
Iterates through c^dagger_n1 c^dagger_n2 c_m2 c_m1= delta_{n2,m2} c^dagger_n1 c_m1 - c^dagger_n1 c_m2 c^dagger_n2 c_m1 i.e.: if(m2 != n2): - c^dagger_n1 c_m2 c^dagger_n2 c_m1 if(m2 == n2): - c^dagger_n1 (c_m2 c^dagger_n2 - delta_{n2,m2}) c_m1 i.e. if n2 contained in c_m1|psi>: -> +delta_{n2,m2} c^dagger_n1 c_m1 if n2 not contained in c_m1|psi>: 0
or: go back: if(m2==n2): c^dagger_n1 c^dagger_n2 c_n2 c_m1 = : -c^dagger_n2 (delta_{n1,n2}- c_n2 c^dagger_n1 ) c_m1 = -delta_{n1,n2} c^dagger_n2 c_m1 + c^dagger_n2 c_n2 c^dagger_n1 c_m1 = ( c^dagger_n2 c_n2-delta_{n1,n2} ) c^dagger_n1 c_m1