netket.models.RBMModPhase#

class netket.models.RBMModPhase[source]#

Bases: flax.linen.module.Module

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

In this case, two RBMs are taken to parameterize, 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).

variables#

Returns the variables in this module.

Return type

Mapping[str, Mapping[str, Any]]

Methods
activation()#
has_rng(name)#

Returns true if a PRNGSequence with name name exists.

Return type

bool

Parameters

name (str) –

kernel_init(shape, dtype=<class 'jax.numpy.float64'>)#
put_variable(col, name, value)#

Sets the value of a Variable.

Parameters
  • col (str) – the variable collection.

  • name (str) – the name of the variable.

  • value (Any) – the new value of the variable.

Returns: