Hi!
I'm using AutoMPO to implement the following hamiltonian. Here is a snippet of my code
int N = 12;
int Nc = N/2;
auto ampo = AutoMPO(sites);
auto Npart = N;
auto t1 = 1;
auto t2 = 0.5;
auto sites = Electron(N);
for(int b = 1; b < N; ++b)
{
ampo += t1,"Cdagup",b+1,"Cup",b;
ampo += -t1,"Cdagdn",b+1,"Cdn",b;
ampo += -t1,"Cdagup",b,"Cup",b+1;
ampo += t1,"Cdagdn",b,"Cdn",b+1;
}
ampo += t2,"Nup",Nc;
ampo += t2,"Ndn",Nc;
ampo += t2,"Cdagup",Nc,"Cdn",Nc;
ampo += t2,"Cdagdn",Nc,"Cup",Nc;
auto H = toMPO(ampo);
When I run my code I get the following error: "Index does not contain given QN block". When I remove the part containing the terms with 't2' the code runs fine. Is this due to some bug in AutoMPO or am I making some mistake when I do this? Is there anyway to get around this problem?
Best Regards
NIkhil