Möbius Algebras¶
-
class
sage.combinat.posets.moebius_algebra.BasisAbstract(R, basis_keys, element_class=None, category=None, prefix='B', **kwds)¶ Bases:
sage.combinat.free_module.CombinatorialFreeModule,sage.misc.bindable_class.BindableClassAbstract base class for a basis.
-
class
sage.combinat.posets.moebius_algebra.MoebiusAlgebra(R, L)¶ Bases:
sage.structure.parent.Parent,sage.structure.unique_representation.UniqueRepresentationThe Möbius algebra of a lattice.
Let
be a lattice. The Möbius algebra
was originally
constructed by Solomon [Solomon67] and has a natural basis
with multiplication given by
. Moreover this has a basis given by
orthogonal idempotents
(so
where
is the Kronecker delta)
related to the natural basis by
where
is the Möbius function of
.Note
We use the join
for our multiplication, whereas [Greene73]
and [Etienne98] define the Möbius algebra using the meet
.
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')¶ Bases:
sage.combinat.posets.moebius_algebra.BasisAbstractThe natural basis of a Möbius algebra.
Let
and
be basis elements of
for some lattice
.
Multiplication is given by
.-
one()¶ Return the element
1ofself.EXAMPLES:
sage: L = posets.BooleanLattice(4) sage: E = L.moebius_algebra(QQ).E() sage: E.one() E[0]
-
product_on_basis(x, y)¶ Return the product of basis elements indexed by
xandy.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]
TESTS:
sage: M = posets.BooleanLattice(4).moebius_algebra(QQ) sage: E = M.E() sage: I = M.I() sage: all(I(x)*I(y) == I(x*y) for x in E.basis() for y in E.basis()) True
-
-
class
MoebiusAlgebra.I(M, prefix='I')¶ Bases:
sage.combinat.posets.moebius_algebra.BasisAbstractThe (orthogonal) idempotent basis of a Möbius algebra.
Let
and
be basis elements of
for some lattice
.
Multiplication is given by
where
is the Kronecker delta.-
one()¶ Return the element
1ofself.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]
-
product_on_basis(x, y)¶ Return the product of basis elements indexed by
xandy.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]
TESTS:
sage: M = posets.BooleanLattice(4).moebius_algebra(QQ) sage: E = M.E() sage: I = M.I() sage: all(E(x)*E(y) == E(x*y) for x in I.basis() for y in I.basis()) True
-
-
MoebiusAlgebra.a_realization()¶ Return a particular realization of
self(the
-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
-
MoebiusAlgebra.lattice()¶ 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
For technical reasons (the defining lattice is forced to be a non-facade lattice), the result is not equal to
L:sage: M.lattice() == L False
However it is isomorphic:
sage: M.lattice().is_isomorphic(L) True
-
class
-
class
sage.combinat.posets.moebius_algebra.MoebiusAlgebraBases(parent_with_realization)¶ Bases:
sage.categories.realizations.Category_realization_of_parentThe category of bases of a Möbius algebra.
INPUT:
base– a Möbius algebra
TESTS:
sage: from sage.combinat.posets.moebius_algebra import MoebiusAlgebraBases sage: M = posets.BooleanLattice(4).moebius_algebra(QQ) sage: bases = MoebiusAlgebraBases(M) sage: M.E() in bases True
-
class
ElementMethods¶
-
class
MoebiusAlgebraBases.ParentMethods¶ -
one()¶ Return the element
1ofself.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
-
product_on_basis(x, y)¶ Return the product of basis elements indexed by
xandy.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]
-
-
MoebiusAlgebraBases.super_categories()¶ 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]
-
class
sage.combinat.posets.moebius_algebra.QuantumMoebiusAlgebra(L, q=None)¶ Bases:
sage.structure.parent.Parent,sage.structure.unique_representation.UniqueRepresentationThe quantum Möbius algebra of a lattice.
Let
be a lattice, and we define the quantum Möbius algebra
as the algebra with basis
with
multiplication given by
where
is the Möbius function of
and
is the corank function (i.e.,
a). At
, this
reduces to the multiplication formula originally given by Solomon.-
class
C(M, prefix='C')¶ Bases:
sage.combinat.posets.moebius_algebra.BasisAbstractThe characteristic basis of a quantum Möbius algebra.
The characteristic basis
of
for some lattice
is defined by
where
is the principal order
filter of
and
is the characteristic polynomial
of the (sub)poset
.
-
class
QuantumMoebiusAlgebra.E(M, prefix='E')¶ Bases:
sage.combinat.posets.moebius_algebra.BasisAbstractThe natural basis of a quantum Möbius algebra.
Let
and
be basis elements of
for some lattice
.
Multiplication is given by
where
is the Möbius function of
and
is the corank function (i.e.,
a).-
one()¶ Return the element
1ofself.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
-
product_on_basis(x, y)¶ Return the product of basis elements indexed by
xandy.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]
-
-
class
QuantumMoebiusAlgebra.KL(M, prefix='KL')¶ Bases:
sage.combinat.posets.moebius_algebra.BasisAbstractThe Kazhdan-Lusztig basis of a quantum Möbius algebra.
The Kazhdan-Lusztig basis
of
for some lattice
is defined by
where
is the Kazhdan-Lusztig polynomial of
,
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]
-
QuantumMoebiusAlgebra.a_realization()¶ Return a particular realization of
self(the
-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
-
QuantumMoebiusAlgebra.lattice()¶ 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
-
class
