Header menu logo Encodings

IndexedLadderOperator Module

Fermionic ladder operators with index tracking and ordering predicates.

A LadderOperatorUnit is either Raise j (= a†ⱼ, creation) or Lower j (= aⱼ, annihilation), where j is the spin-orbital index. Products of ladder operators must respect normal ordering (all creation operators to the left of all annihilation operators) and index ordering (within each group, indices are sorted). The functions isInNormalOrder and isInIndexOrder test these conditions. Normal ordering is required before encoding: the Jordan-Wigner and other transforms assume the operator product is in canonical form.

Types

Type Description

LadderOperatorProductTerm

Represents a product of indexed fermionic ladder operators with a coefficient.

LadderOperatorSumExpression

Represents a sum of ladder operator product terms.

LadderOperatorUnit

Represents the type of a fermionic ladder operator.

Functions and values

Function or value Description

isInIndexOrder productTerm

Full Usage: isInIndexOrder productTerm

Parameters:
Returns: bool True if indices are properly ordered; false otherwise.

Checks whether a product term's operators are in index order.

Index ordering requires:

  • Raise (creation) operators have ascending indices: a†ᵢ a†ⱼ where i < j
  • Lower (annihilation) operators have descending indices: aₖ aₗ where k > l
Combined with normal ordering, this gives the full canonical form.

productTerm : P<IxOp<uint32, LadderOperatorUnit>>

The product term to check.

Returns: bool

True if indices are properly ordered; false otherwise.

isInNormalOrder productTerm

Full Usage: isInNormalOrder productTerm

Parameters:
Returns: bool True if the term is in normal order; false otherwise.

Checks whether a product term's operators are in normal order.

Normal order requires all creation (Raise) operators to appear before all annihilation (Lower) operators: a†ᵢ a†ⱼ ... aₖ aₗ This is the canonical form required by Jordan-Wigner and other encodings.

productTerm : P<IxOp<uint32, LadderOperatorUnit>>

The product term to check.

Returns: bool

True if the term is in normal order; false otherwise.

Type something to start searching.