You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a larger tensor network - an MPS - which during simplification gains hyperindices. Maybe this is instead the issue and diagonal reduction should no longer return an MPS? But I guess since for every complete fixed set of hyperindices, the remaining structure is still an MPS, it could also be valid to keep this structure.
If I now contract the MPS completely using structure and properly specifying all the output indices, the call ends up in TensorNetwork.contract_cumulative, which then calls contract_tags_ without passing output_inds along. Therefore, these are inferred automatically, which of course fails due to the presence of hyperindices:
I think simply passing on the output_inds would not quite be sufficient here, since the local output indices for a slice of sites will not match the overall output indices.
Treating it as not an MPS / 1D-TN anymore is probably the right thing to do, though as you say some 1D structure still remains so its not very clear cut.
One possibility would be to detect the presence of any hyper indices and turn off structured contract regardless of the TN class, assuming it to be invalid.
What happened?
I have a larger tensor network - an MPS - which during simplification gains hyperindices. Maybe this is instead the issue and diagonal reduction should no longer return an MPS? But I guess since for every complete fixed set of hyperindices, the remaining structure is still an MPS, it could also be valid to keep this structure.
If I now contract the MPS completely using structure and properly specifying all the output indices, the call ends up in
TensorNetwork.contract_cumulative
, which then callscontract_tags_
without passingoutput_inds
along. Therefore, these are inferred automatically, which of course fails due to the presence of hyperindices:quimb/quimb/tensor/tensor_core.py
Line 8600 in 6943fca
(Here,
opts
does not containoutput_inds
, as it is an explicit keyword.)What did you expect to happen?
Contract it in the same way as if I had used
all
(which works) instead of...
Minimal Complete Verifiable Example
No response
Relevant log output
Anything else we need to know?
No response
Environment
v1.9.0 on Python 3.12.7, Windows
The text was updated successfully, but these errors were encountered: