netket.operator#
The Operator module defines the common interfaces used to interact with quantum operators and super-operators, as well as several concrete implementations of different operators such as netket.hilbert.LocalOperator, netket.hilbert.Ising and others.
NetKetβs operators are all sub-classes of the abstract class netket.hilbert.AbstractOperator, which defines a small set of API respected by all implementations. The inheritance diagram for the class hierarchy of the Operators included with NetKet is shown below (you can click on the nodes in the graph to go to their API documentation page). Dashed nodes represent abstract classes that cannot be instantiated, while the others are concrete and they can be instantiated.
Abstract Classes#
Below you find a list of all public classes defined in this module Those classes cannot be directly instantiated, but you can inherit from one of them if you want to define new hilbert spaces.
Abstract class for quantum Operators. |
|
Generic base class for super-operators acting on the tensor product (DoubledHilbert) space βββ, where β is the physical space. |
|
This class is the base class for operators defined on a discrete Hilbert space. |
|
Abstract base class for discrete operators that can be manipulated inside of jax function transformations. |
|
This class is the abstract base class for operators defined on a continuous Hilbert space. |
Concrete Classes#
Below you find a list of all concrete Operators that you can create on DiscreteHilbert
spaces.
An extended Bose Hubbard model Hamiltonian operator, containing both on-site interactions and nearest-neighboring density-density interactions. |
|
A graph-based quantum operator. |
|
A custom local operator. |
|
Jax-compatible version of |
|
The Transverse-Field Ising Hamiltonian \(-h\sum_i \sigma_i^{(x)} +J\sum_{\langle i,j\rangle} \sigma_i^{(z)}\sigma_j^{(z)}\). |
|
Jax-compatible version of |
|
The Heisenberg hamiltonian on a lattice. |
|
A Hamiltonian consisting of the sum of products of Pauli operators. |
|
Jax-compatible version of |
|
LocalLiouvillian super-operator, acting on the DoubledHilbert (tensor product) space βββ. |
In the experimental submodule there is also a class to represent fermionic operators.
A fermionic operator in \(2^{nd}\) quantization, using Numba for indexing. |
Continuous space operators#
This is a list of operators that you can define on ContinuousHilbert
spaces.
This is the kinetic energy operator (hbar = 1). |
|
Returns the local potential energy defined in afun |
|
This class implements the action of the _expect_kernel()-method of ContinuousOperator for a sum of ContinuousOperator objects. |
Pre-defined operators#
Those are easy-to-use constructors for a LocalOperator
.
Builds the boson creation operator \(\hat{a}^\dagger\) acting on the site-th of the Hilbert space hilbert. |
|
Builds the boson destruction operator \(\hat{a}\) acting on the site-th of the Hilbert space hilbert. |
|
Builds the \(\mathbb{I}\) identity operator. |
|
Builds the number operator \(\hat{a}^\dagger\hat{a}\) acting on the site-th of the Hilbert space hilbert. |
|
Builds the projector operator \(|n\rangle\langle n |\) acting on the site-th of the Hilbert space hilbert and collapsing on the state with n bosons. |
|
Builds the \(\mathbb{I}\) identity operator. |
|
Builds the \(\sigma^x\) operator acting on the site-th of the Hilbert space hilbert. |
|
Builds the \(\sigma^y\) operator acting on the site-th of the Hilbert space hilbert. |
|
Builds the \(\sigma^z\) operator acting on the site-th of the Hilbert space hilbert. |
|
Builds the \(\sigma^{+} = \frac{1}{2}(\sigma^x + i \sigma^y)\) operator acting on the site-th of the Hilbert space hilbert. |
|
Builds the \(\sigma^{-} = \frac{1}{2}(\sigma^x - i \sigma^y)\) operator acting on the site-th of the Hilbert space hilbert. |
In the experimental submodule there are also easy-to-use constructors for common FermionOperator2nd
.
Builds the fermion creation operator \(\hat{a}^\dagger\) acting on the site-th of the Hilbert space hilbert. |
|
Builds the fermion destruction operator \(\hat{a}\) acting on the site-th of the Hilbert space hilbert. |
|
Builds the \(\mathbb{I}\) identity operator. |
|
Builds the number operator \(\hat{a}^\dagger\hat{a}\) acting on the site-th of the Hilbert space hilbert. |