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
For the future, anyone who wants to use the tensor module for intense calculations should probably optimize the canonization function. It currently assumes nothing and blindly canonizes starting from the left and moving right, then back from the right moving left. However, most operations only require moving the orthogonality center, if it exists. This could be tracked by adding a is_canonized boolean attribute to the tensor train and when this is true (i.e. certain operations will only act on and preserve the orthogonality center) then instead of recanonizing the whole train, just move the center the fewest number of sites to the desired location. Perhaps this could be a separate procedure, or a modification of the existing one by specifying it to canonize on only a slice of the sites in the train.
Update: this, along with mpo.expval and mps.inner (thus mpo.mel) are some of the bottlenecks in the code. As a matter of fact, my updates to the tensor module actually made my solution to assignment 2 slower because of all of this extra machinery which does a lot of canonization and contraction as often and safely as possible
The text was updated successfully, but these errors were encountered:
For the future, anyone who wants to use the tensor module for intense calculations should probably optimize the canonization function. It currently assumes nothing and blindly canonizes starting from the left and moving right, then back from the right moving left. However, most operations only require moving the orthogonality center, if it exists. This could be tracked by adding a
is_canonized
boolean attribute to the tensor train and when this is true (i.e. certain operations will only act on and preserve the orthogonality center) then instead of recanonizing the whole train, just move the center the fewest number of sites to the desired location. Perhaps this could be a separate procedure, or a modification of the existing one by specifying it to canonize on only a slice of the sites in the train.Update: this, along with
mpo.expval
andmps.inner
(thusmpo.mel
) are some of the bottlenecks in the code. As a matter of fact, my updates to the tensor module actually made my solution to assignment 2 slower because of all of this extra machinery which does a lot of canonization and contraction as often and safely as possibleThe text was updated successfully, but these errors were encountered: