<p>This chapter deals with domains that are closed under addition <code class="code">+</code>, which are called <em>near-additive magmas</em> in <strong class="pkg">GAP</strong>. Together with the domains closed under multiplication <code class="code">*</code> (see <a href="chap35_mj.html#X873E502F7D21C39C"><span class="RefLink">35</span></a>), they are the basic algebraic structures. In many cases, the addition is commutative (see <code class="func">IsAdditivelyCommutative</code> (<a href="chap55_mj.html#X82D471327A9CA960"><span class="RefLink">55.3-1</span></a>)), the domain is called an <em>additive magma</em> then. Every module (see <a href="chap57_mj.html#X8183A6857B0C3633"><span class="RefLink">57</span></a>), vector space (see <a href="chap61_mj.html#X7DAD6700787EC845"><span class="RefLink">61</span></a>), ring (see <a href="chap56_mj.html#X81897F6082CACB59"><span class="RefLink">56</span></a>), or field (see <a href="chap58_mj.html#X80A8E676814A19FD"><span class="RefLink">58</span></a>) is an additive magma. In the cases of all <em>(near-)additive magma-with-zero</em> or <em>(near-)additive magma-with-inverses</em>, additional additive structure is present (see <a href="chap55_mj.html#X82A4AB7B812B063B"><span class="RefLink">55.1</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNearAdditiveMagma</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A <em>near-additive magma</em> in <strong class="pkg">GAP</strong> is a domain <span class="SimpleMath">\(A\)</span> with an associative but not necessarily commutative addition <code class="code">+</code><span class="SimpleMath">\(: A \times A \rightarrow A\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNearAdditiveMagmaWithZero</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A <em>near-additive magma-with-zero</em> in <strong class="pkg">GAP</strong> is a near-additive magma <span class="SimpleMath">\(A\)</span> with an operation <code class="code">0*</code> (or <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>)) that yields the zero element of <span class="SimpleMath">\(A\)</span>.</p>
<p>So a near-additive magma-with-zero <var class="Arg">A</var> does always contain a unique additively neutral element <span class="SimpleMath">\(z\)</span>, i.e., <span class="SimpleMath">\(z + a = a = a + z\)</span> holds for all <span class="SimpleMath">\(a \in A\)</span> (see <code class="func">AdditiveNeutralElement</code> (<a href="chap55_mj.html#X851EA2E67F0C9A75"><span class="RefLink">55.3-5</span></a>)). This zero element <span class="SimpleMath">\(z\)</span> can be computed with the operation <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>), by applying this function to <span class="SimpleMath">\(A\)</span> or to any element <span class="SimpleMath">\(a\)</span> in <span class="SimpleMath">\(A\)</span>. The zero element can be computed also as <code class="code">0 * </code><span class="SimpleMath">\(a\)</span>, for any <span class="SimpleMath">\(a\)</span> in <span class="SimpleMath">\(A\)</span>.</p>
<p><em>Note</em> that it may happen that a near-additive magma containing a zero does <em>not</em> lie in the category <code class="func">IsNearAdditiveMagmaWithZero</code> (see <a href="chap31_mj.html#X7D72F11B82F4A036"><span class="RefLink">31.6</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNearAdditiveGroup</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNearAdditiveMagmaWithInverses</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A <em>near-additive group</em> in <strong class="pkg">GAP</strong> is a near-additive magma-with-zero <span class="SimpleMath">\(A\)</span> with an operation <code class="code">-1*</code><span class="SimpleMath">\(: A \rightarrow A\)</span> that maps each element <span class="SimpleMath">\(a\)</span> of <span class="SimpleMath">\(A\)</span> to its additive inverse <code class="code">-1*</code><span class="SimpleMath">\(a\)</span> (or <code class="code">AdditiveInverse( </code><var class="Arg">a</var><code class="code"> )</code>, see <code class="func">AdditiveInverse</code> (<a href="chap31_mj.html#X84BB723C81D55D63"><span class="RefLink">31.10-9</span></a>)).</p>
<p>The addition <code class="code">+</code> of <span class="SimpleMath">\(A\)</span> is assumed to be associative, so a near-additive group is not more than a <em>near-additive magma-with-inverses</em>. <code class="func">IsNearAdditiveMagmaWithInverses</code> is just a synonym for <code class="func">IsNearAdditiveGroup</code>, and can be used alternatively in all function names involving the string <code class="code">"NearAdditiveGroup"</code>.</p>
<p>Note that not every trivial near-additive magma is a near-additive magma-with-zero, but every trivial near-additive magma-with-zero is a near-additive group.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAdditiveMagma</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>An <em>additive magma</em> in <strong class="pkg">GAP</strong> is a domain <span class="SimpleMath">\(A\)</span> with an associative and commutative addition <code class="code">+</code><span class="SimpleMath">\(: A \times A \rightarrow A\)</span>, see <code class="func">IsNearAdditiveMagma</code> (<a href="chap55_mj.html#X8129E95D83227658"><span class="RefLink">55.1-1</span></a>) and <code class="func">IsAdditivelyCommutative</code> (<a href="chap55_mj.html#X82D471327A9CA960"><span class="RefLink">55.3-1</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAdditiveMagmaWithZero</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>An <em>additive magma-with-zero</em> in <strong class="pkg">GAP</strong> is an additive magma <span class="SimpleMath">\(A\)</span> (see <code class="func">IsAdditiveMagma</code> (<a href="chap55_mj.html#X8565FD0C847BAA3A"><span class="RefLink">55.1-4</span></a>) with an operation <codeclass="code">0*</code> (or <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>)) that yields the zero of <span class="SimpleMath">\(A\)</span>.</p>
<p>So an additive magma-with-zero <span class="SimpleMath">\(A\)</span> does always contain a unique additively neutral element <span class="SimpleMath">\(z\)</span>, i.e., <span class="SimpleMath">\(z + a = a = a + z\)</span> holds for all <span class="SimpleMath">\(a \in A\)</span> (see <code class="func">AdditiveNeutralElement</code> (<a href="chap55_mj.html#X851EA2E67F0C9A75"><span class="RefLink">55.3-5</span></a>)). This element <span class="SimpleMath">\(z\)</span> can be computed with the operation <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>) as <code class="code">Zero( </code><span class="SimpleMath">\(A\)</span><code class="code"> )</code>, and <span class="SimpleMath">\(z\)</span> is also equal to <code class="code">Zero( </code><span class="SimpleMath">\(a\)</span><code class="code"> )</code> and to <code class="code">0*</code><span class="SimpleMath">\(a\)</span> for each element <span class="SimpleMath">\(a\)</span> in <span class="SimpleMath">\(A\)</span>.</p>
<p><em>Note</em> that it may happen that an additive magma containing a zero does <em>not</em> lie in the category <code class="func">IsAdditiveMagmaWithZero</code> (see <a href="chap31_mj.html#X7D72F11B82F4A036"><span class="RefLink">31.6</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAdditiveGroup</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAdditiveMagmaWithInverses</code>( <var class="Arg">obj</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>An <em>additive group</em> in <strong class="pkg">GAP</strong> is an additive magma-with-zero <span class="SimpleMath">\(A\)</span> with an operation <code class="code">-1*</code><span class="SimpleMath">\(: A \rightarrow A\)</span> that maps each element <span class="SimpleMath">\(a\)</span> of <span class="SimpleMath">\(A\)</span> to its additive inverse <code class="code">-1*</code><span class="SimpleMath">\(a\)</span> (or <code class="code">AdditiveInverse( </code><span class="SimpleMath">\(a\)</span><code class="code"> )</code>, see <code class="func">AdditiveInverse</code> (<a href="chap31_mj.html#X84BB723C81D55D63"><span class="RefLink">31.10-9</span></a>)).</p>
<p>The addition <code class="code">+</code> of <span class="SimpleMath">\(A\)</span> is assumed to be commutative and associative, so an additive group is not more than an <em>additive magma-with-inverses</em>. <code class="func">IsAdditiveMagmaWithInverses</code> is just a synonym for <code class="func">IsAdditiveGroup</code>, and can be used alternatively in all function names involving the string <code class="code">"AdditiveGroup"</code>.</p>
<p>Note that not every trivial additive magma is an additive magma-with-zero, but every trivial additive magma-with-zero is an additive group.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NearAdditiveMagma</code>( [<var class="Arg">Fam</var>, ]<var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>returns the (near-)additive magma <span class="SimpleMath">\(A\)</span> that is generated by the elements in the list <var class="Arg">gens</var>, that is, the closure of <var class="Arg">gens</var> under addition <code class="code">+</code>. The family <var class="Arg">Fam</var> of <span class="SimpleMath">\(A\)</span> can be entered as first argument; this is obligatory if <var class="Arg">gens</var> is empty (and hence also <span class="SimpleMath">\(A\)</span> is empty).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NearAdditiveMagmaWithZero</code>( [<var class="Arg">Fam</var>, ]<var class="Arg">gens</var> )</td><tdclass="tdright">( function )</td></tr></table></div>
<p>returns the (near-)additive magma-with-zero <span class="SimpleMath">\(A\)</span> that is generated by the elements in the list <var class="Arg">gens</var>, that is, the closure of <var class="Arg">gens</var> under addition <code class="code">+</code> and <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>). The family <var class="Arg">Fam</var> of <span class="SimpleMath">\(A\)</span> can be entered as first argument; this is obligatory if <var class="Arg">gens</var> is empty (and hence <span class="SimpleMath">\(A\)</span> is trivial).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NearAdditiveGroup</code>( [<var class="Arg">Fam</var>, ]<var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>returns the (near-)additive group <span class="SimpleMath">\(A\)</span> that is generated by the elements in the list <var class="Arg">gens</var>, that is, the closure of <var class="Arg">gens</var> under addition <code class="code">+</code>, <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>), and <code class="func">AdditiveInverse</code> (<a href="chap31_mj.html#X84BB723C81D55D63"><span class="RefLink">31.10-9</span></a>). The family <var class="Arg">Fam</var> of <span class="SimpleMath">\(A\)</span> can be entered as first argument; this is obligatory if <var class="Arg">gens</var> is empty (and hence <span class="SimpleMath">\(A\)</span> is trivial).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubnearAdditiveMagma</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubadditiveMagma</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubnearAdditiveMagmaNC</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubadditiveMagmaNC</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">SubnearAdditiveMagma</code> returns the near-additive magma generated by the elements in the list <var class="Arg">gens</var>, with parent the domain <var class="Arg">D</var>. <code class="func">SubnearAdditiveMagmaNC</code> does the same, except that it does not check whether the elements of <var class="Arg">gens</var> lie in <var class="Arg">D</var>.</p>
<p><code class="func">SubadditiveMagma</code> and <code class="func">SubadditiveMagmaNC</code> are just synonyms of these functions.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubnearAdditiveMagmaWithZero</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubadditiveMagmaWithZero</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubnearAdditiveMagmaWithZeroNC</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubadditiveMagmaWithZeroNC</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">SubnearAdditiveMagmaWithZero</code> returns the near-additive magma-with-zero generated by the elements in the list <var class="Arg">gens</var>, with parent the domain <var class="Arg">D</var>. <code class="func">SubnearAdditiveMagmaWithZeroNC</code> does the same, except that it does not check whether the elements of <var class="Arg">gens</var> lie in <var class="Arg">D</var>.</p>
<p><code class="func">SubadditiveMagmaWithZero</code> and <code class="func">SubadditiveMagmaWithZeroNC</code> are just synonyms of these functions.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubnearAdditiveGroup</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubadditiveGroup</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubnearAdditiveGroupNC</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubadditiveGroupNC</code>( <var class="Arg">D</var>, <var class="Arg">gens</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">SubnearAdditiveGroup</code> returns the near-additive group generated by the elements in the list <var class="Arg">gens</var>, with parent the domain <var class="Arg">D</var>. <code class="func">SubadditiveGroupNC</code> does the same, except that it does not check whether the elements of <var class="Arg">gens</var> lie in <var class="Arg">D</var>.</p>
<p><code class="func">SubadditiveGroup</code> and <code class="func">SubadditiveGroupNC</code> are just synonyms of these functions.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAdditivelyCommutative</code>( <var class="Arg">A</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A near-additive magma <var class="Arg">A</var> in <strong class="pkg">GAP</strong> is <em>additively commutative</em> if for all elements <span class="SimpleMath">\(a, b \in \textit{A}\)</span> the equality <span class="SimpleMath">\(a + b = b + a\)</span> holds.</p>
<p>Note that the commutativity of the <em>multiplication</em> <code class="code">*</code> in a multiplicative structure can be tested with <code class="func">IsCommutative</code> (<a href="chap35_mj.html#X830A4A4C795FBC2D"><span class="RefLink">35.4-9</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfNearAdditiveMagma</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfAdditiveMagma</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is a list of elements of the near-additive magma <var class="Arg">A</var> that generates <var class="Arg">A</var> as a near-additive magma, that is, the closure of this list under addition is <var class="Arg">A</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfNearAdditiveMagmaWithZero</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfAdditiveMagmaWithZero</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is a list of elements of the near-additive magma-with-zero <var class="Arg">A</var> that generates <var class="Arg">A</var> as a near-additive magma-with-zero, that is, the closure of this list under addition and <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>) is <var class="Arg">A</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfNearAdditiveGroup</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfAdditiveGroup</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is a list of elements of the near-additive group <var class="Arg">A</var> that generates <var class="Arg">A</var> as a near-additive group, that is, the closure of this list under addition, taking the zero element, and taking additive inverses (see <code class="func">AdditiveInverse</code> (<a href="chap31_mj.html#X84BB723C81D55D63"><span class="RefLink">31.10-9</span></a>)) is <var class="Arg">A</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AdditiveNeutralElement</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns the element <span class="SimpleMath">\(z\)</span> in the near-additive magma <var class="Arg">A</var> with the property that <span class="SimpleMath">\(z + a = a = a + z\)</span> holds for all <span class="SimpleMath">\(a \in\)</span> <var class="Arg">A</var>, if such an element exists. Otherwise <code class="keyw">fail</code> is returned.</p>
<p>A near-additive magma that is not a near-additive magma-with-zero can have an additive neutral element <span class="SimpleMath">\(z\)</span>; in this case, <span class="SimpleMath">\(z\)</span> <em>cannot</em> be obtained as <code class="code">Zero( <var class="Arg">A</var> )</code> or as <codeclass="code">0*</code><span class="SimpleMath">\(a\)</span> for an element <span class="SimpleMath">\(a\)</span> in <var class="Arg">A</var>, see <code class="func">Zero</code> (<a href="chap31_mj.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TrivialSubnearAdditiveMagmaWithZero</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>is the additive magma-with-zero that has the zero of the near-additive magma-with-zero <var class="Arg">A</var> as its only element.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ClosureNearAdditiveGroup</code>( <var class="Arg">A</var>, <var class="Arg">a</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ClosureNearAdditiveGroup</code>( <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>returns the closure of the near-additive magma <var class="Arg">A</var> with the element <var class="Arg">a</var> or with the near-additive magma <var class="Arg">B</var>, w.r.t. addition, taking the zero element, and taking additive inverses.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ShowAdditionTable</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ShowMultiplicationTable</code>( <var class="Arg">M</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For a structure <var class="Arg">R</var> with an addition given by <code class="code">+</code>, respectively a structure <var class="Arg">M</var> with a multiplication given by <code class="code">*</code>, this command displays the addition (multiplication) table of the structure in a pretty way.</p>
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.