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]