<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftOperatorAdditiveGroup</code>( <var class="Arg">D</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A domain <var class="Arg">D</var> lies in <code class="code">IsLeftOperatorAdditiveGroup</code> if it is an additive group that is closed under scalar multiplication from the left, and such that <span class="SimpleMath">\(\lambda * ( x + y ) = \lambda * x + \lambda * y\)</span> for all scalars <span class="SimpleMath">\(\lambda\)</span> and elements <span class="SimpleMath">\(x, y \in D\)</span> (here and below by scalars we mean elements of a domain acting on <var class="Arg">D</var> from left or right as appropriate).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfLeftOperatorAdditiveGroup</code>( <var class="Arg">D</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns a list of elements of <var class="Arg">D</var> that generates <var class="Arg">D</var> as a left operator additive group.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfLeftModule</code>( <var class="Arg">M</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns a list of elements of <var class="Arg">M</var> that generate <var class="Arg">M</var> as a left module.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AsLeftModule</code>( <var class="Arg">R</var>, <var class="Arg">D</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>if the domain <var class="Arg">D</var> forms an additive group and is closed under left multiplication by the elements of <var class="Arg">R</var>, then <code class="code">AsLeftModule( <var class="Arg">R</var>, <var class="Arg">D</var> )</code> returns the domain <var class="Arg">D</var> viewed as a left module.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightOperatorAdditiveGroup</code>( <var class="Arg">D</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A domain <var class="Arg">D</var> lies in <code class="code">IsRightOperatorAdditiveGroup</code> if it is an additive group that is closed under scalar multiplication from the right, and such that <span class="SimpleMath">\(( x + y ) * \lambda = x * \lambda + y * \lambda\)</span> for all scalars <span class="SimpleMath">\(\lambda\)</span> and elements <span class="SimpleMath">\(x, y \in D\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfRightOperatorAdditiveGroup</code>( <var class="Arg">D</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns a list of elements of <var class="Arg">D</var> that generates <var class="Arg">D</var> as a right operator additive group.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GeneratorsOfRightModule</code>( <var class="Arg">M</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns a list of elements of <var class="Arg">M</var> that generate <var class="Arg">M</var> as a left module.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftActingDomain</code>( <var class="Arg">D</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Let <var class="Arg">D</var> be an external left set, that is, <var class="Arg">D</var> is closed under the action of a domain <span class="SimpleMath">\(L\)</span> by multiplication from the left. Then <span class="SimpleMath">\(L\)</span> can be accessed as value of <code class="code">LeftActingDomain</code> for <var class="Arg">D</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Submodule</code>( <var class="Arg">M</var>, <var class="Arg">gens</var>[, <var class="Arg">"basis"</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>is the left module generated by the collection <var class="Arg">gens</var>, with parent module <var class="Arg">M</var>. If the string <code class="code">"basis"</code> is entered as the third argument then the submodule of <var class="Arg">M</var> is created for which the list <var class="Arg">gens</var> is known to be a list of basis vectors; in this case, it is <em>not</em> checked whether <var class="Arg">gens</var> really is linearly independent and whether all in <var class="Arg">gens</var> lie in <var class="Arg">M</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubmoduleNC</code>( <var class="Arg">M</var>, <var class="Arg">gens</var>[, <var class="Arg">"basis"</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="func">SubmoduleNC</code> does the same as <code class="func">Submodule</code> (<a href="chap57_mj.html#X8465103F874BC07B"><span class="RefLink">57.2-1</span></a>), except that it does not check whether all in <var class="Arg">gens</var> lie in <var class="Arg">M</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ClosureLeftModule</code>( <var class="Arg">M</var>, <var class="Arg">m</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>is the left module generated by the left module generators of <var class="Arg">M</var> and the element <var class="Arg">m</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">V:= LeftModuleByGenerators(Rationals, [ [ 1, 0, 0 ], [ 0, 1, 0 ] ]);</span>
<vector space over Rationals, with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">ClosureLeftModule( V, [ 1, 1, 1 ] );</span>
<vector space over Rationals, with 3 generators>
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFreeLeftModule</code>( <var class="Arg">M</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>A left module is free as module if it is isomorphic to a direct sum of copies of its left acting domain.</p>
<p>Free left modules can have bases.</p>
<p>The characteristic (see <code class="func">Characteristic</code> (<a href="chap31_mj.html#X81278E53800BF64D"><span class="RefLink">31.10-1</span></a>)) of a free left module is defined as the characteristic of its left acting domain (see <code class="func">LeftActingDomain</code> (<a href="chap57_mj.html#X86F070E0807DC34E"><span class="RefLink">57.1-11</span></a>)).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FreeLeftModule</code>( <var class="Arg">R</var>, <var class="Arg">gens</var>[, <var class="Arg">zero</var>][, <var class="Arg">"basis"</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">FreeLeftModule( <var class="Arg">R</var>, <var class="Arg">gens</var> )</code> is the free left module over the ring <var class="Arg">R</var>, generated by the vectors in the collection <var class="Arg">gens</var>.</p>
<p>If there are three arguments, a ring <var class="Arg">R</var> and a collection <var class="Arg">gens</var> and an element <var class="Arg">zero</var>, then <code class="code">FreeLeftModule( <var class="Arg">R</var>, <var class="Arg">gens</var>, <var class="Arg">zero</var> )</code> is the <var class="Arg">R</var>-free left module generated by <var class="Arg">gens</var>, with zero element <var class="Arg">zero</var>.</p>
<p>If the last argument is the string <code class="code">"basis"</code> then the vectors in <var class="Arg">gens</var> are known to form a basis of the free module.</p>
<p>It should be noted that the generators <var class="Arg">gens</var> must be vectors, that is, they must support an addition and a scalar action of <var class="Arg">R</var> via left multiplication. (See also Section <a href="chap31_mj.html#X82039A218274826F"><span class="RefLink">31.3</span></a> for the general meaning of <q>generators</q> in <strong class="pkg">GAP</strong>.) In particular, <code class="func">FreeLeftModule</code> is <em>not</em> an equivalent of commands such as <code class="func">FreeGroup</code> (<a href="chap37_mj.html#X8215999E835290F0"><span class="RefLink">37.2-1</span></a>) in the sense of a constructor of a free group on abstract generators. Such a construction seems to be unnecessary for vector spaces, for that one can use for example row spaces (see <code class="func">FullRowSpace</code> (<a href="chap61_mj.html#X80209A8785126AAB"><spanclass="RefLink">61.9-4</span></a>)) in the finite dimensional case and polynomial rings (see <code class="func">PolynomialRing</code> (<a href="chap66_mj.html#X7D2F16E480060330"><span class="RefLink">66.15-1</span></a>)) in the infinite dimensional case. Moreover, the definition of a <q>natural</q> addition for elements of a given magma (for example a permutation group) is possible via the construction of magma rings (see Chapter <a href="chap65_mj.html#X825897DC7A16E07D"><span class="RefLink">65</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">V:= FreeLeftModule(Rationals, [[ 1, 0, 0 ], [ 0, 1, 0 ]], "basis");</span>
<vector space of dimension 2 over Rationals>
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Dimension</code>( <var class="Arg">M</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>A free left module has dimension <span class="SimpleMath">\(n\)</span> if it is isomorphic to a direct sum of <span class="SimpleMath">\(n\)</span> copies of its left acting domain.</p>
<p>(We do <em>not</em> mark <code class="func">Dimension</code> as invariant under isomorphisms since we want to call <code class="func">UseIsomorphismRelation</code> (<a href="chap31_mj.html#X839BE6467E8474D9"><span class="RefLink">31.13-3</span></a>) also for free left modules over different left acting domains.)</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFiniteDimensional</code>( <var class="Arg">M</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>is <code class="keyw">true</code> if <var class="Arg">M</var> is a free left module that is finite dimensional over its left acting domain, and <code class="keyw">false</code> otherwise.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UseBasis</code>( <var class="Arg">V</var>, <var class="Arg">gens</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The vectors in the list <var class="Arg">gens</var> are known to form a basis of the free left module <var class="Arg">V</var>. <code class="func">UseBasis</code> stores information in <var class="Arg">V</var> that can be derived form this fact, namely</p>
<ul>
<li><p><var class="Arg">gens</var> are stored as left module generators if no such generators were bound (this is useful especially if <var class="Arg">V</var> is an algebra),</p>
</li>
<li><p>the dimension of <var class="Arg">V</var> is stored.</p>
</li>
</ul>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">V:= FreeLeftModule( Rationals, [ [ 1, 0 ], [ 0, 1 ], [ 1, 1 ] ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">UseBasis( V, [ [ 1, 0 ], [ 1, 1 ] ] );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">V; # now V knows its dimension</span>
<vector space of dimension 2 over Rationals>
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMatrixModule</code>( <var class="Arg">V</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A <em>matrix module</em> is a free left module whose elements are matrices.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFullRowModule</code>( <var class="Arg">M</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A <em>full row module</em> is a module <span class="SimpleMath">\(R^n\)</span>, for a ring <span class="SimpleMath">\(R\)</span> and a nonnegative integer <span class="SimpleMath">\(n\)</span>.</p>
<p>More precisely, a full row module is a free left module over a ring <span class="SimpleMath">\(R\)</span> such that the elements are row vectors of the same length <span class="SimpleMath">\(n\)</span> and with entries in <span class="SimpleMath">\(R\)</span> and such that the dimension is equal to <span class="SimpleMath">\(n\)</span>.</p>
<p>Several functions delegate their tasks to full row modules, for example <code class="func">Iterator</code> (<a href="chap30_mj.html#X83ADF8287ED0668E"><span class="RefLink">30.8-1</span></a>) and <code class="func">Enumerator</code> (<a href="chap30_mj.html#X7EF8910F82B45EC7"><span class="RefLink">30.3-2</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FullRowModule</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>is the row module <code class="code"><var class="Arg">R</var>^<var class="Arg">n</var></code>, for a ring <var class="Arg">R</var> and a nonnegative integer <var class="Arg">n</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFullMatrixModule</code>( <var class="Arg">M</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>A <em>full matrix module</em> is a module <span class="SimpleMath">\(R^{{[m,n]}}\)</span>, for a ring <span class="SimpleMath">\(R\)</span> and two nonnegative integers <span class="SimpleMath">\(m\)</span>, <span class="SimpleMath">\(n\)</span>.</p>
<p>More precisely, a full matrix module is a free left module over a ring <span class="SimpleMath">\(R\)</span> such that the elements are <span class="SimpleMath">\(m\)</span> by <span class="SimpleMath">\(n\)</span> matrices with entries in <span class="SimpleMath">\(R\)</span> and such that the dimension is equal to <span class="SimpleMath">\(m n\)</span>.</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.