netket.models.NDM#

class netket.models.NDM[source]#

Bases: 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.

activation: Any#

The nonlinear activation function.

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

Initializer for the Dense layer matrix.

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__(σ)[source]#

Call self as a function.