Additive semigroups¶
-
class
sage.categories.additive_semigroups.
AdditiveSemigroups
(base_category)¶ Bases:
sage.categories.category_with_axiom.CategoryWithAxiom_singleton
The category of additive semigroups.
An additive semigroup is an associative
additive magma
, that is a set endowed with an operation \(+\) which is associative.EXAMPLES:
sage: from sage.categories.additive_semigroups import AdditiveSemigroups sage: C = AdditiveSemigroups(); C Category of additive semigroups sage: C.super_categories() [Category of additive magmas] sage: C.all_super_categories() [Category of additive semigroups, Category of additive magmas, Category of sets, Category of sets with partial maps, Category of objects] sage: C.axioms() frozenset({'AdditiveAssociative'}) sage: C is AdditiveMagmas().AdditiveAssociative() True
TESTS:
sage: TestSuite(C).run()
-
AdditiveCommutative
¶ alias of
CommutativeAdditiveSemigroups
-
AdditiveUnital
¶ alias of
AdditiveMonoids
-
class
Algebras
(category, *args)¶ Bases:
sage.categories.algebra_functor.AlgebrasCategory
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 the generators of this algebra, as per
MagmaticAlgebras.ParentMethods.algebra_generators()
.They correspond to the generators of the additive semigroup.
EXAMPLES:
sage: S = CommutativeAdditiveSemigroups().example(); S An example of a commutative monoid: the free commutative monoid generated by ('a', 'b', 'c', 'd') sage: A = S.algebra(QQ) sage: A.algebra_generators() Finite family {0: B[a], 1: B[b], 2: B[c], 3: B[d]}
-
product_on_basis
(g1, g2)¶ Product, on basis elements, as per
MagmaticAlgebras.WithBasis.ParentMethods.product_on_basis()
.The product of two basis elements is induced by the addition of the corresponding elements of the group.
EXAMPLES:
sage: S = CommutativeAdditiveSemigroups().example(); S An example of a commutative monoid: the free commutative monoid generated by ('a', 'b', 'c', 'd') sage: A = S.algebra(QQ) sage: a,b,c,d = A.algebra_generators() sage: a * b + b * d * c B[c + b + d] + B[a + b]
-
-
AdditiveSemigroups.Algebras.
extra_super_categories
()¶ EXAMPLES:
sage: from sage.categories.additive_semigroups import AdditiveSemigroups sage: AdditiveSemigroups().Algebras(QQ).extra_super_categories() [Category of semigroups] sage: CommutativeAdditiveSemigroups().Algebras(QQ).super_categories() [Category of additive semigroup algebras over Rational Field, Category of additive commutative additive magma algebras over Rational Field]
-
class
-
class
AdditiveSemigroups.
CartesianProducts
(category, *args)¶ Bases:
sage.categories.cartesian_product.CartesianProductsCategory
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
()¶ Implement the fact that a Cartesian product of additive semigroups is an additive semigroup.
EXAMPLES:
sage: from sage.categories.additive_semigroups import AdditiveSemigroups sage: C = AdditiveSemigroups().CartesianProducts() sage: C.extra_super_categories() [Category of additive semigroups] sage: C.axioms() frozenset({'AdditiveAssociative'})
-
-
class
AdditiveSemigroups.
Homsets
(category, *args)¶ Bases:
sage.categories.homsets.HomsetsCategory
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
()¶ Implement the fact that a homset between two semigroups is a semigroup.
EXAMPLES:
sage: from sage.categories.additive_semigroups import AdditiveSemigroups sage: AdditiveSemigroups().Homsets().extra_super_categories() [Category of additive semigroups] sage: AdditiveSemigroups().Homsets().super_categories() [Category of homsets of additive magmas, Category of additive semigroups]
-
-
class
AdditiveSemigroups.
ParentMethods
¶
-