Operator Representations¶
This module provides various data structures for representing fermionic operators in different bases.
Fermion Operator¶
This operator represents fermionic operators in terms of the second-quantization creation and annihilation operators.
A fermionic creation or annihilation action. |
|
A spin-less fermionic operator. |
|
|
A convenience alias for |
|
A convenience alias for |
Majorana Operator¶
This operator represents fermionic operators in terms of Majorana fermions.
The MajoranaAction type. |
|
A Majorana fermion operator. |
|
|
Create a majorana fermion. |
Protocol¶
All operator classes provides by this submodule implement at least those methods specified by the protocol below:
- class OperatorTrait¶
Bases:
ProtocolA protocol indicating all methods implemented by operator classes.
- __iand__(other)¶
Composes (left-multiplies) another operator onto this one.
- Parameters:
other (Self)
- __and__(other)¶
Composes (left-multiplies) two operators.
- __imatmul__(other)¶
Takes the dot-product (right-multiplication) of another operator onto this one.
- Parameters:
other (Self)
- __matmul__(other)¶
Takes the dot-product (right-multiplication) two operators.
- __pow__(exponent, modulo)¶
Exponentiates this operator by the integer exponent.
- classmethod from_terms(terms)¶
Constructs a new operator from an iterator (see also
iter_terms()).
- equiv(other, atol)¶
Checks this operator with another for equivalence up to the specified absolute tolerance.
- ichop(atol)¶
Trims coefficients below the absolute tolerance from this operator.
- Parameters:
atol (float)
- simplify(atol)¶
Simplifies the terms of this operator, discarding those below the absolute tolerance.
- get_support()¶
Returns the set of mode indices which this operator acts upon.
- relabel_modes(permutation)¶
Relabels the modes of the operator.
- normal_ordered(*args, **kwargs)¶
Returns the normal-ordered form of this operator.
Note
A specific implementation of this method may take additional arguments.
- Return type: