Graded algebras with basis#

class sage.categories.graded_algebras_with_basis.GradedAlgebrasWithBasis(base_category)#

Bases: sage.categories.graded_modules.GradedModulesCategory

The category of graded algebras with a distinguished basis


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]
class ElementMethods#

Bases: object

class ParentMethods#

Bases: object


Return the completion of all formal linear combinations of self with finite linear combinations in each homogeneous degree (computed lazily).


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
free_graded_module(generator_degrees, names=None)#

Create a finitely generated free graded module over self


  • generator_degrees – tuple of integers defining the number of generators of the module and their degrees

  • names – (optional) the names of the generators. If names is a comma-separated string like 'a, b, c', then those will be the names. Otherwise, for example if names is abc, then the names will be abc[d,i].

By default, if all generators are in distinct degrees, then the names of the generators will have the form g[d] where d is the degree of the generator. If the degrees are not distinct, then the generators will be called g[d,i] where d is the degree and i is its index in the list of generators in that degree.

See sage.modules.fp_graded.free_module for more examples and details.


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)

Return the associated graded algebra to self.

This is self, because self is already graded. See graded_algebra() for the general behavior of this method, and see AssociatedGradedAlgebra for the definition and properties of associated graded algebras.


sage: m = SymmetricFunctions(QQ).m()
sage: m.graded_algebra() is m
class SignedTensorProducts(category, *args)#

Bases: sage.categories.signed_tensor.SignedTensorProductsCategory

The category of algebras with basis constructed by signed tensor product of algebras with basis.

class ParentMethods#

Bases: object

Implements operations on tensor products of super algebras with basis.


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.


sage: A.<x,y> = ExteriorAlgebra(QQ)
sage: A.one_basis()
sage: B = tensor((A, A, A))
sage: B.one_basis()
(0, 0, 0)
1 # 1 # 1
product_on_basis(t0, t1)#

The product of the algebra on the basis, as per AlgebrasWithBasis.ParentMethods.product_on_basis.


Test the sign in the super tensor product:

sage: A = SteenrodAlgebra(3)
sage: x = A.Q(0)
sage: y = x.coproduct()
sage: y^2

TODO: optimize this implementation!



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]