/usr/share/gap/doc/ref/chap55.html is in gap-doc 4r7p5-2.
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"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap54.html">[Previous Chapter]</a> <a href="chap56.html">[Next Chapter]</a> </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"> </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"> </span><a href="chap55.html#X8129E95D83227658">55.1-1 IsNearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X7DADE4577D0A7208">55.1-2 IsNearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X7FC3A9C178185942">55.1-3 IsNearAdditiveGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X8565FD0C847BAA3A">55.1-4 IsAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X785B41A67D791783">55.1-5 IsAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X7B8FBD9082CE271B">55.1-6 IsAdditiveGroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap55.html#X79C947CF8060335A">55.2-1 NearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X80F57FB47E1DB380">55.2-2 NearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X872307537ECC5755">55.2-3 NearAdditiveGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X85122CFD7BDAD668">55.2-4 NearAdditiveMagmaByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X81880460851DEFBC">55.2-5 NearAdditiveMagmaWithZeroByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X85F120B68576B267">55.2-6 NearAdditiveGroupByGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X7AA6092683FC0F9C">55.2-7 SubnearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X784859197D89A548">55.2-8 SubnearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X844C49BA807AB99F">55.2-9 SubnearAdditiveGroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap55.html#X82D471327A9CA960">55.3-1 IsAdditivelyCommutative</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X804B178884002A40">55.3-2 GeneratorsOfNearAdditiveMagma</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X7EB9ABF880DCAE01">55.3-3 GeneratorsOfNearAdditiveMagmaWithZero</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X7EA15714795D71CF">55.3-4 GeneratorsOfNearAdditiveGroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X851EA2E67F0C9A75">55.3-5 AdditiveNeutralElement</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap55.html#X78FB0A5C86DC86F9">55.3-6 TrivialSubnearAdditiveMagmaWithZero</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </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"> </span><a href="chap55.html#X845E915B87D2AC16">55.4-1 <span class="Heading">ClosureNearAdditiveGroup</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </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">‣ 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">‣ 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">‣ 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 → 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">‣ 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">‣ 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">‣ 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 → 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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>
<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">‣ 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>
<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">‣ 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>
<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">‣ 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">‣ 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>
<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">‣ 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.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">‣ 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.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">‣ 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">‣ 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">‣ 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>
<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">‣ 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>
<div class="example"><pre>
<span class="GAPprompt">gap></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"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap54.html">[Previous Chapter]</a> <a href="chap56.html">[Next Chapter]</a> </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>
|