Hi,
I am trying to calculate the MPS resulting from exp(-tau H)|psi> where where H has up to three site interaction terms, and the exponential is the usual Boltzmann operator in this case.
I can't use expH because of the three term interactions so I moved to applyExpH, but I keep on having an allocation error which I cannot trace back.
Here is a snippet of my code
auto args = Args("Cutoff=",1E-8,"MaxDim=",20,"Order=",2);
for (int i = 1; i<= Nstep; i++)
{
std::cout << "Step " << i << std::endl;
applyExpH(psi1,H,dt,res,args);
psi1 = res;
println("Norm: ",norm(res));
}
writeToFile(pfile,psi1);
The error I get is the following:
terminate called after throwing an instance of 'std::badalloc'
what(): std::badalloc
Removing the three site interactions the error disappear so it must be related to the Hamiltonian structure. Is this a normal behaviour?
Regards,
Raffaele