This file is indexed.

/usr/share/gap/doc/ref/chap55.html is in gap-doc 4r6p5-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (ref) - Chapter 55: Additive Magmas</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap55"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</a>  <a href="chap19.html">19</a>  <a href="chap20.html">20</a>  <a href="chap21.html">21</a>  <a href="chap22.html">22</a>  <a href="chap23.html">23</a>  <a href="chap24.html">24</a>  <a href="chap25.html">25</a>  <a href="chap26.html">26</a>  <a href="chap27.html">27</a>  <a href="chap28.html">28</a>  <a href="chap29.html">29</a>  <a href="chap30.html">30</a>  <a href="chap31.html">31</a>  <a href="chap32.html">32</a>  <a href="chap33.html">33</a>  <a href="chap34.html">34</a>  <a href="chap35.html">35</a>  <a href="chap36.html">36</a>  <a href="chap37.html">37</a>  <a href="chap38.html">38</a>  <a href="chap39.html">39</a>  <a href="chap40.html">40</a>  <a href="chap41.html">41</a>  <a href="chap42.html">42</a>  <a href="chap43.html">43</a>  <a href="chap44.html">44</a>  <a href="chap45.html">45</a>  <a href="chap46.html">46</a>  <a href="chap47.html">47</a>  <a href="chap48.html">48</a>  <a href="chap49.html">49</a>  <a href="chap50.html">50</a>  <a href="chap51.html">51</a>  <a href="chap52.html">52</a>  <a href="chap53.html">53</a>  <a href="chap54.html">54</a>  <a href="chap55.html">55</a>  <a href="chap56.html">56</a>  <a href="chap57.html">57</a>  <a href="chap58.html">58</a>  <a href="chap59.html">59</a>  <a href="chap60.html">60</a>  <a href="chap61.html">61</a>  <a href="chap62.html">62</a>  <a href="chap63.html">63</a>  <a href="chap64.html">64</a>  <a href="chap65.html">65</a>  <a href="chap66.html">66</a>  <a href="chap67.html">67</a>  <a href="chap68.html">68</a>  <a href="chap69.html">69</a>  <a href="chap70.html">70</a>  <a href="chap71.html">71</a>  <a href="chap72.html">72</a>  <a href="chap73.html">73</a>  <a href="chap74.html">74</a>  <a href="chap75.html">75</a>  <a href="chap76.html">76</a>  <a href="chap77.html">77</a>  <a href="chap78.html">78</a>  <a href="chap79.html">79</a>  <a href="chap80.html">80</a>  <a href="chap81.html">81</a>  <a href="chap82.html">82</a>  <a href="chap83.html">83</a>  <a href="chap84.html">84</a>  <a href="chap85.html">85</a>  <a href="chap86.html">86</a>  <a href="chap87.html">87</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap54.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap56.html">[Next Chapter]</a>&nbsp;  </div>

<p id="mathjaxlink" class="pcenter"><a href="chap55_mj.html">[MathJax on]</a></p>
<p><a id="X7D0D096B81365B02" name="X7D0D096B81365B02"></a></p>
<div class="ChapSects"><a href="chap55.html#X7D0D096B81365B02">55 <span class="Heading">Additive Magmas</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap55.html#X82A4AB7B812B063B">55.1 <span class="Heading">(Near-)Additive Magma Categories</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X8129E95D83227658">55.1-1 IsNearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X7DADE4577D0A7208">55.1-2 IsNearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X7FC3A9C178185942">55.1-3 IsNearAdditiveGroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X8565FD0C847BAA3A">55.1-4 IsAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X785B41A67D791783">55.1-5 IsAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X7B8FBD9082CE271B">55.1-6 IsAdditiveGroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap55.html#X7C39F9DE7CA22688">55.2 <span class="Heading">(Near-)Additive Magma Generation</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X79C947CF8060335A">55.2-1 NearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X80F57FB47E1DB380">55.2-2 NearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X872307537ECC5755">55.2-3 NearAdditiveGroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X85122CFD7BDAD668">55.2-4 NearAdditiveMagmaByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X81880460851DEFBC">55.2-5 NearAdditiveMagmaWithZeroByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X85F120B68576B267">55.2-6 NearAdditiveGroupByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X7AA6092683FC0F9C">55.2-7 SubnearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X784859197D89A548">55.2-8 SubnearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X844C49BA807AB99F">55.2-9 SubnearAdditiveGroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap55.html#X799E6CC28737BF1B">55.3 <span class="Heading">Attributes and Properties for (Near-)Additive Magmas</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X82D471327A9CA960">55.3-1 IsAdditivelyCommutative</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X804B178884002A40">55.3-2 GeneratorsOfNearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X7EB9ABF880DCAE01">55.3-3 GeneratorsOfNearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X7EA15714795D71CF">55.3-4 GeneratorsOfNearAdditiveGroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X851EA2E67F0C9A75">55.3-5 AdditiveNeutralElement</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X78FB0A5C86DC86F9">55.3-6 TrivialSubnearAdditiveMagmaWithZero</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap55.html#X7BB03781863BE4EB">55.4 <span class="Heading">Operations for (Near-)Additive Magmas</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X845E915B87D2AC16">55.4-1 <span class="Heading">ClosureNearAdditiveGroup</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap55.html#X8142D994794B700A">55.4-2 ShowAdditionTable</a></span>
</div></div>
</div>

<h3>55 <span class="Heading">Additive Magmas</span></h3>

<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.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.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.html#X8183A6857B0C3633"><span class="RefLink">57</span></a>), vector space (see <a href="chap61.html#X7DAD6700787EC845"><span class="RefLink">61</span></a>), ring (see <a href="chap56.html#X81897F6082CACB59"><span class="RefLink">56</span></a>), or field (see <a href="chap58.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.html#X82A4AB7B812B063B"><span class="RefLink">55.1</span></a>).</p>

<p><a id="X82A4AB7B812B063B" name="X82A4AB7B812B063B"></a></p>

<h4>55.1 <span class="Heading">(Near-)Additive Magma Categories</span></h4>

<p><a id="X8129E95D83227658" name="X8129E95D83227658"></a></p>

<h5>55.1-1 IsNearAdditiveMagma</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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 × A → A</span>.</p>

<p><a id="X7DADE4577D0A7208" name="X7DADE4577D0A7208"></a></p>

<h5>55.1-2 IsNearAdditiveMagmaWithZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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.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 ∈ A</span> (see <code class="func">AdditiveNeutralElement</code> (<a href="chap55.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.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.html#X7D72F11B82F4A036"><span class="RefLink">31.6</span></a>).</p>

<p><a id="X7FC3A9C178185942" name="X7FC3A9C178185942"></a></p>

<h5>55.1-3 IsNearAdditiveGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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 → 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.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>

<p><a id="X8565FD0C847BAA3A" name="X8565FD0C847BAA3A"></a></p>

<h5>55.1-4 IsAdditiveMagma</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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 × A → A</span>, see <code class="func">IsNearAdditiveMagma</code> (<a href="chap55.html#X8129E95D83227658"><span class="RefLink">55.1-1</span></a>) and <code class="func">IsAdditivelyCommutative</code> (<a href="chap55.html#X82D471327A9CA960"><span class="RefLink">55.3-1</span></a>).</p>

<p><a id="X785B41A67D791783" name="X785B41A67D791783"></a></p>

<h5>55.1-5 IsAdditiveMagmaWithZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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.html#X8565FD0C847BAA3A"><span class="RefLink">55.1-4</span></a>) with an operation <code class="code">0*</code> (or <code class="func">Zero</code> (<a href="chap31.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 ∈ A</span> (see <code class="func">AdditiveNeutralElement</code> (<a href="chap55.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.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.html#X7D72F11B82F4A036"><span class="RefLink">31.6</span></a>).</p>

<p><a id="X7B8FBD9082CE271B" name="X7B8FBD9082CE271B"></a></p>

<h5>55.1-6 IsAdditiveGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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 → 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.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>

<p><a id="X7C39F9DE7CA22688" name="X7C39F9DE7CA22688"></a></p>

<h4>55.2 <span class="Heading">(Near-)Additive Magma Generation</span></h4>

<p>This section describes functions that create additive magmas from generators (see <code class="func">NearAdditiveMagma</code> (<a href="chap55.html#X79C947CF8060335A"><span class="RefLink">55.2-1</span></a>), <code class="func">NearAdditiveMagmaWithZero</code> (<a href="chap55.html#X80F57FB47E1DB380"><span class="RefLink">55.2-2</span></a>), <code class="func">NearAdditiveGroup</code> (<a href="chap55.html#X872307537ECC5755"><span class="RefLink">55.2-3</span></a>)), the underlying operations for which methods can be installed (see <code class="func">NearAdditiveMagmaByGenerators</code> (<a href="chap55.html#X85122CFD7BDAD668"><span class="RefLink">55.2-4</span></a>), <code class="func">NearAdditiveMagmaWithZeroByGenerators</code> (<a href="chap55.html#X81880460851DEFBC"><span class="RefLink">55.2-5</span></a>), <code class="func">NearAdditiveGroupByGenerators</code> (<a href="chap55.html#X85F120B68576B267"><span class="RefLink">55.2-6</span></a>)) and functions for forming additive submagmas (see <code class="func">SubnearAdditiveMagma</code> (<a href="chap55.html#X7AA6092683FC0F9C"><span class="RefLink">55.2-7</span></a>), <code class="func">SubnearAdditiveMagmaWithZero</code> (<a href="chap55.html#X784859197D89A548"><span class="RefLink">55.2-8</span></a>), <code class="func">SubnearAdditiveGroup</code> (<a href="chap55.html#X844C49BA807AB99F"><span class="RefLink">55.2-9</span></a>)).</p>

<p><a id="X79C947CF8060335A" name="X79C947CF8060335A"></a></p>

<h5>55.2-1 NearAdditiveMagma</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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>

<p><a id="X80F57FB47E1DB380" name="X80F57FB47E1DB380"></a></p>

<h5>55.2-2 NearAdditiveMagmaWithZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; NearAdditiveMagmaWithZero</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-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.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>

<p><a id="X872307537ECC5755" name="X872307537ECC5755"></a></p>

<h5>55.2-3 NearAdditiveGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>), and <code class="func">AdditiveInverse</code> (<a href="chap31.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>

<p><a id="X85122CFD7BDAD668" name="X85122CFD7BDAD668"></a></p>

<h5>55.2-4 NearAdditiveMagmaByGenerators</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; NearAdditiveMagmaByGenerators</code>( [<var class="Arg">Fam</var>, ]<var class="Arg">gens</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>An underlying operation for <code class="func">NearAdditiveMagma</code> (<a href="chap55.html#X79C947CF8060335A"><span class="RefLink">55.2-1</span></a>).</p>

<p><a id="X81880460851DEFBC" name="X81880460851DEFBC"></a></p>

<h5>55.2-5 NearAdditiveMagmaWithZeroByGenerators</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; NearAdditiveMagmaWithZeroByGenerators</code>( [<var class="Arg">Fam</var>, ]<var class="Arg">gens</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>An underlying operation for <code class="func">NearAdditiveMagmaWithZero</code> (<a href="chap55.html#X80F57FB47E1DB380"><span class="RefLink">55.2-2</span></a>).</p>

<p><a id="X85F120B68576B267" name="X85F120B68576B267"></a></p>

<h5>55.2-6 NearAdditiveGroupByGenerators</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; NearAdditiveGroupByGenerators</code>( [<var class="Arg">Fam</var>, ]<var class="Arg">gens</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>An underlying operation for <code class="func">NearAdditiveGroup</code> (<a href="chap55.html#X872307537ECC5755"><span class="RefLink">55.2-3</span></a>).</p>

<p><a id="X7AA6092683FC0F9C" name="X7AA6092683FC0F9C"></a></p>

<h5>55.2-7 SubnearAdditiveMagma</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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">&#8227; 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">&#8227; 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>

<p><a id="X784859197D89A548" name="X784859197D89A548"></a></p>

<h5>55.2-8 SubnearAdditiveMagmaWithZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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">&#8227; 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">&#8227; 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>

<p><a id="X844C49BA807AB99F" name="X844C49BA807AB99F"></a></p>

<h5>55.2-9 SubnearAdditiveGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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">&#8227; 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">&#8227; 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>

<p><a id="X799E6CC28737BF1B" name="X799E6CC28737BF1B"></a></p>

<h4>55.3 <span class="Heading">Attributes and Properties for (Near-)Additive Magmas</span></h4>

<p><a id="X82D471327A9CA960" name="X82D471327A9CA960"></a></p>

<h5>55.3-1 IsAdditivelyCommutative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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 ∈ <var class="Arg">A</var></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.html#X830A4A4C795FBC2D"><span class="RefLink">35.4-9</span></a>).</p>

<p><a id="X804B178884002A40" name="X804B178884002A40"></a></p>

<h5>55.3-2 GeneratorsOfNearAdditiveMagma</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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>

<p><a id="X7EB9ABF880DCAE01" name="X7EB9ABF880DCAE01"></a></p>

<h5>55.3-3 GeneratorsOfNearAdditiveMagmaWithZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>) is <var class="Arg">A</var>.</p>

<p><a id="X7EA15714795D71CF" name="X7EA15714795D71CF"></a></p>

<h5>55.3-4 GeneratorsOfNearAdditiveGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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.html#X84BB723C81D55D63"><span class="RefLink">31.10-9</span></a>)) is <var class="Arg">A</var>.</p>

<p><a id="X851EA2E67F0C9A75" name="X851EA2E67F0C9A75"></a></p>

<h5>55.3-5 AdditiveNeutralElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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 ∈</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 <code class="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.html#X8040AC7A79FFC442"><span class="RefLink">31.10-3</span></a>).</p>

<p><a id="X78FB0A5C86DC86F9" name="X78FB0A5C86DC86F9"></a></p>

<h5>55.3-6 TrivialSubnearAdditiveMagmaWithZero</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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>

<p><a id="X7BB03781863BE4EB" name="X7BB03781863BE4EB"></a></p>

<h4>55.4 <span class="Heading">Operations for (Near-)Additive Magmas</span></h4>

<p><a id="X845E915B87D2AC16" name="X845E915B87D2AC16"></a></p>

<h5>55.4-1 <span class="Heading">ClosureNearAdditiveGroup</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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>

<p><a id="X8142D994794B700A" name="X8142D994794B700A"></a></p>

<h5>55.4-2 ShowAdditionTable</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; 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">&#8227; 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>


<div class="example"><pre>
<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ShowAdditionTable(GF(4));</span>
+        | 0*Z(2)   Z(2)^0   Z(2^2)   Z(2^2)^2
---------+------------------------------------
0*Z(2)   | 0*Z(2)   Z(2)^0   Z(2^2)   Z(2^2)^2
Z(2)^0   | Z(2)^0   0*Z(2)   Z(2^2)^2 Z(2^2)  
Z(2^2)   | Z(2^2)   Z(2^2)^2 0*Z(2)   Z(2)^0  
Z(2^2)^2 | Z(2^2)^2 Z(2^2)   Z(2)^0   0*Z(2)  

</pre></div>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap54.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap56.html">[Next Chapter]</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</a>  <a href="chap19.html">19</a>  <a href="chap20.html">20</a>  <a href="chap21.html">21</a>  <a href="chap22.html">22</a>  <a href="chap23.html">23</a>  <a href="chap24.html">24</a>  <a href="chap25.html">25</a>  <a href="chap26.html">26</a>  <a href="chap27.html">27</a>  <a href="chap28.html">28</a>  <a href="chap29.html">29</a>  <a href="chap30.html">30</a>  <a href="chap31.html">31</a>  <a href="chap32.html">32</a>  <a href="chap33.html">33</a>  <a href="chap34.html">34</a>  <a href="chap35.html">35</a>  <a href="chap36.html">36</a>  <a href="chap37.html">37</a>  <a href="chap38.html">38</a>  <a href="chap39.html">39</a>  <a href="chap40.html">40</a>  <a href="chap41.html">41</a>  <a href="chap42.html">42</a>  <a href="chap43.html">43</a>  <a href="chap44.html">44</a>  <a href="chap45.html">45</a>  <a href="chap46.html">46</a>  <a href="chap47.html">47</a>  <a href="chap48.html">48</a>  <a href="chap49.html">49</a>  <a href="chap50.html">50</a>  <a href="chap51.html">51</a>  <a href="chap52.html">52</a>  <a href="chap53.html">53</a>  <a href="chap54.html">54</a>  <a href="chap55.html">55</a>  <a href="chap56.html">56</a>  <a href="chap57.html">57</a>  <a href="chap58.html">58</a>  <a href="chap59.html">59</a>  <a href="chap60.html">60</a>  <a href="chap61.html">61</a>  <a href="chap62.html">62</a>  <a href="chap63.html">63</a>  <a href="chap64.html">64</a>  <a href="chap65.html">65</a>  <a href="chap66.html">66</a>  <a href="chap67.html">67</a>  <a href="chap68.html">68</a>  <a href="chap69.html">69</a>  <a href="chap70.html">70</a>  <a href="chap71.html">71</a>  <a href="chap72.html">72</a>  <a href="chap73.html">73</a>  <a href="chap74.html">74</a>  <a href="chap75.html">75</a>  <a href="chap76.html">76</a>  <a href="chap77.html">77</a>  <a href="chap78.html">78</a>  <a href="chap79.html">79</a>  <a href="chap80.html">80</a>  <a href="chap81.html">81</a>  <a href="chap82.html">82</a>  <a href="chap83.html">83</a>  <a href="chap84.html">84</a>  <a href="chap85.html">85</a>  <a href="chap86.html">86</a>  <a href="chap87.html">87</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>