issp-center-dev / mVMC

A numerical solver package for a wide range of quantum lattice models based on many-variable Variational Monte Carlo method
http://www.pasums.issp.u-tokyo.ac.jp/mvmc/en/
GNU General Public License v3.0
59 stars 19 forks source link

incorrect offdiagonal Green's functions #4

Closed ryuikaneko closed 5 years ago

ryuikaneko commented 5 years ago

Hi,

I check the physical quantities of several nonmagnetic wave functions (translational invariant singlet wave functions) and find unexpected behavior. I attach the minimal code. minimal_code.tar.gz As the simplest case, I use the exact wave function (4 sites) of J1-J2 Heisenberg chain at J2/J1=0.5, known as a Majumdar-Ghosh point. (See, for example, p.6 in https://arxiv.org/abs/0905.4854 .) Spin projection is turned off on purpose since the wave function is already in the singlet sector.

The ground state should be nonmagnetic but the expectation values <S{i}^{+}> = <c{i,up}^{dagger} c{i,down}> <S{i}^{-}> = <c{i,down}^{dagger} c{i,up}> give nonzero values ~0.5, which results in FM order along the x direction. Similarly, <S_i^z S_j^z>!=<S_i^x S_j^x>, so the expected SU(2) symmetry is broken.

The calculated energy itself is consistent with the exact result, and the calculated energy variance is exactly 0.

Best, Ryui Kaneko

k-ido commented 5 years ago

mVMC does not support measurements of offdiagonal expectation values in Sz=0. We will add error messages for such case. If you want to measure these quantities, please use “SpinGC” mode, where you can perform VMC simulations without Sz = 0 restriction.

xrq-phys commented 5 years ago

FYI, The error message was in version 0.2.0 but seems removed after 1.0.0 for compatibility with "SpinGC" calculation. Non-diagonal one-body Green's function should be always zero if Sz is fixed (as it hops form Sz=0 to Sz=\pm 1). But quantities like <S_i^x S_j^x> can be properly measured within Sz=0 by expanding some its non-diagonal components to exchange terms: C_i,up A_j,down C_k,down A_l,up = - C_i,up A_l,up C_k,down Aj,down + Delta{il} Delta_{jk}. (Here C is creation and A is annihilation operator.)

ryuikaneko commented 5 years ago

OK, thanks.