quantax.model.Jastrow#

class quantax.model.Jastrow(sublattice: Translation | tuple[int, ...] | None=None, dtype: DTypeLike = <class 'jax.numpy.float32'>)#

Traditional two-body Jastrow factor with a symmetric matrix \(W\) of variational parameters. The natural variable depends on the system:

  • Spin systems use the spin-spin form \(\psi(s) = \exp\!\big(\frac{1}{2}\sum_{ij} W_{ij}\, s_i s_j\big)\), where \(s_i = \pm 1\) is the configuration on mode \(i\).

  • Fermion systems use the density-density form \(\psi(n) = \exp\!\big(\frac{1}{2}\sum_{ij} W_{ij}\, n_i n_j\big)\), where \(n_i \in \{0, 1\}\) is the occupation. The diagonal \(W_{ii} n_i\) acts as a one-body term, and for spinful fermions the spin-up and spin-down modes are coupled separately, so the on-site up-down coupling \(W_{i\uparrow, i\downarrow} n_{i\uparrow} n_{i\downarrow}\) realizes a Gutzwiller-type factor.

With a real dtype the factor is real and positive, so it is usually combined with a reference state that provides the sign structure, e.g. through GeneralJastrow.

__init__(sublattice: Translation | tuple[int, ...] | None=None, dtype: str | type[Any] | dtype | SupportsDType = <class 'jax.numpy.float32'>)#
Parameters:
  • sublattice – The translation symmetry under which the coupling matrix \(W\) is invariant, given as a Translation or a tuple of sublattice sizes along each axis. None leaves every matrix entry free.

  • dtype – The data type of the parameters. A complex dtype gives a holomorphic complex Jastrow factor.

Methods

__init__(sublattice, ...] | None = None, dtype)

Attributes

W_full

The full symmetric Nmodes x Nmodes coupling matrix.

W

sublattice

dtype

holomorphic