def METHOD_NAME(self):
    L = self.hilbert.size
    phys_dim = self.hilbert.local_size
    self._L = L
    self._phys_dim = phys_dim
    # determine transformation from local states to indices
    local_states = np.array(self.hilbert.local_states)
    loc_vals_spacing = np.roll(local_states, -1)[0:-1] - local_states[0:-1]
    if np.max(loc_vals_spacing) == np.min(loc_vals_spacing):
        self._loc_vals_spacing = jnp.array(loc_vals_spacing[0])
    else:
        raise AssertionError(
            "JaxMpsPeriodic can only be used with evenly spaced hilbert local values"
        )
    self._loc_vals_bias = jnp.min(local_states)
    # check whether graph is periodic chain
    chain_graph = Chain(self.graph.n_edges).to_igraph()
    if not ig.Graph(edges=self.graph.edges()).isomorphic(chain_graph):
        warnings.warn(
            "Warning: graph is not isomorphic to chain with periodic boundary conditions",
            UserWarning,
        )
    # determine shape of unit cell
    if self.symperiod is None:
        self._symperiod = L
    else:
        self._symperiod = self.symperiod
    if L % self._symperiod == 0 and self._symperiod > 0:
        if self.diag:
            unit_cell_shape = (self._symperiod, phys_dim, self.bond_dim)
        else:
            unit_cell_shape = (
                self._symperiod,
                phys_dim,
                self.bond_dim,
                self.bond_dim,
            )
    else:
        raise AssertionError(
            "The number of degrees of freedom of the Hilbert space needs to be a multiple of the period of the MPS"
        )
    # define diagonal tensors with correct unit cell shape
    if self.diag:
        iden_tensors = jnp.ones(
            (self._symperiod, phys_dim, self.bond_dim), dtype=self.param_dtype
        )
    else:
        iden_tensors = jnp.repeat(
            jnp.eye(self.bond_dim, dtype=self.param_dtype)[jnp.newaxis, :, :],
            self._symperiod * phys_dim,
            axis=0,
        )
        iden_tensors = iden_tensors.reshape(
            self._symperiod, phys_dim, self.bond_dim, self.bond_dim
        )
    self.kernel = (
        self.param("kernel", self.kernel_init, unit_cell_shape, self.param_dtype)
        + iden_tensors
    )