Hi,
I am playing around the Hubbard ladder model using the code formula of the extHubbard model. The Hubbard ladder model is the most simple one with intra-chain nearest neighbour hopping t , inter-chain hopping t1 and one site interaction U. The code snipet of the model is the following:
auto sites = Hubbard(N);
/*
*Create the Hamiltonian using AutoMPO
*/
auto ampo = AutoMPO(sites);
for(int i = 1; i <= N; ++i)
{
ampo += U,"Nupdn",i;
}
/* intra-chain hopping t */
for(int b = 1; b < N-1; ++b)
{
ampo += -t,"Cdagup",b,"Cup",b+2;
ampo += -t,"Cdagup",b+2,"Cup",b;
ampo += -t,"Cdagdn",b,"Cdn",b+2;
ampo += -t,"Cdagdn",b+2,"Cdn",b;
}
/* inter-chain hopping t1 */
for(int b = 1; b < N; ++b)
{
if( (b & 0x1) )
{
ampo += -t1,"Cdagup",b,"Cup",b+1;
ampo += -t1,"Cdagup",b+1,"Cup",b;
ampo += -t1,"Cdagdn",b,"Cdn",b+1;
ampo += -t1,"Cdagdn",b+1,"Cdn",b;
}
}
auto H = IQMPO(ampo);
And I use the Neel state as the initial wavefunction mps.
The result does converge but with truncation error 10^(-6). Comparing with the 10^(-12) error in the result of extHubbard, this is not good. I have tried to improve the result by increasing sweeps.maxm() to 1000 and the trunc error stays at 10^(-6) until the 20th sweeps.
Any suggestions ? Thanks a lot for your help!
Best wishes
Deping Zhang