Throw error when calling `QGTOnTheFly.to_dense()` for non holomorphic ansatze (#1522)
Apparently more than one year ago we had realised that `QGTOnTheFly.to_dense` returns numerically wrong results when the ansatz is non holomorphic and the parameters are complex (no problem for real parameters). However, we had never implemented an error check, so sometimes it happened to me to try to run dynamics with `QGTOnTheFly` and non holomorphic, complex parameters ansatzes. I want to put an end to this, so here this is.
Showing
- CHANGELOG.md 1 addition, 0 deletionsCHANGELOG.md
- docs/api/errors.md 4 additions, 2 deletionsdocs/api/errors.md
- docs/api/utils.md 13 additions, 0 deletionsdocs/api/utils.md
- netket/errors.py 187 additions, 7 deletionsnetket/errors.py
- netket/jax/__init__.py 1 addition, 0 deletionsnetket/jax/__init__.py
- netket/jax/_jacobian/default_mode.py 14 additions, 38 deletionsnetket/jax/_jacobian/default_mode.py
- netket/jax/_jacobian/logic.py 202 additions, 40 deletionsnetket/jax/_jacobian/logic.py
- netket/optimizer/qgt/qgt_onthefly.py 52 additions, 1 deletionnetket/optimizer/qgt/qgt_onthefly.py
- netket/utils/__init__.py 2 additions, 0 deletionsnetket/utils/__init__.py
- netket/utils/holomorphic.py 130 additions, 0 deletionsnetket/utils/holomorphic.py
- pyproject.toml 1 addition, 0 deletionspyproject.toml
- test/driver/test_steadystate.py 1 addition, 1 deletiontest/driver/test_steadystate.py
- test/groundstate/test_vmc.py 1 addition, 1 deletiontest/groundstate/test_vmc.py
- test/optimizer/test_qgt_itersolve.py 6 additions, 3 deletionstest/optimizer/test_qgt_itersolve.py
- test/optimizer/test_qgt_logic.py 15 additions, 0 deletionstest/optimizer/test_qgt_logic.py
- test/optimizer/test_qgt_solvers.py 3 additions, 2 deletionstest/optimizer/test_qgt_solvers.py
- test/utils/test_holomorphic.py 51 additions, 0 deletionstest/utils/test_holomorphic.py
Loading
Please register or sign in to comment