class netket.experimental.models.MultiSlater2nd[source]#

Bases: Module

A slater determinant ansatz for second-quantised spinless or spin-full fermions with a sum of determinants.

Refer to Slater2nd for details about the different variants of Hartree Fock and the flags.

generalized: bool = False#

Uses Generalized Hartree-Fock if True (defaults to False, corresponding to the standard spin-conserving Hartree-Fock).

n_determinants: int = 1#

The number of determinants to be summed.

restricted: bool = True#

Flag to select the restricted- or unrestricted- Hartree Fock orbitals (Defaults to restricted).

This flag is ignored if generalized=True.

  • If restricted, only one set of orbitals are parametrised, and they are used for all spin subsectors. This only works if every spin subsector holds the same number of fermions.

  • If unrestricted, a different set of orbitals are parametrised and used for each spin subsector.

hilbert: SpinOrbitalFermions#

The Hilbert space upon which this ansatz is defined. Used to determine the number of orbitals and spin subspectors.

kernel_init: Callable[[Any, Sequence[int], Any], Union[ndarray, Array]]#

Initializer for the orbital parameters.


Assumes inputs are strings of 0,1 that specify which orbitals are occupied. Spin sectors are assumed to follow the SpinOrbitalFermion’s factorisation, meaning that the first n_orbitals entries correspond to sector -1, the second n_orbitals correspond to 0 … etc.