netket.models.RBMMultiVal#

class netket.models.RBMMultiVal[source]#

Bases: Module

A fully connected Restricted Boltzmann Machine (see netket.models.RBM) suitable for large local hilbert spaces. Local quantum numbers are passed through a one hot encoding that maps them onto an enlarged space of +/- 1 spins. In turn, these quantum numbers are used with a standard RBM wave function.

Attributes
alpha: Union[float, int] = 1#

feature density. Number of features equal to alpha * input.shape[-1]

precision: Any = None#

Numerical precision of the computation see jax.lax.Precision for details.

use_hidden_bias: bool = True#

if True uses a bias in the dense layer (hidden layer bias).

use_visible_bias: bool = True#

if True adds a bias to the input not passed through the nonlinear layer.

n_classes: int#

The number of classes in the one-hot encoding

activation: Any#

The nonlinear activation function.

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

Initializer for the Dense layer matrix.

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

Initializer for the hidden bias.

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

Initializer for the visible bias.

Methods
__call__(x)[source]#

Call self as a function.