I want to be able to do something like
auto A = AutoMPO(sites);
auto B = AutoMPO(sites);
//Add operators to A and B
auto C = A*B;
auto myIQMPO = IQMPO(C);
I want to be able to do this because I have operators A and B that don't individually conserve quantum numbers, but their product does. So I can't do something like
auto A = AutoMPO(sites);
auto B = AutoMPO(sites);
//Add operators to A and B
auto myIQMPOA = IQMPO(A);
auto myIQMPOB = IQMPO(B);
IQMPO C;
nmultMPO(A,B,C);
because I can't construct the IQMPO of A and B individually. Additionally, experimenting with nmultMPO, I find that nmultMPO gives errors like
scale too big, omitting from reported eigenvalues
even when the product does have an efficient representation as a MPO. So I'd like to be able to construct products of AutoMPO operators directly.
Ultimately, I want to be able to take products like A*B*C*D, where A,B,C,D, are sums of a large number of local operators, so just figuring out what these products are in terms of Cup, Cdn, etc quickly gets prohibitively messy.
Is there any way to do this? Or is this feature something planned? Thanks!