Header menu logo Encodings

LadderOperatorSequence Module

Normal ordering of fermionic operator products.

A product of ladder operators a†₂ a₀ a†₁ a₃ is in normal order when all creation operators (a†) are to the left of all annihilation operators (a). Reordering requires swapping adjacent operators. Each swap of two fermionic operators introduces a factor of −1 (from the CAR), and swapping a†ᵢ past aᵢ (same index) generates a δᵢⱼ term. The ConstructNormalOrdered function performs this reordering, tracking all signs and generated terms, producing an S type (sum of products).

Types

Type Description

LadderOperatorSumExpr<'algebra>

A sum expression of ladder operators parameterized by a combining algebra (e.g., fermionic anti-commutation relations).

Functions and values

Function or value Description

toIndexOrder productTerm

Full Usage: toIndexOrder productTerm

Parameters:
Returns: P<IxOp<uint32, LadderOperatorUnit>> A new product term with raise operators sorted ascending and lower operators descending by index, with phase adjusted for swaps.

Sorts the raise and lower operators within a product term into index order.

Uses a selection sort that tracks sign changes from swaps. Raise operators are sorted in ascending order by index, while lower operators are sorted in descending order by index.

productTerm : P<IxOp<uint32, LadderOperatorUnit>>

The product term containing ladder operators to sort.

Returns: P<IxOp<uint32, LadderOperatorUnit>>

A new product term with raise operators sorted ascending and lower operators descending by index, with phase adjusted for swaps.

Type something to start searching.