AUTHORS:
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 is a module over
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 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()
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:
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]
alias of CommutativeAlgebras
Bases: sage.categories.dual.DualObjectsCategory
TESTS:
sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
sage: class FooBars(CovariantConstructionCategory):
... _functor_category = "FooBars"
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()
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.
alias of GradedAlgebras
Bases: sage.categories.tensor.TensorProductsCategory
TESTS:
sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
sage: class FooBars(CovariantConstructionCategory):
... _functor_category = "FooBars"
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()
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
alias of AlgebrasWithBasis