Questions about 'max dim' and 'cutoff' when ensuring convergence in TDVP

Hi,
I wanted to ask a general question regarding the maxdim and cutoff parameters which are passed to the TDVP algorithm. How do these parameters interplay when performing TDVP? Does the algorithm try to satisfy the cutoff that you pass it without going over the max dims? For instance once the max dim is reached when performing TDVP does this imply that when continuing TDVP the cutoff that you have chosen is no longer being reached?
I am trying to work out how I can best ensure numerical convergence of my results by varying maxdim and cutoff.
Thanks for any comments and help

The way maxdim and cutoff are used together can seem complicated at first. Here is a good way to think about it:

  1. first the code uses cutoff to truncate the smallest singular values. It adds their squares (density matrix eigenvalues), normalized by the total of all of them, and when this sum exceeds the cutoff, it tries to truncate all of the ones summed up.
  2. however, if this truncation would end up keeping more than maxdim value, it only keeps a maxdim number of them instead.

You can also think of maxdim as a kind of ironclad “guarantee” that the bond dimension will never exceed its value (unless we have a bug in our code, then please tell us). And then you can think of cutoff as working to try to both ensure accuracy (sometimes maxdim forces it to not reach its accuracy goal) and also to be “greedy” some cases where the bond dimension can actually be taken much lower, while still delivering the target accuracy.

There are a few different styles of using these together:

  • small cutoff, large maxdim: accuracy at all costs, may become expensive
  • large-to-medium cutoff, large maxdim: want an “accuracy dominated” calculation. need accuracy, and hoping that maxdim will not grow too much or too quickly for the given problem. (This is probably the most common one for time evolution.)
  • large cutoff, small maxdim: prefer speed, just trying to get a rough estimate, maybe to initialize later passes of an algorithm or to estimate some properties of a system quickly
  • small cutoff, small maxdim: want to “flatten” the bond dimension to be very close to maxdim
3 Likes

This is really helpful, thank you.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.