# netket.sampler.rules.LocalRule¶

class netket.sampler.rules.LocalRule[source]

Bases: netket.sampler.metropolis.MetropolisRule

A transition rule acting on the local degree of freedom.

This transition acts locally only on one local degree of freedom $$s_i$$, and proposes a new state: $$s_1 \dots s^\prime_i \dots s_N$$, where $$s^\prime_i \neq s_i$$.

The transition probability associated to this sampler can be decomposed into two steps:

1. One of the site indices $$i = 1\dots N$$ is chosen with uniform probability. 2. Among all the possible ($$m$$) values that $$s_i$$ can take, one of them is chosen with uniform probability.

__init__()

Initialize self. See help(type(self)) for accurate signature.

Return type

None

Methods
init_state(sampler, machine, params, key)

Initialises the optional internal state of the Metropolis Sampler Transition Rule.

The provided key is unique and does not need to be splitted. It should return an immutable datastructure.

Parameters
• sampler (Sampler) – The Metropolis sampler

• machine (Callable) – The forward evaluation function of the model, accepting PyTrees of parameters and inputs.

• params (Any) – The dict of variables needed to evaluate the model.

• key (Any) – A Jax PRNGKey rng state.

Return type
Returns

An Optional State.

random_state(sampler, machine, parameters, state, key)

Generates a random state compatible with this rule.

By default this calls netket.hilbert.random.random_state().

Parameters
• sampler (Sampler) – the sampler

• machine (Callable) – the function to evaluate the model

• parameters (Any) – the parameters of the model

• state (SamplerState) – the current sampler state

• key (Any) – the PRNGKey to use to generate the random state

replace(**updates)

“Returns a new object replacing the specified fields with new values.

reset(sampler, machine, params, sampler_state)

Resets the internal state of the Metropolis Sampler Transition Rule.

Parameters
• sampler (Sampler) – The Metropolis sampler

• machine (Callable) – The forward evaluation function of the model, accepting PyTrees of parameters and inputs.

• params (Any) – The dict of variables needed to evaluate the model.

• sampler_state (SamplerState) – The current state of the sampler. Should not modify it.

Return type
Returns

A new, resetted, state of the rule. This returns the same type of sampler_state.rule_state() and might be None.

transition(sampler, machine, parameters, state, key, σ)[source]