Hecke Monoids#
- sage.monoids.hecke_monoid.HeckeMonoid()[source]#
Return the \(0\)-Hecke monoid of the Coxeter group \(W\).
INPUT:
\(W\) – a finite Coxeter group
Let \(s_1,\ldots,s_n\) be the simple reflections of \(W\). The 0-Hecke monoid is the monoid generated by projections \(\pi_1,\ldots,\pi_n\) satisfying the same braid and commutation relations as the \(s_i\). It is of same cardinality as \(W\).
Note
This is currently a very basic implementation as the submonoid of sorting maps on \(W\) generated by the simple projections of \(W\). It’s only functional for \(W\) finite.
See also
CoxeterGroups.ParentMethods.simple_projections
EXAMPLES:
sage: from sage.monoids.hecke_monoid import HeckeMonoid sage: W = SymmetricGroup(4) sage: H = HeckeMonoid(W); H 0-Hecke monoid of the Symmetric group of order 4! as a permutation group sage: pi = H.monoid_generators(); pi Finite family {1: ..., 2: ..., 3: ...} sage: all(pi[i]^2 == pi[i] for i in pi.keys()) True sage: pi[1] * pi[2] * pi[1] == pi[2] * pi[1] * pi[2] True sage: pi[2] * pi[3] * pi[2] == pi[3] * pi[2] * pi[3] True sage: pi[1] * pi[3] == pi[3] * pi[1] True sage: H.cardinality() 24
>>> from sage.all import * >>> from sage.monoids.hecke_monoid import HeckeMonoid >>> W = SymmetricGroup(Integer(4)) >>> H = HeckeMonoid(W); H 0-Hecke monoid of the Symmetric group of order 4! as a permutation group >>> pi = H.monoid_generators(); pi Finite family {1: ..., 2: ..., 3: ...} >>> all(pi[i]**Integer(2) == pi[i] for i in pi.keys()) True >>> pi[Integer(1)] * pi[Integer(2)] * pi[Integer(1)] == pi[Integer(2)] * pi[Integer(1)] * pi[Integer(2)] True >>> pi[Integer(2)] * pi[Integer(3)] * pi[Integer(2)] == pi[Integer(3)] * pi[Integer(2)] * pi[Integer(3)] True >>> pi[Integer(1)] * pi[Integer(3)] == pi[Integer(3)] * pi[Integer(1)] True >>> H.cardinality() 24