[GitHub commits](https://github.com/netket/netket/compare/v3.0b1...v3.0b2).
New features
* Group Equivariant Neural Networks have been added to `models` [620](https://github.com/netket/netket/pull/620)
* Permutation invariant RBM and Permutation invariant dense layer have been added to `models`
and `nn.linear` [573](https://github.com/netket/netket/pull/573)
* Add the property `acceptance` to `MetropolisSampler`'s `SamplerState`, computing the
MPI-enabled acceptance ratio. [592](https://github.com/netket/netket/pull/592).
* Add `StateLog`, a new logger that stores the parameters of the model during the
optimization in a folder or in a tar file. [645](https://github.com/netket/netket/pull/645)
* A warning is now issued if NetKet detects to be running under `mpirun` but MPI dependencies
are not installed [631](https://github.com/netket/netket/pull/631)
* `operator.LocalOperator`s now do not return a zero matrix element on the diagonal if the whole
diagonal is zero. [623](https://github.com/netket/netket/pull/623).
* `logger.JSONLog` now automatically flushes at every iteration if it does not consume significant
CPU cycles. [599](https://github.com/netket/netket/pull/599)
* The interface of Stochastic Reconfiguration has been overhauled and made more modular. You can now
specify the solver you wish to use, NetKet provides some dense solvers out of the box, and there are
3 different ways to compute the Quantum Geometric Tensor. Read the documentation to learn more about
it. [674](https://github.com/netket/netket/pull/674)
* Unless you specify the QGT implementation you wish to use with SR, we use an automatic heuristic based
on your model and the solver to pick one.
This might affect SR performance. [674](https://github.com/netket/netket/pull/674)
Breaking Changes
* For all samplers, `n_chains` now sets the _total_ number of chains across all MPI ranks. This is a breaking change
compared to the old API, where `n_chains` would set the number of chains on a single MPI rank. It is still possible to
set the number of chains per MPI rank by specifying `n_chains_per_rank` instead of `n_chains`. This change, while breaking
allows us to be consistent with the interface of {class}`variational.MCState`, where `n_samples` is the total number of samples
across MPI nodes.
* `MetropolisSampler.reset_chain` has been renamed to `MetropolisSampler.reset_chains`.
Likewise in the constructor of all samplers.
* Briefly during development releases `MetropolisSamplerState.acceptance_ratio` returned
the percentage (not ratio) of acceptance. `acceptance_ratio` is now deprecated in
favour of the correct `acceptance`.
* `models.Jastrow` now internally symmetrizes the matrix before computing its value [644](https://github.com/netket/netket/pull/644)
* `MCState.evaluate` has been renamed to `MCState.log_value` [632](https://github.com/netket/netket/pull/632)
* `nk.optimizer.SR` no longer accepts keyword argument relative to the sparse solver. Those should be passed
inside the closure or `functools.partial` passed as `solver` argument.
* `nk.optimizer.sr.SRLazyCG` and `nk.optimizer.sr.SRLazyGMRES` have been deprecated and will soon be removed.
* Parts of the `Lattice` API have been overhauled, with deprecations of several methods in favor of a consistent usage of `Lattice.position` for real-space location of sites and `Lattice.basis_coords` for location of sites in terms of basis vectors. `Lattice.sites` has been added, which provides a sequence of `LatticeSite` objects combining all site properties. Furthermore, `Lattice` now provides lookup of sites from their position via `id_from_position` using a hashing scheme that works across periodic boundaries. [703](https://github.com/netket/netket/pull/703) [#715](https://github.com/netket/netket/pull/715)
* `nk.variational` has been renamed to `nk.vqs` and will be removed in a future release.
Bug Fixes
* Fix `operator.BoseHubbard` usage under jax Hamiltonian Sampling [662](https://github.com/netket/netket/pull/662)
* Fix `SROnTheFly` for `R->C` models with non homogeneous parameters [661](https://github.com/netket/netket/pull/661)
* Fix MPI Compilation deadlock when computing expectation values [655](https://github.com/netket/netket/pull/655)
* Fix bug preventing the creation of a `hilbert.Spin` Hilbert space with odd sites and even `S`. [641](https://github.com/netket/netket/pull/641)
* Fix bug [635](https://github.com/netket/netket/pull/635) preventing the usage of `NumpyMetropolisSampler` with `MCState.expect` [#635](https://github.com/netket/netket/pull/635)
* Fix bug [635](https://github.com/netket/netket/pull/635) where the {class}`graph.Lattice` was not correctly computing neighbours because of floating point issues. [#633](https://github.com/netket/netket/pull/633)
* Fix bug the Y Pauli matrix, which was stored as its conjugate. [618](https://github.com/netket/netket/pull/618) [#617](https://github.com/netket/netket/pull/617) [#615](https://github.com/netket/netket/pull/615)