Cell modules¶
- class sage.modules.with_basis.cell_module.CellModule(A, mu, **kwds)[source]¶
- Bases: - CombinatorialFreeModule- A cell module. - Let \(R\) be a commutative ring. Let \(A\) be a cellular \(R\)-algebra with cell datum \((\Lambda, i, M, C)\). A cell module \(W(\lambda)\) is the \(R\)-module given by \(R\{C_s \mid s \in M(\lambda)\}\) with an action of \(a \in A\) given by \(a C_s = \sum_{u \in M(\lambda)} r_a(u, s) C_u\), where \(r_a(u, s)\) is the same as those given by the cellular condition: \[\begin{split}a C^{\lambda}_{st} = \sum_{u \in M(\lambda)} r_a(u, s) C_{ut}^{\lambda} + \sum_{\substack{\mu < \lambda \\ x,y \in M(\mu)}} R C^{\mu}_{xy}.\end{split}\]- INPUT: - A– a cellular algebra
- mu– an element of the cellular poset of- A
 - See also - AUTHORS: - Travis Scrimshaw (2015-11-5): Initial version 
 - REFERENCES: - class Element[source]¶
- Bases: - IndexedFreeModuleElement
 - bilinear_form(x, y)[source]¶
- Return the bilinear form on - xand- y.- The cell module \(W(\lambda)\) has a canonical bilinear form \(\Phi_{\lambda} : W(\lambda) \times W(\lambda) \to W(\lambda)\) given by \[\begin{split}C_{ss}^{\lambda} C_{tt}^{\lambda} = \Phi_{\lambda}(C_s, C_t) C_{st}^{\lambda} + \sum_{\substack{\mu < \lambda \\ x,y \in M(\mu)}} R C^{\mu}_{xy}.\end{split}\]- EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: elt = W.an_element(); elt 2*W[[1, 2], [3]] + 2*W[[1, 3], [2]] sage: W.bilinear_form(elt, elt) 8 - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> elt = W.an_element(); elt 2*W[[1, 2], [3]] + 2*W[[1, 3], [2]] >>> W.bilinear_form(elt, elt) 8 
 - bilinear_form_matrix(ordering=None)[source]¶
- Return the matrix corresponding to the bilinear form of - self.- INPUT: - ordering– (optional) an ordering of the indices
 - EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: W.bilinear_form_matrix() [1 0] [0 1] - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> W.bilinear_form_matrix() [1 0] [0 1] 
 - cellular_algebra()[source]¶
- Return the cellular algebra of - self.- EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: W.cellular_algebra() is S.cellular_basis() True sage: S.has_coerce_map_from(W.cellular_algebra()) True - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> W.cellular_algebra() is S.cellular_basis() True >>> S.has_coerce_map_from(W.cellular_algebra()) True 
 - nonzero_bilinear_form()[source]¶
- Return - Trueif the bilinear form of- selfis nonzero.- EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: W.nonzero_bilinear_form() True - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> W.nonzero_bilinear_form() True 
 - radical()[source]¶
- Return the radical of - self.- Let \(W(\lambda)\) denote a cell module. The radical of \(W(\lambda)\) is defined as \[\operatorname{rad}(\lambda) := \{x \in W(\lambda) \mid \Phi_{\lambda}(x, y)\},\]- and note that it is a submodule of \(W(\lambda)\). - EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: R = W.radical(); R Radical of Cell module indexed by [2, 1] of Cellular basis of Symmetric group algebra of order 3 over Rational Field sage: R.basis() Finite family {} - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> R = W.radical(); R Radical of Cell module indexed by [2, 1] of Cellular basis of Symmetric group algebra of order 3 over Rational Field >>> R.basis() Finite family {} 
 - radical_basis()[source]¶
- Return a basis of the radical of - self.- EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: W.radical_basis() () - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> W.radical_basis() () 
 - simple_module()[source]¶
- Return the corresponding simple module of - self.- Let \(W(\lambda)\) denote a cell module. The simple module \(L(\lambda)\) is defined as \(W(\lambda) / \operatorname{rad}(\lambda)\), where \(\operatorname{rad}(\lambda)\) is the radical of the bilinear form \(\Phi_{\lambda}\). - See also - EXAMPLES: - sage: S = SymmetricGroupAlgebra(QQ, 3) sage: W = S.cell_module([2,1]) sage: L = W.simple_module(); L Simple module indexed by [2, 1] of Cellular basis of Symmetric group algebra of order 3 over Rational Field sage: L.has_coerce_map_from(W) True - >>> from sage.all import * >>> S = SymmetricGroupAlgebra(QQ, Integer(3)) >>> W = S.cell_module([Integer(2),Integer(1)]) >>> L = W.simple_module(); L Simple module indexed by [2, 1] of Cellular basis of Symmetric group algebra of order 3 over Rational Field >>> L.has_coerce_map_from(W) True 
 
- class sage.modules.with_basis.cell_module.SimpleModule(submodule)[source]¶
- Bases: - QuotientModuleWithBasis- A simple module of a cellular algebra. - Let \(W(\lambda)\) denote a cell module. The simple module \(L(\lambda)\) is defined as \(W(\lambda) / \operatorname{rad}(\lambda)\), where \(\operatorname{rad}(\lambda)\) is the radical of the bilinear form \(\Phi_{\lambda}\). - class Element[source]¶
- Bases: - IndexedFreeModuleElement