Hello,
I'm working on a small project where I try to implement an exact solution for the toric code ground state.
The exact solution is described in (https://arxiv.org/pdf/1912.00908).
So far this step has been successful, the state is generated and the result looks good when I measure the energy of the system, and observables like the star and plaquette term.
The idea now is to add an external field and increase the strength gradually step by step, and measure the correlation length in order to detect a phase transition. So the progression goes as this, increase the field (h_x and/or h_z) a little bit and update the Hamiltonian. Use the ground state for zero field and the new Hamiltionian in fixedpoint(..). When convergence is reached update the Hamiltonian with a small increase in h again, use the previous converged peps/environment in the fixedpoint(..), and this process is repeated.
However, I'm having troubles that seems to come from the fact that the SVD has degenerate singular values, so this line is often occurring @warn("degenerate singular values detected: ", svals) when fixedpoint(...) is searching for a ground state of the perturbed system.
From my understanding degenerate singular values makes it hard to construct a good gradient. And since the simulation crashes eventually, can this degeneracy be the root cause?
And is there some keyword argument like changing the solver or some other solution one could implement in order to improve this problem?
Hello,
I'm working on a small project where I try to implement an exact solution for the toric code ground state.
The exact solution is described in (https://arxiv.org/pdf/1912.00908).
So far this step has been successful, the state is generated and the result looks good when I measure the energy of the system, and observables like the star and plaquette term.
The idea now is to add an external field and increase the strength gradually step by step, and measure the correlation length in order to detect a phase transition. So the progression goes as this, increase the field (h_x and/or h_z) a little bit and update the Hamiltonian. Use the ground state for zero field and the new Hamiltionian in fixedpoint(..). When convergence is reached update the Hamiltonian with a small increase in h again, use the previous converged peps/environment in the fixedpoint(..), and this process is repeated.
However, I'm having troubles that seems to come from the fact that the SVD has degenerate singular values, so this line is often occurring @warn("degenerate singular values detected: ", svals) when fixedpoint(...) is searching for a ground state of the perturbed system.
From my understanding degenerate singular values makes it hard to construct a good gradient. And since the simulation crashes eventually, can this degeneracy be the root cause?
And is there some keyword argument like changing the solver or some other solution one could implement in order to improve this problem?