Skip to content

@enumeratio/hecke ​

Iwahori–Hecke algebra extensions for compute-engine: the qq-deformation of the symmetric group algebra, with TT-basis multiplication over Z[q]\mathbb{Z}[q]. Hn(q)H_n(q) keeps the symmetric-group basis exactly — one TwT_w 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 nn (and qq, symbolic unless specialized)
  • HeckeT — the basis element TwT_w for a permutation ww
  • HeckeIdentity — TeT_e, the identity of the algebra
  • HeckeSpecialize — substitute a value for qq

src/hecke.ts exports the underlying Element/Coefficients model directly — multiply, multiplyByBasis, reducedWord, length — for callers that want the TT-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 TsTtTs=TtTsTtT_sT_tT_s = T_tT_sT_t through to the longest element of S3S_3.

Pages ​