netket.models.RBMModPhase#

class netket.models.RBMModPhase[source]#

Bases: Module

A fully connected Restricted Boltzmann Machine (RBM) with real-valued parameters.

In this case, two RBMs are taken to parametrize, respectively, the real and imaginary part of the log-wave-function, as introduced in Torlai et al., Nature Physics 14, 447–450(2018).

This type of RBM has spin 1/2 hidden units and is defined by:

\[\Psi(s_1,\dots s_N) = e^{\sum_i^N a_i s_i} \times \Pi_{j=1}^M \cosh \left(\sum_i^N W_{ij} s_i + b_j \right)\]

for arbitrary local quantum numbers \(s_i\).

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).

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.

Methods
__call__(x)[source]#

Call self as a function.