Skip to content

Gradient solver that can handle degenerate SVD values of structural origin #179

Description

@Frippio

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions