Algebras

AUTHORS:

  • David Kohel & William Stein (2005): initial revision
  • Nicolas M. Thiery (2008-2011): rewrote for the category framework
class sage.categories.algebras.Algebras(base_category)

Bases: sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring

The category of associative and unital algebras over a given base ring.

An associative and unital algebra over a ring \(R\) is a module over \(R\) which is itself a ring.

Warning

Algebras will be eventually be replaced by magmatic_algebras.MagmaticAlgebras for consistency with e.g. Wikipedia article Algebras which assumes neither associativity nor the existence of a unit (see trac ticket #15043).

Todo

Should \(R\) be a commutative ring?

EXAMPLES:

sage: Algebras(ZZ)
Category of algebras over Integer Ring
sage: sorted(Algebras(ZZ).super_categories(), key=str)
[Category of associative algebras over Integer Ring,
 Category of rings,
 Category of unital algebras over Integer Ring]

TESTS:

sage: TestSuite(Algebras(ZZ)).run()
class CartesianProducts(category, *args)

Bases: sage.categories.cartesian_product.CartesianProductsCategory

The category of algebras constructed as Cartesian products of algebras

This construction gives the direct product of algebras. See discussion on:

extra_super_categories()

A Cartesian product of algebras is endowed with a natural algebra structure.

EXAMPLES:

sage: C = Algebras(QQ).CartesianProducts()
sage: C.extra_super_categories()
[Category of algebras over Rational Field]
sage: sorted(C.super_categories(), key=str)
[Category of Cartesian products of distributive magmas and additive magmas,
 Category of Cartesian products of monoids,
 Category of Cartesian products of vector spaces over Rational Field,
 Category of algebras over Rational Field]
Algebras.Commutative

alias of CommutativeAlgebras

class Algebras.DualObjects(category, *args)

Bases: sage.categories.dual.DualObjectsCategory

TESTS:

sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
sage: class FooBars(CovariantConstructionCategory):
....:     _functor_category = "FooBars"
....:     _base_category_class = (Category,)
sage: Category.FooBars = lambda self: FooBars.category_of(self)
sage: C = FooBars(ModulesWithBasis(ZZ))
sage: C
Category of foo bars of modules with basis over Integer Ring
sage: C.base_category()
Category of modules with basis over Integer Ring
sage: latex(C)
\mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
sage: TestSuite(C).run()
extra_super_categories()

Returns the dual category

EXAMPLES:

The category of algebras over the Rational Field is dual to the category of coalgebras over the same field:

sage: C = Algebras(QQ)
sage: C.dual()
Category of duals of algebras over Rational Field
sage: C.dual().extra_super_categories()
[Category of coalgebras over Rational Field]

Warning

This is only correct in certain cases (finite dimension, ...). See trac ticket #15647.

class Algebras.ElementMethods
Algebras.Filtered

alias of FilteredAlgebras

Algebras.Graded

alias of GradedAlgebras

class Algebras.Quotients(category, *args)

Bases: sage.categories.quotients.QuotientsCategory

TESTS:

sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
sage: class FooBars(CovariantConstructionCategory):
....:     _functor_category = "FooBars"
....:     _base_category_class = (Category,)
sage: Category.FooBars = lambda self: FooBars.category_of(self)
sage: C = FooBars(ModulesWithBasis(ZZ))
sage: C
Category of foo bars of modules with basis over Integer Ring
sage: C.base_category()
Category of modules with basis over Integer Ring
sage: latex(C)
\mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
sage: TestSuite(C).run()
class ParentMethods
algebra_generators()

Return algebra generators for self.

This implementation retracts the algebra generators from the ambient algebra.

EXAMPLES:

sage: A = FiniteDimensionalAlgebrasWithBasis(QQ).example(); A
An example of a finite dimensional algebra with basis:
the path algebra of the Kronecker quiver
(containing the arrows a:x->y and b:x->y) over Rational Field
sage: S = A.semisimple_quotient()
sage: S.algebra_generators()
Finite family {'y': B['y'], 'x': B['x'], 'b': 0, 'a': 0}

Todo

this could possibly remove the elements that retract to zero.

Algebras.Semisimple

alias of SemisimpleAlgebras

class Algebras.SubcategoryMethods
Semisimple()

Return the subcategory of semisimple objects of self.

Note

This mimics the syntax of axioms for a smooth transition if Semisimple becomes one.

EXAMPLES:

sage: Algebras(QQ).Semisimple()
Category of semisimple algebras over Rational Field
sage: Algebras(QQ).WithBasis().FiniteDimensional().Semisimple()
Category of finite dimensional semisimple algebras with basis over Rational Field
Algebras.Super

alias of SuperAlgebras

class Algebras.TensorProducts(category, *args)

Bases: sage.categories.tensor.TensorProductsCategory

TESTS:

sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
sage: class FooBars(CovariantConstructionCategory):
....:     _functor_category = "FooBars"
....:     _base_category_class = (Category,)
sage: Category.FooBars = lambda self: FooBars.category_of(self)
sage: C = FooBars(ModulesWithBasis(ZZ))
sage: C
Category of foo bars of modules with basis over Integer Ring
sage: C.base_category()
Category of modules with basis over Integer Ring
sage: latex(C)
\mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
sage: TestSuite(C).run()
class ElementMethods
class Algebras.TensorProducts.ParentMethods
Algebras.TensorProducts.extra_super_categories()

EXAMPLES:

sage: Algebras(QQ).TensorProducts().extra_super_categories()
[Category of algebras over Rational Field]
sage: Algebras(QQ).TensorProducts().super_categories()
[Category of algebras over Rational Field,
 Category of tensor products of vector spaces over Rational Field]

Meaning: a tensor product of algebras is an algebra

Algebras.WithBasis

alias of AlgebrasWithBasis