Graded algebras with basis¶
- class sage.categories.graded_algebras_with_basis.GradedAlgebrasWithBasis(base_category)[source]¶
Bases:
GradedModulesCategory
The category of graded algebras with a distinguished basis.
EXAMPLES:
sage: C = GradedAlgebrasWithBasis(ZZ); C Category of graded algebras with basis over Integer Ring sage: sorted(C.super_categories(), key=str) [Category of filtered algebras with basis over Integer Ring, Category of graded algebras over Integer Ring, Category of graded modules with basis over Integer Ring]
>>> from sage.all import * >>> C = GradedAlgebrasWithBasis(ZZ); C Category of graded algebras with basis over Integer Ring >>> sorted(C.super_categories(), key=str) [Category of filtered algebras with basis over Integer Ring, Category of graded algebras over Integer Ring, Category of graded modules with basis over Integer Ring]
- class ParentMethods[source]¶
Bases:
object
- completion()[source]¶
Return the completion of all formal linear combinations of
self
with finite linear combinations in each homogeneous degree (computed lazily).EXAMPLES:
sage: # needs sage.combinat sage.modules sage: NCSF = NonCommutativeSymmetricFunctions(QQ) sage: S = NCSF.Complete() sage: L = S.formal_series_ring() sage: L Lazy completion of Non-Commutative Symmetric Functions over the Rational Field in the Complete basis
>>> from sage.all import * >>> # needs sage.combinat sage.modules >>> NCSF = NonCommutativeSymmetricFunctions(QQ) >>> S = NCSF.Complete() >>> L = S.formal_series_ring() >>> L Lazy completion of Non-Commutative Symmetric Functions over the Rational Field in the Complete basis
- formal_series_ring()[source]¶
Return the completion of all formal linear combinations of
self
with finite linear combinations in each homogeneous degree (computed lazily).EXAMPLES:
sage: # needs sage.combinat sage.modules sage: NCSF = NonCommutativeSymmetricFunctions(QQ) sage: S = NCSF.Complete() sage: L = S.formal_series_ring() sage: L Lazy completion of Non-Commutative Symmetric Functions over the Rational Field in the Complete basis
>>> from sage.all import * >>> # needs sage.combinat sage.modules >>> NCSF = NonCommutativeSymmetricFunctions(QQ) >>> S = NCSF.Complete() >>> L = S.formal_series_ring() >>> L Lazy completion of Non-Commutative Symmetric Functions over the Rational Field in the Complete basis
- free_graded_module(generator_degrees, names=None)[source]¶
Create a finitely generated free graded module over
self
.INPUT:
generator_degrees
– tuple of integers defining the number of generators of the module and their degreesnames
– (optional) the names of the generators. Ifnames
is a comma-separated string like'a, b, c'
, then those will be the names. Otherwise, for example ifnames
isabc
, then the names will beabc[d,i]
.
By default, if all generators are in distinct degrees, then the
names
of the generators will have the formg[d]
whered
is the degree of the generator. If the degrees are not distinct, then the generators will be calledg[d,i]
whered
is the degree andi
is its index in the list of generators in that degree.See
sage.modules.fp_graded.free_module
for more examples and details.EXAMPLES:
sage: # needs sage.combinat sage.modules sage: Q = QuadraticForm(QQ, 3, [1,2,3,4,5,6]) sage: Cl = CliffordAlgebra(Q) sage: M = Cl.free_graded_module((0, 2, 3)) sage: M.gens() (g[0], g[2], g[3]) sage: N.<xy, z> = Cl.free_graded_module((1, 2)) sage: N.generators() (xy, z)
>>> from sage.all import * >>> # needs sage.combinat sage.modules >>> Q = QuadraticForm(QQ, Integer(3), [Integer(1),Integer(2),Integer(3),Integer(4),Integer(5),Integer(6)]) >>> Cl = CliffordAlgebra(Q) >>> M = Cl.free_graded_module((Integer(0), Integer(2), Integer(3))) >>> M.gens() (g[0], g[2], g[3]) >>> N = Cl.free_graded_module((Integer(1), Integer(2)), names=('xy', 'z',)); (xy, z,) = N._first_ngens(2) >>> N.generators() (xy, z)
- graded_algebra()[source]¶
Return the associated graded algebra to
self
.This is
self
, becauseself
is already graded. Seegraded_algebra()
for the general behavior of this method, and seeAssociatedGradedAlgebra
for the definition and properties of associated graded algebras.EXAMPLES:
sage: m = SymmetricFunctions(QQ).m() # needs sage.combinat sage.modules sage: m.graded_algebra() is m # needs sage.combinat sage.modules True
>>> from sage.all import * >>> m = SymmetricFunctions(QQ).m() # needs sage.combinat sage.modules >>> m.graded_algebra() is m # needs sage.combinat sage.modules True
- class SignedTensorProducts(category, *args)[source]¶
Bases:
SignedTensorProductsCategory
The category of algebras with basis constructed by signed tensor product of algebras with basis.
- class ParentMethods[source]¶
Bases:
object
Implement operations on tensor products of super algebras with basis.
- one_basis()[source]¶
Return the index of the one of this signed tensor product of algebras, as per
AlgebrasWithBasis.ParentMethods.one_basis
.It is the tuple whose operands are the indices of the ones of the operands, as returned by their
one_basis()
methods.EXAMPLES:
sage: # needs sage.combinat sage.modules sage: A.<x,y> = ExteriorAlgebra(QQ) sage: A.one_basis() 0 sage: B = tensor((A, A, A)) sage: B.one_basis() (0, 0, 0) sage: B.one() 1 # 1 # 1
>>> from sage.all import * >>> # needs sage.combinat sage.modules >>> A = ExteriorAlgebra(QQ, names=('x', 'y',)); (x, y,) = A._first_ngens(2) >>> A.one_basis() 0 >>> B = tensor((A, A, A)) >>> B.one_basis() (0, 0, 0) >>> B.one() 1 # 1 # 1
- product_on_basis(t0, t1)[source]¶
The product of the algebra on the basis, as per
AlgebrasWithBasis.ParentMethods.product_on_basis
.EXAMPLES:
Test the sign in the super tensor product:
sage: # needs sage.combinat sage.modules sage: A = SteenrodAlgebra(3) sage: x = A.Q(0) sage: y = x.coproduct() sage: y^2 0
>>> from sage.all import * >>> # needs sage.combinat sage.modules >>> A = SteenrodAlgebra(Integer(3)) >>> x = A.Q(Integer(0)) >>> y = x.coproduct() >>> y**Integer(2) 0
TODO: optimize this implementation!
- extra_super_categories()[source]¶
EXAMPLES:
sage: Cat = AlgebrasWithBasis(QQ).Graded() sage: Cat.SignedTensorProducts().extra_super_categories() [Category of graded algebras with basis over Rational Field] sage: Cat.SignedTensorProducts().super_categories() [Category of graded algebras with basis over Rational Field, Category of signed tensor products of graded algebras over Rational Field]
>>> from sage.all import * >>> Cat = AlgebrasWithBasis(QQ).Graded() >>> Cat.SignedTensorProducts().extra_super_categories() [Category of graded algebras with basis over Rational Field] >>> Cat.SignedTensorProducts().super_categories() [Category of graded algebras with basis over Rational Field, Category of signed tensor products of graded algebras over Rational Field]