<h3>6 <span class="Heading">Right Modules over Path
Algebras</span></h3>
<p>There are two implementations of right modules over path algebras. The first type are matrix modules that are defined by vector spaces and linear transformations. The second type is presentations defined by vertex projective modules (see <a href="chap6.html#X84F07A1579CBC26A"><span class="RefLink">6.7</span></a>).</p>
<h4>6.1 <span class="Heading">Modules of matrix type</span></h4>
<p>The first implementation of right modules over path algebras views them as a collection of vector spaces and linear transformations. Each vertex in the path algebra is associated with a vector space over the field of the algebra. For each vertex <span class="Math">v</span> of the algebra there is a vector space <span class="Math">V</span>. Arrows of the algebra are then associated with linear transformations which map the vector space of the source vertex to the vector space of the target vertex. For example, if <span class="Math">a</span> is an arrow from <span class="Math">v</span> to <span class="Math">w</span>, then there is a transformation from vector space <span class="Math">V</span> to <span class="Math">W</span>. Given the dimension vector of the module we want to construct, the information we need to provide is the non-zero linear transformations. The size of the matrices for the zero linear transformation are given when we know the dimension vector. Alternatively, if we enter all the transformations, we can create the vector spaces of the correct dimension, and check to make sure the dimensions all agree. We can create a module in this way as follows.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RightModuleOverPathAlgebra</code>( <var class="Arg">A</var>, <var class="Arg">dim_vector</var>, <var class="Arg">gens</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">‣ RightModuleOverPathAlgebra</code>( <var class="Arg">A</var>, <var class="Arg">mats</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">‣ RightModuleOverPathAlgebraNC</code>( <var class="Arg">A</var>, <var class="Arg">mats</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Arguments: <var class="Arg">A</var> -- a (quotient of a) path algebra and <var class="Arg">dim_vector</var> -- the dimension vector of the module, <var class="Arg">gens</var> or <var class="Arg">mats</var> -- a list of matrices. For further explanations, see below. <br /></p>
<p>Returns: a module over a path algebra or over a qoutient of a path algebra.</p>
<p>In the first function call, the second argument <var class="Arg">dim_vector</var> is the dimension vector of the module, and the last argument <var class="Arg">gens</var> (maybe an empty list <code class="code">[]</code>) is a list of elements of the form <code class="code">["label",matrix]</code>. This function constructs a right module over a (quotient of a) path algebra <var class="Arg">A</var> with dimension vector <var class="Arg">dim_vector</var>, and where the generators/arrows with a non-zero action is given in the list <var class="Arg">gens</var>. The format of the list <var class="Arg">gens</var> is [["a",[matrix_a]],["b",[matrix_b]],...], where "a" and "b" are labels of arrows used when the underlying quiver was created and matrix_? is the action of the algebra element corresponding to the arrow with label"?". The action of the arrows can be entered in any order. The function checks (i) if the algebra <var class="Arg">A</var> is a (quotient of a) path algebra, (ii) if the matrices of the action of the arrows have the correct size according to the dimension vector entered, (iii) also whether or not the relations of the algebra are satisfied and (iv) if all matrices are over the correct field.</p>
<p>In the second function call, the list of matrices <var class="Arg">mats</var> can take on three different forms. The function checks (i), (ii), (iii) and (iv) as above.</p>
<p>1) The argument <var class="Arg">mats</var> can be a list of blocks of matrices where each block is of the form, `["name of arrow",matrix]'. So if you named your arrows when you created the quiver, then you can associate a matrix with that arrow explicitly.
<p>2) The argument <var class="Arg">mats</var> is just a list of matrices, and the matrices will be associated to the arrows in the order of arrow creation. If when creating the quiver, the arrow <spanclass="Math">a</span> was created first, then <span class="Math">a</span> would be associated with the first matrix.</p>
<p>3) The method is very much the same as the second method. If <var class="Arg">arrows</var> is a list of the arrows of the quiver (obtained for instance through <code class="code">arrows := ArrowsOfQuiver(Q);</code>), the argument <var class="Arg">mats</var> can have the format <code class="code">[[arrows[1],matrix_1],[arrows[2],matrix_2],.... ].</code></p>
<p>If you would like the trivial vector space at any vertex, then for each incoming arrow "a", associate it with a list of the form <code class="code">["a",[n,0]]</code> where n is the dimension of the vector space at the source vertex of the arrow. Likewise for all outgoing arrows "b", associate them to a block of form <code class="code">["b",[0,n]]</code> where n is the dimension of the vector space at the target vertex of the arrow.</p>
<p>The third function call is the same as the second except that the check (iv) is not performed.</p>
<p>A warning though, the function assumes that you do not mix the styles of inputting the matrices/linear transformations associated to the arrows in the quiver. Furthermore in the two last versions, each arrow needs to be assigned a matrix, otherwise an error will be returned.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RightAlgebraModuleToPathAlgebraMatModule</code>( <var class="Arg">M</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Arguments: <var class="Arg">M</var> -- a right module over an algebra. <br /></p>
<p>Returns: a module over a (qoutient of a) path algebra.</p>
<p>This function constructs a right module over a (quotient of a) path algebra <span class="SimpleMath">A</span> from a RightAlgebraModule over the same algebra <span class="SimpleMath">A</span>. The function checks if <span class="SimpleMath">A</span> actually is a quotient of a path algebra and if the module <span class="SimpleMath">M</span> is finite dimensional and if not, it returns an error message.</p>
<p>Returns: true if <var class="Arg">M</var> and <var class="Arg">N</var> has the same dimension vectors and the same matrices defining the module structure.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPathAlgebraMatModule</code>( <var class="Arg">object</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: true or false depending on whether <var class="Arg">object</var> belongs to the category <code class="code">IsPathAlgebraMatModule</code>.</p>
<p>These matrix modules fall under the category `IsAlgebraModule' with the added filter of `IsPathAlgebraMatModule'. Operations available for algebra modules can be applied to path algebra modules. See <a href="/Users/oyvinso/gap-4.12.0/doc/ref/chap62.html#X818DE6C57D1A4B33"><span class="RefLink">Reference: Representations of Algebras</span></a> for more details. These modules are also vector spaces over the field of the path algebra. So refer to <a href="/Users/oyvinso/gap-4.12.0/doc/ref/chap61.html#X7DAD6700787EC845"><span class="RefLink">Reference: Vector Spaces</span></a> for descriptions of the basis and elementwise operations available.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ^</code>( <var class="Arg">m</var>, <var class="Arg">p</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Arguments: <var class="Arg">m</var> -- an element in a module, <var class="Arg">p</var> -- an element in a quiver algebra. <br /></p>
<p>Returns: the element <var class="Arg">m</var> multiplied with <var class="Arg">p</var>.</p>
<p>When you act on an module element <span class="Math">m</span> by an arrow <span class="Math">a</span> from <span class="Math">v</span> to <span class="Math">w</span>, the component of <span class="Math">m</span> from <span class="Math">V</span> is acted on by <span class="Math">L</span> the transformation associated to <span class="Math">a</span> and placed in the component <span class="Math">W</span>. All other components are given the value <span class="Math">0</span>.</p>
<p>Returns: a basis of the annihilator of the module <var class="Arg">M</var> in the finite dimensional algebra over which <var class="Arg">M</var> is a module.</p>
<p>Returns: a basic version of the entered module <var class="Arg">M</var>, that is, if <span class="Math">M \simeq M_1^{n_1} \oplus \cdots \oplus M_t^{n_t},</span> where <span class="Math">M_i</span> is indecomposable, then <span class="Math">M_1\oplus \cdots \oplus M_t</span> is returned. At present, this function only work at best for finite dimensional (quotients of a) path algebra over a finite field. If <var class="Arg">M</var> is zero, then <var class="Arg">M</var> is returned.</p>
<p>Returns: a set of modules <span class="Math">\{M_1,..., M_t\}</span> such that <span class="Math">M \simeq M_1\oplus \cdots \oplus M_t,</span> where each <span class="Math">M_i</span> is isomorphic to <span class="Math">X_i^{n_i}</span> for some indecomposable module <span class="Math">X_i</span> and positive integer <span class="Math">n_i</span> for all <span class="Math">i</span>, where <span class="SimpleMath">X_i≄ X_j</span> for <span class="SimpleMath">i≠ j</span>.</p>
<p>Returns: a set <span class="Math">\{e_1,..., e_t\}</span> of idempotents in the endomorphism of <var class="Arg">M</var> such that <span class="Math">M \simeq \Im e_1\oplus \cdots \oplus \Im e_t,</span> where each <span class="Math">\Im e_i</span> is isomorphic to <span class="Math">X_i^{n_i}</span> for some module <span class="Math">X_i</span> and positive integer <span class="Math">n_i</span> for all <span class="Math">i</span>.</p>
<p>Returns: a list of four modules [<var class="Arg">X</var>,<var class="Arg">U</var>,<var class="Arg">X</var>, <var class="Arg">V</var>], where <var class="Arg">X</var> is one common non-zero direct summand of <var class="Arg">M</var> and <var class="Arg">N</var>, the sum of <var class="Arg">X</var> and <varclass="Arg">U</var> is <var class="Arg">M</var> and the sum of <var class="Arg">X</var> and <var class="Arg">V</var> is <var class="Arg">N</var>, if such a non-zero direct summand exists. Otherwise it returns false.</p>
<p>The function checks if <var class="Arg">M</var> and <var class="Arg">N</var> are <code class="code">PathAlgebraMatModule</code>s over the same (quotient of a) path algebra.</p>
<p>Returns: an estimate of the complexity of the module <var class="Arg">M</var>.</p>
<p>The function checks if the algebra over which the module <var class="Arg">M</var> lives is known to have finite global dimension. If so, it returns complexity zero. Otherwise it tries to estimate the complexity in the following way. Recall that if a function <span class="SimpleMath">f(x)</span> is a polynomial in <span class="SimpleMath">x</span>, the degree of <span class="SimpleMath">f(x)</span> is given by <span class="SimpleMath">lim_n->∞ fraclog |f(n)|log n</span>. So then this function computes an estimate of the complexity of <var class="Arg">M</var> by approximating the complexity by considering the limit <span class="SimpleMath">lim_m-> ∞ log fracdim(P(M)(m))log m</span> where <span class="SimpleMath">P(M)(m)</span> is the <span class="SimpleMath">m</span>-th projective in a minimal projective resolution of <var class="Arg">M</var> at stage <span class="SimpleMath">m</span>. This limit is estimated by <span class="SimpleMath">fraclog dim(P(M)(n))log n</span>.</p>
<p>Returns: a list of indecomposable modules whose direct sum is isomorphic to the module <var class="Arg">M</var> in first variant. The second variant returns a list of inclusions into <var class="Arg">M</var> with the sum of the images is isomorphic to the module <var class="Arg">M</var>.</p>
<p>Warning: the function is not properly tested and it at best only works properly over finite fields.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DecomposeModuleProbabilistic</code>( <var class="Arg">HomMM</var>, <var class="Arg">M</var> )</td><tdclass="tdright">( operation )</td></tr></table></div>
<p>Arguments: <var class="Arg">HomMM</var>, <var class="Arg">M</var> -- a list of basis elements of the Hom-space of the entered module and a path algebra module. <br /></p>
<p>Returns: with (hopefully high probability) a list of indecomposable modules whose direct sum is isomorphic to the module <var class="Arg">M</var>.</p>
<p>Given a module <var class="Arg">M</var> over a finite dimensional quotient of a path algebra over a finite field, this function tries to decompose the entered module <var class="Arg">M</var> by choosing random elements in the endomorphism ring of <var class="Arg">M</var> which are non-nilpotent and non-invertible. Such elements splits the module in two direct summands, and the procedure does this as long as it finds such elements. The output is not guaranteed to be a list of indecomposable modules, but their direct sum is isomorphic to the entered module <var class="Arg">M</var>. This was constructed as joint effort by the participants at the workshop "Persistence, Representations, and Computation", February 26th - March 2nd, 2018". This is an experimental function, so use with caution.
<p>Returns: a list with high probability of indecomposable modules whose direct sum is isomorphic to the module <var class="Arg">M</var>.</p>
<p>Given a module <var class="Arg">M</var> over a finite dimensional quotient of a path algebra over a finite field, this function decomposes the entered module <var class="Arg">M</var> by computing the endomorphism ring of <var class="Arg">M</var> and choosing random elements in it. This is an experimental function, so use with caution.</p>
<p>Returns: a list of indecomposable modules whose direct sum is isomorphic to the module <var class="Arg">M</var>.</p>
<p>Given a module <var class="Arg">M</var> over a finite dimensional quotient of a path algebra over a finite field, this function decomposes the entered module <var class="Arg">M</var> by finding the image <span class="SimpleMath">Σ</span> of the endomorphism ring of <var class="Arg">M</var> in the endomorphism ring of the top of <var class="Arg">M</var>, in <span class="SimpleMath">Σ</span> finds a complete set of primitive idempotents, lifts them back to the endomorphism ring of <var class="Arg">M</var> and decomposes <var class="Arg">M</var>. This is an experimental function, so use with caution.</p>
<p>Returns: a list of length two, where the first entry is a list of all indecomposable non-isomorphic direct summands of <var class="Arg">M</var> and the second entry is the list of the multiplicities of these direct summand in the module <var class="Arg">M</var>.</p>
<p>Warning: the function is not properly tested and it at best only works properly over finite fields.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&an style='color:turquoise'>#8227; DirectSumOfQPAModules</code>( <var class="Arg">L</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Arguments: <var class="Arg">L</var> -- a list of <code class="code">PathAlgebraMatModule</code>s over the same (quotient of a) path algebra. <br /></p>
<p>Returns: the direct sum of the representations contained in the list <var class="Arg">L</var>.</p>
<p>In addition three attributes are attached to the result, <code class="func">IsDirectSumOfModules</code> (<a href="chap6.html#X7A50C15B87236111"><span class="RefLink">6.4-20</span></a>), <code class="func">DirectSumProjections</code> (<a href="chap6.html#X80CFB7E47A785E12"><span class="RefLink">6.4-16</span></a>) <code class="func">DirectSumInclusions</code> (<a href="chap6.html#X857807CF8560B3C4"><span class="RefLink">6.4-15</span></a>).</p>
<p>Returns: the list of inclusions from the individual modules to their direct sum, when a direct sum has been constructed using <code class="func">DirectSumOfQPAModules</code> (<a href="chap6.html#X7BDD77707A013FBE"><span class="RefLink">6.4-14</span></a>).</p>
<p>Returns: the list of projections from the direct sum to the individual modules used to construct direct sum, when a direct sum has been constructed using <code class="func">DirectSumOfQPAModules</code> (<a href="chap6.html#X7BDD77707A013FBE"><span class="RefLink">6.4-14</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&an style='color:turquoise'>#8227; IntersectionOfSubmodules</code>( <var class="Arg">list</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Arguments: <var class="Arg">f, g</var> or <var class="Arg">list</var> -- two homomorphisms of PathAlgebraMatModules or a list of such. <br /></p>
<p>Returns: the subrepresentation given by the intersection of all the submodules given by the inclusions <var class="Arg">f</var> and <var class="Arg">g</var> or <var class="Arg">list</var>.</p>
<p>The function checks if <var class="Arg">list</var> is non-empty andif <span class="Math"><var class="Arg">f</var>\colon M\to X</span> and <span class="Math"><var class="Arg">g</var>\colon N\to X</span> or all the homomorphism in <var class="Arg">list</var> have the same range andif they all are inclusions. If the function is given two arguments <var class="Arg">f</var> and <var class="Arg">g</var>, then it returns <span class="Math">[f',g',g'*f], where f'\colon E\to N</span>, <span class="Math">g'\colon E\to M, and E is the pullback of f and g. For a list of inclusions it returns a monomorphism from a module isomorphic to the intersection to X.
<p>Returns: trueif <var class="Arg">M</var> is isomorphic to a direct summand of <var class="Arg">N</var>, otherwise false.</p>
<p>The function checks if <var class="Arg">M</var> and <var class="Arg">N</var> are <code class="code">PathAlgebraMatModule</code>s over the same (quotient of a) path algebra.</p>
<p>Returns: trueif <var class="Arg">M</var> is constructed via the command <code class="func">DirectSumOfQPAModules</code> (<a href="chap6.html#X7BDD77707A013FBE"><span class="RefLink">6.4-14</span></a>).</p>
<p>Returns: trueif <var class="Arg">M</var> is an exceptional module, otherwise false, if the field, over which the algebra <var class="Arg">M</var> is defined over, is finite.</p>
<p>The module <var class="Arg">M</var> is an exceptional module, if it is indecomposable and <span class="SimpleMath">Ext^1(M,M)=(0)</span>.</p>
<p>Returns: trueif <var class="Arg">M</var> is an indecomposable module, if the field, over which the algebra <var class="Arg">M</var> is defined over, is finite. If <var class="Arg">M</var> is the zero module, then <code class="code">false</code> is returned.</p>
<p>Returns: trueif <var class="Arg">M</var> is in the additive closure of the module <var class="Arg">N</var>, otherwise false.</p>
<p>The function checks if <var class="Arg">M</var> and <var class="Arg">N</var> are <code class="code">PathAlgebraMatModule</code>s over the same (quotient of a) path algebra.</p>
<p>Returns: trueorfalse depending on whether <var class="Arg">M</var> and <var class="Arg">N</var> are isomorphic ornot.</p>
<p>The function first checks if the modules <var class="Arg">M</var> and <var class="Arg">N</var> are modules over the same algebra, and returns fail ifnot. The function returns trueif the modules are isomorphic, otherwise false.</p>
<p>Returns: the Loewy length of the module <var class="Arg">M</var>.</p>
<p>The function checks that the module <var class="Arg">M</var> is a module over a finite dimensional quotient of a path algebra, and returns fail otherwise (This is not implemented yet).</p>
<p>Returns: a list of the matrices that defines the representation <var class="Arg">M</var> as a right module of the acting path algebra.</p>
<p>The list of matrices that are returned are not the same identical to the matrices entered to define the representation if there is zero vector space in at least one vertex. Then zero matrices of the appropriate size are returned.</p>
<p>Returns: a list of three modules [<var class="Arg">X</var>,<var class="Arg">U</var>,<var class="Arg">V</var>], where <var class="Arg">X</var> is a maximal common non-zero direct summand of <var class="Arg">M</var> and <var class="Arg">N</var>, the sum of <var class="Arg">X</var> and <var class="Arg">U</var> is <var class="Arg">M</var> and the sum of <var class="Arg">X</var> and <var class="Arg">V</var> is <var class="Arg">N</var>, if such a non-zero maximal direct summand exists. Otherwise it returns false.</p>
<p>The function checks if <var class="Arg">M</var> and <var class="Arg">N</var> are <code class="code">PathAlgebraMatModule</code>s over the same (quotient of a) path algebra.</p>
<p>Returns: a list with two elements: (1) the number of non-isomorphic indecomposable direct summands of the module <var class="Arg">M</var> and (2) the dimensions of the simple blocks of the semisimple ring <span class="Math">\End(M)/\rad \End(M)</span>.</p>
<p>Returns: the radical of the module <var class="Arg">M</var>.</p>
--> --------------------
--> maximum size reached
--> --------------------
¤ 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.0.55Bemerkung:
¤
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.