Header menu logo Encodings

MixedSystems Module

Sector-aware symbolic utilities for mixed bosonic and fermionic systems.

This module adds explicit sector metadata to indexed ladder operators and provides canonical mixed normal ordering: 1) all fermionic operators are moved to the left of bosonic operators, 2) fermionic subsequences are normal-ordered with CAR, 3) bosonic subsequences are normal-ordered with CCR. Cross-sector swaps are treated as commuting and therefore do not introduce sign changes.

Types

Type Description

ParticleSector

Particle statistics sector.

SectorLadderOperatorUnit

A ladder operator tagged with particle-statistics sector.

Functions and values

Function or value Description

boson operator index

Full Usage: boson operator index

Parameters:
Returns: IxOp<uint32, SectorLadderOperatorUnit>

Creates a bosonic indexed ladder operator.

operator : LadderOperatorUnit
index : uint32
Returns: IxOp<uint32, SectorLadderOperatorUnit>

constructMixedNormalOrdered candidate

Full Usage: constructMixedNormalOrdered candidate

Parameters:
Returns: S<IxOp<uint32, SectorLadderOperatorUnit>> option

Canonical mixed normal ordering for sector-tagged expressions.

For each product term, this function:

  • Reorders by sector (fermions left, bosons right) without sign.
  • Normal-orders fermionic subsequences with CAR.
  • Normal-orders bosonic subsequences with CCR.
  • Combines the resulting sector terms into a canonical mixed expression.

candidate : S<IxOp<uint32, SectorLadderOperatorUnit>>
Returns: S<IxOp<uint32, SectorLadderOperatorUnit>> option

fermion operator index

Full Usage: fermion operator index

Parameters:
Returns: IxOp<uint32, SectorLadderOperatorUnit>

Creates a fermionic indexed ladder operator.

operator : LadderOperatorUnit
index : uint32
Returns: IxOp<uint32, SectorLadderOperatorUnit>

isSectorBlockOrdered productTerm

Full Usage: isSectorBlockOrdered productTerm

Parameters:
Returns: bool

Checks whether all fermionic operators appear before all bosonic operators.

productTerm : P<IxOp<uint32, SectorLadderOperatorUnit>>
Returns: bool

toSectorBlockOrder productTerm

Full Usage: toSectorBlockOrder productTerm

Parameters:
Returns: P<IxOp<uint32, SectorLadderOperatorUnit>>

Reorders a product term so that fermionic operators appear before bosonic operators.

Relative order is preserved within each sector. Cross-sector swaps are assumed commuting and do not change the coefficient.

productTerm : P<IxOp<uint32, SectorLadderOperatorUnit>>
Returns: P<IxOp<uint32, SectorLadderOperatorUnit>>

Type something to start searching.