@enumeratio/hecke
Iwahori–Hecke algebra extensions for compute-engine: the -deformation of the symmetric group algebra, with -basis multiplication over . keeps the symmetric-group basis exactly — one per permutation — and deforms only the product, by one rule applied a simple reflection at a time. See the guide.
Declaring
ts
import { ComputeEngine } from "@cortex-js/compute-engine";
import { declareHecke } from "@enumeratio/hecke";
const ce = new ComputeEngine();
declareHecke(ce);Heads
HeckeAlgebra— the algebra itself, parameterised by (and , symbolic unless specialized)HeckeT— the basis element for a permutationHeckeIdentity— , the identity of the algebraHeckeSpecialize— substitute a value for
src/hecke.ts exports the underlying Element/Coefficients model directly — multiply, multiplyByBasis, reducedWord, length — for callers that want the -basis arithmetic without going through compute-engine.
Usage
NonCommutativeMultiply(HeckeT([2, 1, 3], q), HeckeT([1, 3, 2], q))
// HeckeT([2, 3, 1], q) — length goes up, so no q appears
NonCommutativeMultiply(HeckeT([2, 1, 3], q), HeckeT([2, 1, 3], q))
// q * HeckeT([1, 2, 3], q) + (q - 1) * HeckeT([2, 1, 3], q) — the quadratic relation
AlgebraDimension(HeckeAlgebra(4, q)) // 24 — n!, same basis as Z[S_n]Next
The guide has the length-up/length-down case split and works the braid relation through to the longest element of .
Pages
- Source:
packages/symbols/algebras/hecke - Depends on:
boxes,engine,structures - In development, also:
config,manifest