netket.models.NDM#

class netket.models.NDM[source]#

Bases: flax.linen.module.Module

Encodes a Positive-Definite Neural Density Matrix using the ansatz from Torlai and Melko, PRL 120, 240503 (2018).

Assumes real dtype. A discussion on the effect of the feature density for the pure and mixed part is given in Vicentini et Al, PRL 122, 250503 (2019).

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

The feature density for the pure-part of the ansatz. Number of features equal to alpha * input.shape[-1]

beta: Union[float, int] = 1#

The feature density for the mixed-part of the ansatz. Number of features equal to beta * input.shape[-1]

precision: Any = None#

numerical precision of the computation see `jax.lax.Precision`for details.

use_ancilla_bias: bool = True#

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

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.

variables#

Returns the variables in this module.

Return type

Mapping[str, Mapping[str, Any]]

Methods
activation()#
bias_init(shape, dtype=<class 'jax.numpy.float64'>)#
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:

visible_bias_init(shape, dtype=<class 'jax.numpy.float64'>)#