Additive semigroups#

class sage.categories.additive_semigroups.AdditiveSemigroups(base_category)#

Bases: 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
AdditiveCommutative#

alias of CommutativeAdditiveSemigroups

AdditiveUnital#

alias of AdditiveMonoids

class Algebras(category, *args)#

Bases: AlgebrasCategory

class ParentMethods#

Bases: object

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 semigroup:
 the free commutative semigroup generated by ('a', 'b', 'c', 'd')
sage: A = S.algebra(QQ)                                             # needs sage.modules
sage: A.algebra_generators()                                        # needs sage.modules
Family (B[a], B[b], B[c], 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 semigroup:
 the free commutative semigroup generated by ('a', 'b', 'c', 'd')
sage: A = S.algebra(QQ)                                             # needs sage.modules
sage: a, b, c, d = A.algebra_generators()                           # needs sage.modules
sage: b * d * c                                                     # needs sage.modules
B[b + c + d]
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 CartesianProducts(category, *args)#

Bases: CartesianProductsCategory

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 Homsets(category, *args)#

Bases: HomsetsCategory

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 ParentMethods#

Bases: object