I am encountering a problem with the nmultMPO function on the following minimal example:
auto sites = Electron(N);
auto ampo = AutoMPO(sites);
ampo += 1.0, "Ntot",2;
auto H = toMPO(ampo);
auto H2 = nmultMPO(H,prime(H));
For me this code works for N<257, but nmultMPO fails for N>=257 with the error message:
terminate called after throwing an instance of 'std::runtime_error'
what(): Error condition in diagHermitian
Aborted (core dumped)
The same also happens for a less artificial Hamiltonian. For the Fermion SiteSet
I observe something similar. However, instead of an error message nmultMPO seems to return just a zero MPO here (again, small systems work fine).
Do you know where the problem could come from?
I would appreciate any help.