Hi,

I am trying to understand the inner workings of the DMRG algorithm implemented in ITensor. After going through a documentation page, I gathered that it is about finding the variational minimum of the energy by optimizing over two sites. However, when I wanted to get detailed information on the tutorial page it doesn't load for me.

So, here is my question: in essence how is this different from a simple optimization routine like the gradient decent algorithm? If it is different, can the DMRG algorithm still get struck into a local minima and end up not finding the true ground state of a hamiltonian (although it satisfies the prescribed precision)?

Note: I am using the Julia version of the code.