<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> <!-- %% --> <!-- %A magma.xml GAP documentation Thomas Breuer --> <!-- %% --> <!-- %% --> <!-- %Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland --> <!-- %Y Copyright (C) 2002 The GAP Group --> <!-- %% -->
<Chapter Label="Magmas">
<Heading>Magmas</Heading>
This chapter deals with domains
(see <Ref Chap="Domains and their Elements"/>)
that are closed under multiplication <C>*</C>.
Following <Cite Key="Bourbaki70"/>, we call them <E>magmas</E> in &GAP;.
Together with the domains closed under addition <C>+</C>
(see <Ref Chap="Additive Magmas"/>),
they are the basic algebraic structures;
every semigroup,
monoid (see <Ref Chap="Semigroups"/>),
group (see <Ref Chap="Groups"/>),
ring (see <Ref Chap="Rings"/>),
or field (see <Ref Chap="Fields and Division Rings"/>) is a magma.
In the cases of a <E>magma-with-one</E> or <E>magma-with-inverses</E>,
additional multiplicative structure is present,
see <Ref Sect="Magma Categories"/>.
For functions to create free magmas, see <Ref Sect="Free Magmas"/>.
This section describes
functions that create magmas from generators
(see <Ref Func="Magma"/>, <Ref Func="MagmaWithOne"/>,
<Ref Func="MagmaWithInverses"/>),
the underlying operations for which methods can be installed
(see <Ref Oper="MagmaByGenerators"/>, <Ref Oper="MagmaWithOneByGenerators"/>,
<Ref Oper="MagmaWithInversesByGenerators"/>),
functions for forming submagmas
(see <Ref Func="Submagma"/>, <Ref Func="SubmagmaWithOne"/>,
<Ref Func="SubmagmaWithInverses"/>),
and functions that form a magma equal to a given collection
(see <Ref Attr="AsMagma"/>, <Ref Oper="AsSubmagma"/>).
<P/>
<Ref Attr="InjectionZeroMagma"/> creates a new magma which is the original
magma with a zero adjoined.
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Magmas Defined by Multiplication Tables">
<Heading>Magmas Defined by Multiplication Tables</Heading>
The most elementary (but of course usually not recommended) way to implement
a magma with only few elements is via a multiplication table.
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Attributes and Properties for Magmas">
<Heading>Attributes and Properties for Magmas</Heading>
<E>Note</E> that <Ref Prop="IsAssociative"/> and <Ref Prop="IsCommutative"/>
always refer to the multiplication of a domain.
If a magma <A>M</A> has also an <E>additive structure</E>,
e.g., if <A>M</A> is a ring (see <Ref Chap="Rings"/>),
then the addition <C>+</C> is always assumed to be associative and
commutative,
see <Ref Sect="Arithmetic Operations for Elements"/>.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.