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
dtypethe factor is real and positive, so it is usually combined with a reference state that provides the sign structure, e.g. throughGeneralJastrow.- __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
Translationor a tuple of sublattice sizes along each axis.Noneleaves every matrix entry free.dtype – The data type of the parameters. A complex
dtypegives a holomorphic complex Jastrow factor.
Methods
__init__(sublattice, ...] | None = None, dtype)Attributes
W_fullThe full symmetric
Nmodes x Nmodescoupling matrix.Wsublatticedtypeholomorphic