# Cellular Basis¶

Cellular algebras are a class of algebras introduced by Graham and Lehrer [GrLe1996]. The CellularBasis class provides a general framework for implementing cellular algebras and their cell modules and simple modules.

Let $$R$$ be a commutative ring. A $$R$$-algebra $$A$$ is a cellular algebra if it has a cell datum, which is a tuple $$(\Lambda, i, M, C)$$, where $$\Lambda$$ is finite poset with order $$\ge$$, if $$\mu \in \Lambda$$ then $$T(\mu)$$ is a finite set and

$C \colon \coprod_{\mu \in \Lambda} T(\mu) \times T(\mu) \longrightarrow A; (\mu,s,t) \mapsto c^\mu_{st} \text{ is an injective map}$

such that the following holds:

• The set $$\{c^\mu_{st}\mid \mu\in\Lambda, s,t\in T(\mu)\}$$ is a basis of $$A$$.

• If $$a \in A$$ and $$\mu\in\Lambda, s,t \in T(\mu)$$ then:

$a c^\mu_{st} = \sum_{u\in T(\mu)} r_a(s,u) c^\mu_{ut} \pmod{A^{>\mu}},$

where $$A^{>\mu}$$ is spanned by

$\{c^\nu_{ab} | \nu > \mu\text{ and } a,b \in T(\nu)\}.$

Moreover, the scalar $$r_a(s,u)$$ depends only on $$a$$, $$s$$ and $$u$$ and, in particular, is independent of $$t$$.

• The map $$\iota \colon A \longrightarrow A; c^\mu_{st} \mapsto c^\mu_{ts}$$ is an algebra anti-isomorphism.

A cellular basis for $$A$$ is any basis of the form $$\{c^\mu_{st} \mid \mu \in \Lambda, s,t \in T(\mu) \}$$.

Note that the scalars $$r_a(s,u) \in R$$ depend only if $$a$$, $$s$$ and $$u$$ and, in particular, they do not depend on $$t$$. It follows from the definition of a cell datum that $$A^{>\mu}$$ is a two-sided ideal of $$A$$. More importantly, if $$\mu \in \Lambda$$ then the CellModule $$C^\mu$$ is the free $$R$$-module with basis $$\{c^\mu_s \mid \mu \in \Lambda, s \in T(\mu)\}$$ and with $$A$$-action:

$a c^\mu_{s} = \sum_{u \in T(\mu)} r_a(s,u) c^\mu_{u},$

where the scalars $$r_a(s,u)$$ are those appearing in the definition of the cell datum. It follows from the cellular basis axioms that $$C^\mu$$ comes equipped with a bilinear form $$\langle\ ,\ \rangle$$ that is determined by:

$c^\mu_{st} c^\mu_u = \langle c^\mu_{s}, c^\mu_t \rangle c^\mu_u.$

The radical of $$C^\mu$$ is the $$A$$-submodule $$\operatorname{rad} C^\mu = \{x \in C^\mu | \langle x,y \rangle = 0 \}$$. Hence, $$D^\mu = C^\mu / \operatorname{rad} C^\mu$$ is also an $$A$$-module. It is not difficult to show that $$\{ D^\mu \mid D^\mu \neq 0 \}$$ is a complete set of pairwise non-isomorphic $$A$$-modules. Hence, a cell datum for $$A$$ gives an explicit construction of the irreducible $$A$$-modules. The module simple_module() $$D^\mu$$ is either zero or absolutely irreducible.

EXAMPLES:

We compute a cellular basis and do some basic computations:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C
Cellular basis of Symmetric group algebra of order 3
over Rational Field


AUTHOR:

• Travis Scrimshaw (2015-11-5): Initial version

REFERENCES:

class sage.algebras.cellular_basis.CellularBasis(A)

The cellular basis of a cellular algebra, in the sense of Graham and Lehrer [GrLe1996].

INPUT:

• A – the cellular algebra

EXAMPLES:

We compute a cellular basis and do some basic computations:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C
Cellular basis of Symmetric group algebra of order 3
over Rational Field
sage: len(C.basis())
6
sage: len(S.basis())
6
sage: a,b,c,d,e,f = C.basis()
sage: a
C(, [[1, 2, 3]], [[1, 2, 3]])
sage: c
C([2, 1], [[1, 3], ], [[1, 2], ])
sage: d
C([2, 1], [[1, 2], ], [[1, 3], ])
sage: a * a
C(, [[1, 2, 3]], [[1, 2, 3]])
sage: a * c
0
sage: d * c
C([2, 1], [[1, 2], ], [[1, 2], ])
sage: c * d
C([2, 1], [[1, 3], ], [[1, 3], ])
sage: S(a)
1/6*[1, 2, 3] + 1/6*[1, 3, 2] + 1/6*[2, 1, 3] + 1/6*[2, 3, 1]
+ 1/6*[3, 1, 2] + 1/6*[3, 2, 1]
sage: S(d)
1/4*[1, 3, 2] - 1/4*[2, 3, 1] + 1/4*[3, 1, 2] - 1/4*[3, 2, 1]
sage: B = list(S.basis())
sage: B
[2, 1, 3]
sage: C(B)
-C([1, 1, 1], [, , ], [, , ])
+ C([2, 1], [[1, 2], ], [[1, 2], ])
- C([2, 1], [[1, 3], ], [[1, 3], ])
+ C(, [[1, 2, 3]], [[1, 2, 3]])

cell_module_indices(la)

Return the indices of the cell module of self indexed by la .

This is the finite set $$M(\lambda)$$.

EXAMPLES:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C.cell_module_indices([2,1])
Standard tableaux of shape [2, 1]

cell_poset()

Return the cell poset of self.

EXAMPLES:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C.cell_poset()
Finite poset containing 3 elements

cellular_basis()

Return the cellular basis of self, which is self.

EXAMPLES:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C.cellular_basis() is C
True

cellular_basis_of()

Return the defining algebra of self.

EXAMPLES:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C.cellular_basis_of() is S
True

one()

Return the element $$1$$ in self.

EXAMPLES:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C.one()
C([1, 1, 1], [, , ], [, , ])
+ C([2, 1], [[1, 2], ], [[1, 2], ])
+ C([2, 1], [[1, 3], ], [[1, 3], ])
+ C(, [[1, 2, 3]], [[1, 2, 3]])

product_on_basis(x, y)

Return the product of basis indices by x and y.

EXAMPLES:

sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: la = Partition([2,1])
sage: s = StandardTableau([[1,2],])
sage: t = StandardTableau([[1,3],])
sage: C.product_on_basis((la, s, t), (la, s, t))
0