Linear Transformations

LinearTransformation was introduced in Chapter 4 as the abstract framework for linear maps on the operator algebra, with Permutation as a concrete example. Here we discuss advanced usage: how LinearTransformation interacts with OperatorGenerator and its internal CategorizedGenerator.

CategorizedGenerator

CategorizedGenerator is the internal representation used by OperatorGenerator. It groups the operators of a quantum lattice system into three categories:

  • Constant operators (constops): independent of tunable parameters
  • Alterable operators (alterops): depend on tunable parameters
  • Boundary operators (boundops): associated with boundary twists

When a LinearTransformation is applied to an OperatorGenerator, the CategorizedGenerator structure is preserved: each category is transformed independently. This design keeps the internal structure clean and enables efficient parameter updates: only the alterable part needs recomputation when parameters change.

UnitSubstitution and TabledUnitSubstitution

UnitSubstitution and TabledUnitSubstitution are LinearTransformation subtypes that replace operator indices with concrete values (or other indices). This is the mechanism behind term expansion (Chapter 5): the placeholder orbitals, spins, and sites in coupling patterns are substituted with the concrete values determined by the Hilbert space and bond geometry.

Matrixization

Matrixization (abstract <: LinearTransformation) converts operators to matrix representations in a specified basis. The matrix function uses a Table (Section 3.5) to determine the basis ordering.