QuantumKitHub / PEPSKit.jl

Julia package for PEPS algorithms
MIT License
53 stars 12 forks source link

pseudo inverse in sdiag_inv_sqrt? #73

Open huangrzh opened 2 weeks ago

huangrzh commented 2 weeks ago

For large bound dimension CTM environment, the inverse of small svd spectrum can be very large and finally may cause an instability to an inf gradient. It would be helpful to set a cutoff in the sdiag_inv_sqrt and the rrule of it.

huangrzh commented 2 weeks ago

In the two versions of CTMRG in obtaining the projectors/isometries: (1) use the whole 4x4 tensors (2) use half of it (4x2), the method (2) is more stable than (1) in AD is probably becuase of the too large element in sdiag_inv_sqrt or its rrule in method (1).

pbrehmer commented 2 days ago

Thanks for the pseudo-inverse suggestion, I opened a PR!

(1) use the whole 4x4 tensors (2) use half of it (4x2), the method (2) is more stable than (1) in AD is probably becuase of the too large element in sdiag_inv_sqrt or its rrule in method (1)

I'm not super sure what you suggest here; could give me some more details or a reference?