I'm trying to perform real-time evolution of the Heisenberg anti-ferromagnet on a Kagome lattice using fitApplyMPO. When I try to do this with a spin-half chain I don't get any errors. For the kagome lattice, the Hamiltonian I generate gives me a reasonable ground state so I think the problem isn't in the MPO itself. Furthermore, I also don't get errors (even in debug mode) when I do
auto expH = toExpH<ITensor>(aH, tau*Cplx_i);
The problem only occurs during this line:
psi = fitApplyMPO(psi, expH, args);
This is the error I get:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Any idea what is going on? I'm confused because this exact code works for a spin chain and the Hamiltonian itself, which is the only thing that is different, isn't causing issues directly.
Thanks in advance for the help!