<?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 (FR) - Chapter 8: Algebras</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" /> </head> <body> <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="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <div class="chlinkprevnexttop"> <a href="chap0.html">Top of Book</a> <a href="chap7.html">Previous Chapter</a> <a href="chap9.html">Next Chapter</a> </div> <p><a id="X7DDBF6F47A2E021C" name="X7DDBF6F47A2E021C"></a></p> <div class="ChapSects"><a href="chap8.html#X7DDBF6F47A2E021C">8 <span class="Heading">Algebras</span></a> <div class="ContSect"><span class="nocss"> </span><a href="chap8.html#X842EE9427C63F92E">8.1 <span class="Heading">Creators for FR algebras</span></a> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap8.html#X812FEA6778152E49">8.1-1 FRAlgebra</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap8.html#X844B890F7BF56236">8.1-2 SCAlgebra</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap8.html#X81D8D0E886C8E143">8.1-3 BranchingIdeal</a></span> </div> <div class="ContSect"><span class="nocss"> </span><a href="chap8.html#X7EFB4F2E7E908B9F">8.2 <span class="Heading">Operations for FR algebras</span></a> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap8.html#X8115B018871FD364">8.2-1 MatrixQuotient</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap8.html#X8150FC4E84D208C6">8.2-2 ThinnedAlgebra</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap8.html#X8572DCAE7F888DDA">8.2-3 Nillity</a></span> </div> </div> <h3>8 <span class="Heading">Algebras</span></h3> <p>Self-similar algebras and algebras with one (below <em>FR algebras</em>) are simply algebras [with one] whose elements are linear FR machines. They naturally act on the alphabet of their elements, which is a vector space.</p> <p>Elements may be added, subtracted and multiplied. They can be vector or algebra linear elements; the vector elements are in general preferable, for efficiency reasons.</p> <p>Finite-dimensional approximations of self-similar algebras can be computed; they are given as matrix algebras.</p> <p><a id="X842EE9427C63F92E" name="X842EE9427C63F92E"></a></p> <h4>8.1 <span class="Heading">Creators for FR algebras</span></h4> <p>The most straightforward creation method for FR algebras is <code class="code">Algebra()</code>, applied with linear FR elements as arguments. There are shortcuts to this somewhat tedious method:</p> <p><a id="X812FEA6778152E49" name="X812FEA6778152E49"></a></p> <h5>8.1-1 FRAlgebra</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> FRAlgebra</code>( <var class="Arg">ring, {definition, }</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">> FRAlgebraWithOne</code>( <var class="Arg">ring, {definition, }</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p><b>Returns: </b>A new self-similar algebra [with one].</p> <p>This function constructs a new FR algebra [with one], generated by linear FR elements. It receives as argument any number of strings, each of which represents a generator of the object to be constructed.</p> <p><var class="Arg">ring</var> is the acting domain of the vector space on which the algebra will act.</p> <p>Each <var class="Arg">definition</var> is of the form <code class="code">"name=[[...],...,[...]]"</code> or of the form <code class="code">"name=[[...],...,[...]]:out"</code>, namely a matrix whose entries are algebraic expressions in the <code class="code">names</code>, possibly using <code class="code">0,1</code>, optionally followed by a scalar. The matrix entries specify the decomposition of the element being defined, and the optional scalar specifies the output of that element, by default assumed to be one.</p> <p>The option <code class="code">IsVectorElement</code>, passed e.g. as in <code class="code">FRAlgebra(Rationals,"a=[[a,1],[a,0]]":IsVectorElement)</code>, asks for the resulting algebra to be generated by vector elements. The generators must of course be finite-state. Their names ("a",...) are not remembered in the constructing algebra (but can be set using <code class="func">SetName</code> (<a href="/usr/local/src/4.0/doc/ref/chap12.html#s8ss1"><b>Reference: SetName</b></a>)).</p> <table class="example"> <tr><td><pre> gap> m := FRAlgebra(Rationals,"a=[[1,a],[a,0]]"); <self-similar algebra on alphabet Rationals^2 with 1 generator> gap> Display(Activity(m.1,2)); [ [ 1, 0, 1, 1 ], [ 0, 1, 1, 0 ], [ 1, 1, 0, 0 ], [ 1, 0, 0, 0 ] ] </pre></td></tr></table> <p><a id="X844B890F7BF56236" name="X844B890F7BF56236"></a></p> <h5>8.1-2 SCAlgebra</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> SCAlgebra</code>( <var class="Arg">m</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">> SCAlgebraWithOne</code>( <var class="Arg">m</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">> SCAlgebraNC</code>( <var class="Arg">m</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">> SCAlgebraWithOneNC</code>( <var class="Arg">m</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p><b>Returns: </b>The state-closed algebra [with one] generated by the machine <var class="Arg">m</var>.</p> <p>This function constructs a new FR algebra [vith one] <code class="code">a</code>, generated by all the states of the FR machine <var class="Arg">m</var>. There is a bijective correspondence between <code class="code">GeneratorsOfFRMachine(m)</code> and the generators of <code class="code">a</code>, which is accessible via <code class="code">Correspondence(a)</code> (See <code class="func">Correspondence</code> (<a href="chap7.html#X7F15D57A7959FEF6"><b>7.1-3</b></a>)); it is a homomorphism from the stateset of <var class="Arg">m</var> to <code class="code">a</code>, or a list indicating for each state of <var class="Arg">m</var> a corresponding generator index in the generators of <code class="code">a</code> (with 0 for identity).</p> <p>In the non-<code class="code">NC</code> forms, redundant (equal, zero or one) states are removed from the generating set of <code class="code">a</code>.</p> <table class="example"> <tr><td><pre> gap> a := SCAlgebra(AsLinearMachine(Rationals,I4Machine)); <self-similar algebra on alphabet Rationals^2 with 3 generators> gap> a.1 = AsLinearElement(Rationals,I4Monoid.1); true </pre></td></tr></table> <p><a id="X81D8D0E886C8E143" name="X81D8D0E886C8E143"></a></p> <h5>8.1-3 BranchingIdeal</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> BranchingIdeal</code>( <var class="Arg">A</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p><b>Returns: </b>An ideal I that contains matrices over itself.</p> <table class="example"> <tr><td><pre> gap> !!! </pre></td></tr></table> <p><a id="X7EFB4F2E7E908B9F" name="X7EFB4F2E7E908B9F"></a></p> <h4>8.2 <span class="Heading">Operations for FR algebras</span></h4> <p><a id="X8115B018871FD364" name="X8115B018871FD364"></a></p> <h5>8.2-1 MatrixQuotient</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> MatrixQuotient</code>( <var class="Arg">a, l</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">> EpimorphismMatrixQuotient</code>( <var class="Arg">a, l</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p><b>Returns: </b>The matrix algebra of <var class="Arg">a</var>'s action on level <var class="Arg">l</var>.</p> <p>The first function returns the matrix algebra generated by the activities of <var class="Arg">a</var> on level <var class="Arg">l</var> (see the examples in <a href="chap6.html#X7FCEE3BF86B02CC6"><b>6.1-6</b></a>). The second functon returns an algebra homomorphism from <var class="Arg">a</var> to the matrix algebra.</p> <table class="example"> <tr><td><pre> gap> a := ThinnedAlgebraWithOne(GF(2),GrigorchukGroup); <self-similar algebra-with-one on alphabet GF(2)^2 with 4 generators> gap> List([0..4],i->Dimension(MatrixQuotient(a,i))); [ 1, 2, 6, 22, 78 ] </pre></td></tr></table> <p><a id="X8150FC4E84D208C6" name="X8150FC4E84D208C6"></a></p> <h5>8.2-2 ThinnedAlgebra</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> ThinnedAlgebra</code>( <var class="Arg">r, g</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">> ThinnedAlgebraWithOne</code>( <var class="Arg">r, g</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p><b>Returns: </b>The thinned algebra [with one] associated with <var class="Arg">g</var>.</p> <p>The first function returns the thinned algebra of a FR group/monoid/semigroup <var class="Arg">g</var>, over the domain <var class="Arg">r</var>. This is the linear envelope of <var class="Arg">g</var> in its natural action on sequences.</p> <p>The embedding of <var class="Arg">g</var> in its thinned algebra is returned by <code class="code">Embedding(g,a)</code>.</p> <table class="example"> <tr><td><pre> gap> a := ThinnedAlgebraWithOne(GF(2),GrigorchukGroup); <self-similar algebra on alphabet GF(2)^2 with 5 generators> gap> a.1 = GrigorchukGroup.1^Embedding(GrigorchukGroup,a); true gap> Dimension(VectorSpace(GF(2),[One(a),a.2,a.3,a.4])); 3 </pre></td></tr></table> <p><a id="X8572DCAE7F888DDA" name="X8572DCAE7F888DDA"></a></p> <h5>8.2-3 Nillity</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> Nillity</code>( <var class="Arg">x</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p><b>Returns: </b>The smallest <code class="code">n</code> such that x^n=0.</p> <p>This command computes the nillity of <var class="Arg">x</var>, i.e. the smallest <code class="code">n</code> such that x^n=0. The command is of course not guaranteed to terminate.</p> <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a> <a href="chap7.html">Previous Chapter</a> <a href="chap9.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="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>