SunnySuite / Sunny.jl

Spin dynamics and generalization to SU(N) coherent states
Other
86 stars 19 forks source link

Procedure to quickly find local energy minimum #71

Closed kbarros closed 1 year ago

kbarros commented 1 year ago

LSWT requires as input a spin configuration that minimizes the classical energy. Our tutorials currently suggest finding a local minimum by running a long $T=0$ dynamics. Instead, we should provide an minimize_energy(sys) function that converges exponentially fast, using e.g. L-BFGS: http://julianlsolvers.github.io/Optim.jl/v0.9.3/algo/lbfgs/

For this we will need the negative energy gradient. In dipole mode, this is available as forces(sys). In SU(N) mode, I think the negative gradient is given by $\mathfrak{H}_i \mathbf{Z}_i$. See Integrators.jl for the procedure to numerically calculate this gradient (the variable name is HZ).