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