Möbius Algebras¶
- class sage.combinat.posets.moebius_algebra.BasisAbstract(R, basis_keys=None, element_class=None, category=None, prefix=None, names=None, **kwds)[source]¶
- Bases: - CombinatorialFreeModule,- BindableClass- Abstract base class for a basis. 
- class sage.combinat.posets.moebius_algebra.MoebiusAlgebra(R, L)[source]¶
- Bases: - Parent,- UniqueRepresentation- The Möbius algebra of a lattice. - Let \(L\) be a lattice. The Möbius algebra \(M_L\) was originally constructed by Solomon [Solomon67] and has a natural basis \(\{ E_x \mid x \in L \}\) with multiplication given by \(E_x \cdot E_y = E_{x \vee y}\). Moreover this has a basis given by orthogonal idempotents \(\{ I_x \mid x \in L \}\) (so \(I_x I_y = \delta_{xy} I_x\) where \(\delta\) is the Kronecker delta) related to the natural basis by \[I_x = \sum_{x \leq y} \mu_L(x, y) E_y,\]- where \(\mu_L\) is the Möbius function of \(L\). - Note - We use the join \(\vee\) for our multiplication, whereas [Greene73] and [Etienne98] define the Möbius algebra using the meet \(\wedge\). This is done for compatibility with - QuantumMoebiusAlgebra.- REFERENCES: [Solomon67]- Louis Solomon. The Burnside Algebra of a Finite Group. Journal of Combinatorial Theory, 2, 1967. doi:10.1016/S0021-9800(67)80064-4. [Greene73]- Curtis Greene. On the Möbius algebra of a partially ordered set. Advances in Mathematics, 10, 1973. doi:10.1016/0001-8708(73)90106-0. [Etienne98]- Gwihen Etienne. On the Möbius algebra of geometric lattices. European Journal of Combinatorics, 19, 1998. doi:10.1006/eujc.1998.0227. - class E(M, prefix='E')[source]¶
- Bases: - BasisAbstract- The natural basis of a Möbius algebra. - Let \(E_x\) and \(E_y\) be basis elements of \(M_L\) for some lattice \(L\). Multiplication is given by \(E_x E_y = E_{x \vee y}\). - one()[source]¶
- Return the element - 1of- self.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: E = L.moebius_algebra(QQ).E() sage: E.one() E[0] - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> E = L.moebius_algebra(QQ).E() >>> E.one() E[0] 
 - product_on_basis(x, y)[source]¶
- Return the product of basis elements indexed by - xand- y.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: E = L.moebius_algebra(QQ).E() sage: E.product_on_basis(5, 14) E[15] sage: E.product_on_basis(2, 8) E[10] - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> E = L.moebius_algebra(QQ).E() >>> E.product_on_basis(Integer(5), Integer(14)) E[15] >>> E.product_on_basis(Integer(2), Integer(8)) E[10] 
 
 - class I(M, prefix='I')[source]¶
- Bases: - BasisAbstract- The (orthogonal) idempotent basis of a Möbius algebra. - Let \(I_x\) and \(I_y\) be basis elements of \(M_L\) for some lattice \(L\). Multiplication is given by \(I_x I_y = \delta_{xy} I_x\) where \(\delta_{xy}\) is the Kronecker delta. - one()[source]¶
- Return the element - 1of- self.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: I = L.moebius_algebra(QQ).I() sage: I.one() I[0] + I[1] + I[2] + I[3] + I[4] + I[5] + I[6] + I[7] + I[8] + I[9] + I[10] + I[11] + I[12] + I[13] + I[14] + I[15] - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> I = L.moebius_algebra(QQ).I() >>> I.one() I[0] + I[1] + I[2] + I[3] + I[4] + I[5] + I[6] + I[7] + I[8] + I[9] + I[10] + I[11] + I[12] + I[13] + I[14] + I[15] 
 - product_on_basis(x, y)[source]¶
- Return the product of basis elements indexed by - xand- y.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: I = L.moebius_algebra(QQ).I() sage: I.product_on_basis(5, 14) 0 sage: I.product_on_basis(2, 2) I[2] - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> I = L.moebius_algebra(QQ).I() >>> I.product_on_basis(Integer(5), Integer(14)) 0 >>> I.product_on_basis(Integer(2), Integer(2)) I[2] 
 
 - a_realization()[source]¶
- Return a particular realization of - self(the \(B\)-basis).- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: M = L.moebius_algebra(QQ) sage: M.a_realization() Moebius algebra of Finite lattice containing 16 elements over Rational Field in the natural basis - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> M = L.moebius_algebra(QQ) >>> M.a_realization() Moebius algebra of Finite lattice containing 16 elements over Rational Field in the natural basis 
 - lattice()[source]¶
- Return the defining lattice of - self.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: M = L.moebius_algebra(QQ) sage: M.lattice() Finite lattice containing 16 elements sage: M.lattice() == L True - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> M = L.moebius_algebra(QQ) >>> M.lattice() Finite lattice containing 16 elements >>> M.lattice() == L True 
 
- class sage.combinat.posets.moebius_algebra.MoebiusAlgebraBases(parent_with_realization)[source]¶
- Bases: - Category_realization_of_parent- The category of bases of a Möbius algebra. - INPUT: - base– a Möbius algebra
 - class ParentMethods[source]¶
- Bases: - object- one()[source]¶
- Return the element - 1of- self.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: C = L.quantum_moebius_algebra().C() sage: all(C.one() * b == b for b in C.basis()) True - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> C = L.quantum_moebius_algebra().C() >>> all(C.one() * b == b for b in C.basis()) True 
 - product_on_basis(x, y)[source]¶
- Return the product of basis elements indexed by - xand- y.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: C = L.quantum_moebius_algebra().C() sage: C.product_on_basis(5, 14) q^3*C[15] sage: C.product_on_basis(2, 8) q^4*C[10] - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> C = L.quantum_moebius_algebra().C() >>> C.product_on_basis(Integer(5), Integer(14)) q^3*C[15] >>> C.product_on_basis(Integer(2), Integer(8)) q^4*C[10] 
 
 - super_categories()[source]¶
- The super categories of - self.- EXAMPLES: - sage: from sage.combinat.posets.moebius_algebra import MoebiusAlgebraBases sage: M = posets.BooleanLattice(4).moebius_algebra(QQ) sage: bases = MoebiusAlgebraBases(M) sage: bases.super_categories() [Category of finite dimensional commutative algebras with basis over Rational Field, Category of realizations of Moebius algebra of Finite lattice containing 16 elements over Rational Field] - >>> from sage.all import * >>> from sage.combinat.posets.moebius_algebra import MoebiusAlgebraBases >>> M = posets.BooleanLattice(Integer(4)).moebius_algebra(QQ) >>> bases = MoebiusAlgebraBases(M) >>> bases.super_categories() [Category of finite dimensional commutative algebras with basis over Rational Field, Category of realizations of Moebius algebra of Finite lattice containing 16 elements over Rational Field] 
 
- class sage.combinat.posets.moebius_algebra.QuantumMoebiusAlgebra(L, q=None)[source]¶
- Bases: - Parent,- UniqueRepresentation- The quantum Möbius algebra of a lattice. - Let \(L\) be a lattice, and we define the quantum Möbius algebra \(M_L(q)\) as the algebra with basis \(\{ E_x \mid x \in L \}\) with multiplication given by \[E_x E_y = \sum_{z \geq a \geq x \vee y} \mu_L(a, z) q^{\operatorname{crk} a} E_z,\]- where \(\mu_L\) is the Möbius function of \(L\) and \(\operatorname{crk}\) is the corank function (i.e., \(\operatorname{crk} a = \operatorname{rank} L - \operatorname{rank}\) a). At \(q = 1\), this reduces to the multiplication formula originally given by Solomon. - class C(M, prefix='C')[source]¶
- Bases: - BasisAbstract- The characteristic basis of a quantum Möbius algebra. - The characteristic basis \(\{ C_x \mid x \in L \}\) of \(M_L\) for some lattice \(L\) is defined by \[C_x = \sum_{a \geq x} P(F^x; q) E_a,\]- where \(F^x = \{ y \in L \mid y \geq x \}\) is the principal order filter of \(x\) and \(P(F^x; q)\) is the characteristic polynomial of the (sub)poset \(F^x\). 
 - class E(M, prefix='E')[source]¶
- Bases: - BasisAbstract- The natural basis of a quantum Möbius algebra. - Let \(E_x\) and \(E_y\) be basis elements of \(M_L\) for some lattice \(L\). Multiplication is given by \[E_x E_y = \sum_{z \geq a \geq x \vee y} \mu_L(a, z) q^{\operatorname{crk} a} E_z,\]- where \(\mu_L\) is the Möbius function of \(L\) and \(\operatorname{crk}\) is the corank function (i.e., \(\operatorname{crk} a = \operatorname{rank} L - \operatorname{rank}\) a). - one()[source]¶
- Return the element - 1of- self.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: E = L.quantum_moebius_algebra().E() sage: all(E.one() * b == b for b in E.basis()) True - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> E = L.quantum_moebius_algebra().E() >>> all(E.one() * b == b for b in E.basis()) True 
 - product_on_basis(x, y)[source]¶
- Return the product of basis elements indexed by - xand- y.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: E = L.quantum_moebius_algebra().E() sage: E.product_on_basis(5, 14) E[15] sage: E.product_on_basis(2, 8) q^2*E[10] + (q-q^2)*E[11] + (q-q^2)*E[14] + (1-2*q+q^2)*E[15] - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> E = L.quantum_moebius_algebra().E() >>> E.product_on_basis(Integer(5), Integer(14)) E[15] >>> E.product_on_basis(Integer(2), Integer(8)) q^2*E[10] + (q-q^2)*E[11] + (q-q^2)*E[14] + (1-2*q+q^2)*E[15] 
 
 - class KL(M, prefix='KL')[source]¶
- Bases: - BasisAbstract- The Kazhdan-Lusztig basis of a quantum Möbius algebra. - The Kazhdan-Lusztig basis \(\{ B_x \mid x \in L \}\) of \(M_L\) for some lattice \(L\) is defined by \[B_x = \sum_{y \geq x} P_{x,y}(q) E_a,\]- where \(P_{x,y}(q)\) is the Kazhdan-Lusztig polynomial of \(L\), following the definition given in [EPW14]. - EXAMPLES: - We construct some examples of Proposition 4.5 of [EPW14]: - sage: M = posets.BooleanLattice(4).quantum_moebius_algebra() sage: KL = M.KL() sage: KL[4] * KL[5] (q^2+q^3)*KL[5] + (q+2*q^2+q^3)*KL[7] + (q+2*q^2+q^3)*KL[13] + (1+3*q+3*q^2+q^3)*KL[15] sage: KL[4] * KL[15] (1+3*q+3*q^2+q^3)*KL[15] sage: KL[4] * KL[10] (q+3*q^2+3*q^3+q^4)*KL[14] + (1+4*q+6*q^2+4*q^3+q^4)*KL[15] - >>> from sage.all import * >>> M = posets.BooleanLattice(Integer(4)).quantum_moebius_algebra() >>> KL = M.KL() >>> KL[Integer(4)] * KL[Integer(5)] (q^2+q^3)*KL[5] + (q+2*q^2+q^3)*KL[7] + (q+2*q^2+q^3)*KL[13] + (1+3*q+3*q^2+q^3)*KL[15] >>> KL[Integer(4)] * KL[Integer(15)] (1+3*q+3*q^2+q^3)*KL[15] >>> KL[Integer(4)] * KL[Integer(10)] (q+3*q^2+3*q^3+q^4)*KL[14] + (1+4*q+6*q^2+4*q^3+q^4)*KL[15] 
 - a_realization()[source]¶
- Return a particular realization of - self(the \(B\)-basis).- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: M = L.quantum_moebius_algebra() sage: M.a_realization() Quantum Moebius algebra of Finite lattice containing 16 elements with q=q over Univariate Laurent Polynomial Ring in q over Integer Ring in the natural basis - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> M = L.quantum_moebius_algebra() >>> M.a_realization() Quantum Moebius algebra of Finite lattice containing 16 elements with q=q over Univariate Laurent Polynomial Ring in q over Integer Ring in the natural basis 
 - lattice()[source]¶
- Return the defining lattice of - self.- EXAMPLES: - sage: L = posets.BooleanLattice(4) sage: M = L.quantum_moebius_algebra() sage: M.lattice() Finite lattice containing 16 elements sage: M.lattice() == L True - >>> from sage.all import * >>> L = posets.BooleanLattice(Integer(4)) >>> M = L.quantum_moebius_algebra() >>> M.lattice() Finite lattice containing 16 elements >>> M.lattice() == L True