netket.hilbert.Particle¶
-
class
netket.hilbert.
Particle
(N, L, pbc)¶ Bases:
netket.hilbert.ContinuousHilbert
Hilbert space derived from AbstractParticle for Fermions.
- Inheritance
-
__init__
(N, L, pbc)[source]¶ - Constructs new
Particles
given specifications of the continuous space they are defined in.
- Constructs new
- Attributes
-
-
pbc
¶ Whether or not to use periodic boundary conditions for each spatial dimension
-
- Methods
-
ptrace
(sites)¶ Returns the hilbert space without the selected sites.
Not all hilbert spaces support this operation.
-
random_state
(key=None, size=None, dtype=<class 'numpy.float32'>)¶ Generates either a single or a batch of uniformly distributed random states. Runs as
random_state(self, key, size=None, dtype=np.float32)
by default.- Parameters
key – rng state from a jax-style functional generator.
size (
Optional
[int
]) – If provided, returns a batch of configurations of the form(size, N)
if size is an integer or(*size, N)
if it is a tuple and where \(N\) is the Hilbert space size. By default, a single random configuration with shape(#,)
is returned.dtype – DType of the resulting vector.
- Return type
- Returns
A state or batch of states sampled from the uniform distribution on the hilbert space.
Example
>>> import netket, jax >>> hi = netket.hilbert.Qubit(N=2) >>> k1, k2 = jax.random.split(jax.random.PRNGKey(1)) >>> print(hi.random_state(key=k1)) [1. 0.] >>> print(hi.random_state(key=k2, size=2)) [[0. 0.] [0. 1.]]
-