Additive semigroups#

class sage.categories.additive_semigroups.AdditiveSemigroups(base_category)[source]#

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
>>> from sage.all import *
>>> from sage.categories.additive_semigroups import AdditiveSemigroups
>>> C = AdditiveSemigroups(); C
Category of additive semigroups
>>> C.super_categories()
[Category of additive magmas]
>>> C.all_super_categories()
[Category of additive semigroups,
 Category of additive magmas,
 Category of sets,
 Category of sets with partial maps,
 Category of objects]

>>> C.axioms()
frozenset({'AdditiveAssociative'})
>>> C is AdditiveMagmas().AdditiveAssociative()
True
AdditiveCommutative[source]#

alias of CommutativeAdditiveSemigroups

AdditiveUnital[source]#

alias of AdditiveMonoids

class Algebras(category, *args)[source]#

Bases: AlgebrasCategory

class ParentMethods[source]#

Bases: object

algebra_generators()[source]#

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])
>>> from sage.all import *
>>> S = CommutativeAdditiveSemigroups().example(); S
An example of a commutative semigroup:
 the free commutative semigroup generated by ('a', 'b', 'c', 'd')
>>> A = S.algebra(QQ)                                             # needs sage.modules
>>> A.algebra_generators()                                        # needs sage.modules
Family (B[a], B[b], B[c], B[d])
product_on_basis(g1, g2)[source]#

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]
>>> from sage.all import *
>>> S = CommutativeAdditiveSemigroups().example(); S
An example of a commutative semigroup:
 the free commutative semigroup generated by ('a', 'b', 'c', 'd')
>>> A = S.algebra(QQ)                                             # needs sage.modules
>>> a, b, c, d = A.algebra_generators()                           # needs sage.modules
>>> b * d * c                                                     # needs sage.modules
B[b + c + d]
extra_super_categories()[source]#

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]
>>> from sage.all import *
>>> from sage.categories.additive_semigroups import AdditiveSemigroups
>>> AdditiveSemigroups().Algebras(QQ).extra_super_categories()
[Category of semigroups]
>>> 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)[source]#

Bases: CartesianProductsCategory

extra_super_categories()[source]#

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'})
>>> from sage.all import *
>>> from sage.categories.additive_semigroups import AdditiveSemigroups
>>> C = AdditiveSemigroups().CartesianProducts()
>>> C.extra_super_categories()
[Category of additive semigroups]
>>> C.axioms()
frozenset({'AdditiveAssociative'})
class Homsets(category, *args)[source]#

Bases: HomsetsCategory

extra_super_categories()[source]#

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]
>>> from sage.all import *
>>> from sage.categories.additive_semigroups import AdditiveSemigroups
>>> AdditiveSemigroups().Homsets().extra_super_categories()
[Category of additive semigroups]
>>> AdditiveSemigroups().Homsets().super_categories()
[Category of homsets of additive magmas, Category of additive semigroups]
class ParentMethods[source]#

Bases: object