symop.core.monomial¶
Monomials of ladder operators.
This module defines the Monomial data structure, representing ordered products of creation and annihilation operators together with structural queries and signatures used for hashing and merging.
Classes
|
A normally ordered product of ladder operators. |
- class Monomial(creators: tuple[~symop.core.protocols.ops.operators.LadderOp, ...]=<factory>, annihilators: tuple[~symop.core.protocols.ops.operators.LadderOp, ...]=<factory>) None¶
Bases:
objectA normally ordered product of ladder operators.
A
Monomialrepresents a single term in the operator algebra, consisting of an ordered tuple of creation and annihilation operators. The default empty monomial (without operators) corresponds to the identity operator.- creators¶
Tuple of creation operators applied in order from left to right.
- annihilators¶
Tuple of annihilation operators applied in order from left to right.
- Properties:
- mode_ops: Unique ordered tuple of all mode operators appearing
in the monomial.
- signature: Exact tuple identifier of the monomial, used for sorting
and comparing.
- approx_signature: Approximate identifier for nearly equivalent
monomials, used in numerical merging.
- is_creator_only: Returns
Trueif the monomial contains only creation operators.
- adjoint()¶
Returns the Hermitian adjoint of the monomial by swapping creators and annihilators and taking their individual adjoints.
- Return type:
Notes
The monomial is assumed to be in normal order, meaning all creation operators precede the annihilation operators.
An empty monomial (
creators=(), annihilators=()) represents the identity operator \(\\mathbb{I}\).
This class implements
Monomialprotocol.