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!