Operators module (quspin.operators
)
Classes and functions for constructing and manipulating quantum operators, and implementing Schroedinger time evolution.
Many-body operators in QuSpin are defined by a string of letters representing the operator types, together with a list which holds the indices for the lattice sites that each operator acts on.
For example, in a spin-1/2 system we can represent any multi-spin operator as:
where \(\mu_i\) can be “I”, z”, “+”, “-”, “x” or “y”. Here, \(\sigma_{i_n}^{\mu_n}\) is the Pauli spin operator acting on lattice site \(i_n\). This representation provides a way to conveniently define any multi-body spin-1/2 operator, and generalises to bosons, fermions and higher spin in a natural way.
To construct operators for different particle spieces, check out the basis constructor classes for the supported operator strings.
classes
|
Constructs time-dependent (hermitian and nonhermitian) operators. |
|
Constructs parameter-dependent (hermitian and nonhermitian) operators. |
|
Constructs matrix exponentials of quantum operators. |
|
Applies a quantum operator directly onto a state, without constructing the operator matrix. |
functions
|
Calculates the commutator of two Hamiltonians \(H_1\) and \(H_2\). |
|
Calculates the anticommutator of two Hamiltonians \(H_1\) and \(H_2\). |
|
Checks if instance is object of hamiltonian class. |
|
Checks if instance is object of quantum_operator class. |
|
Checks if instance is object of exp_op class. |
Checks if instance is object of quantum_LinearOperator class. |
|
|
Save a quantum_operator to a zip archive to be used later. |
|
Load quantum_operator object from a zip archive. |