# netket.models.MPSPeriodic¶

class netket.models.MPSPeriodic(hilbert, graph, bond_dim, diag=False, symperiod=None, kernel_init=<function normal.<locals>.init>, dtype=<class 'numpy.complex64'>, parent=<flax.linen.module._Sentinel object>, name=None)[source]

A periodic Matrix Product State (MPS) for a quantum state of discrete degrees of freedom, wrapped as Jax machine.

The MPS is defined as

$\Psi(s_1,\dots s_N) = \mathrm{Tr} \left[ A[s_1]\dots A[s_N] \right] ,$

for arbitrary local quantum numbers $$s_i$$, where $$A[s_1]$$ is a matrix of dimension (bdim,bdim), depending on the value of the local quantum number $$s_i$$.

Attributes
diag: bool = False

Whether or not to use diagonal matrices in the MPS tensors.

symperiod: bool = None

Periodicity in the chain of MPS tensors.

The chain of MPS tensors is constructed as a sequence of identical unit cells consisting of symperiod tensors. if None, symperiod equals the number of physical degrees of freedom.

variables

Returns the variables in this module.

Return type
Methods
kernel_init(shape, dtype=<class 'jax._src.numpy.lax_numpy.float32'>)