Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/fplsa/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 29.7.2025 mit Größe 15 kB image not shown  

Quelle  chap1.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/fplsa/doc/chap1.html


<?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 (fplsa) - Chapter 1: The FPLSA Package</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="chap1"  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="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="chap0.html">[Previous Chapter]</a>    <a href="chapInd.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap1_mj.html">[MathJax on]</a></p>
<p><a id="X805DE95983EEA672" name="X805DE95983EEA672"></a></p>
<div class="ChapSects"><a href="chap1.html#X805DE95983EEA672">1 <span class="Heading">The FPLSA Package</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X8240F18D7AFA30F4">1.1 <span class="Heading">Main Functions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X8019B72B8298566A">1.1-1 SCAlgebraInfoOfFpLieAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X7C5E1F7B80268EBD">1.1-2  IsomorphicSCAlgebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7C991B3B79A45BE5">1.2 <span class="Heading">Auxiliary Variables of FPLSA</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X87E75AD286BA918B">1.2-1 FPLSA</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7F15E49B8173004C">1.3 <span class="Heading">Installing the FPLSA Package</span></a>
</span>
</div>
</div>

<h3>1 <span class="Heading">The FPLSA Package</span></h3>

<p>This chapter describes the <strong class="pkg">GAP</strong> package <strong class="pkg">FPLSA</strong> , an interface to the <code class="code">fplsa</code> program by V. Gerdt and V. Kornyak (version 4) for the computation with finitely presented Lie superalgebras.</p>

<p>At present <strong class="pkg">GAP</strong> uses only the facility to compute a structure constants table of a finite dimensional Lie algebra over the rationals that is given by a finite presentation.</p>

<p>The package uses an external binary, probably it will only work on UNIX platforms.</p>

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

<h4>1.1 <span class="Heading">Main Functions</span></h4>

<p>A finitely presented Lie algebra is a quotient of a free Lie algebra by an ideal generated by a finite number of elements. In <strong class="pkg">GAP</strong> a free Lie algebra can be created by thcommand <code class="code">FreeLieAlgebra</code>; we refer to the <strong class="pkg">GAP</strong> Reference Manual for more details. A finitely presented Lie algebra <var class="Arg">K</var> can be constructed by <code class="code"><var class="Arg">K</var> := <var class="Arg">L</var>/<var class="Arg">rels</var></code>, where <var class="Arg">L</var> is a free Lie algebra and <var class="Arg">rels</var> a list of elements of <var class="Arg">L</var> that constitute the relations that hold in <var class="Arg">K</var>. Given a finitely presented Lie algebra we want to calculate a basis and a multiplication table of it. The interface to the <strong class="pkg">FPLSA</strong> package comes with two related functions for doing that.</p>

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

<h5>1.1-1 SCAlgebraInfoOfFpLieAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCAlgebraInfoOfFpLieAlgebra</code>( <var class="Arg">L</var>, <var class="Arg">rels</var>, <var class="Arg">limit</var>, <var class="Arg">words</var>, <var class="Arg">rels</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Let <var class="Arg">L</var> be a free Lie algebra over the rationals, <var class="Arg">rels</var> a list of elements in <var class="Arg">L</var>, <var class="Arg">limit</var> a positive integer and <var class="Arg">words</var> and <var class="Arg">rels</var> two booleans.</p>

<p>If the algebra <code class="code"><var class="Arg">L</var> / <var class="Arg">rels</var></code> is finite-dimensional and if a basis of this algebra can be constructed using elements in <var class="Arg">L</var> that involve only words of length at most <var class="Arg">limit</var> then <code class="code">SCAlgebraInfoOfFpLieAlgebra</code> returns a record whose component <code class="code">sc</code> contains an algebra that is isomorphic with <code class="code"><var class="Arg">L</var> / <var class="Arg">rels</var></code>. Otherwise <code class="keyw">fail</code> is returned.</p>

<p>The function calls the <code class="code">fplsa</code> standalone.</p>

<p>If <var class="Arg">words</var> is <code class="keyw">true</code> then the component <code class="code">words</code> of the result record contains a list of elements in <var class="Arg">L</var> that correspond to the basis elements.</p>

<p>If <var class="Arg">rels</var> is <code class="keyw">true</code> then the component <code class="code">rels</code> of the result record contains a list of reduced relators in <var class="Arg">L</varthat describes how algebra generators of <var class="Arg">L</var> are expressed in terms of the basis elements.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">LoadPackage( "fplsa" );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= FreeLieAlgebra( Rationals, "x""y" );</span>
<Lie algebra over Rationals, with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">g:= GeneratorsOfAlgebra( L );; x:= g[1];; y:= g[2];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rels:= [ x*(x*y) - x*y, y*(y*(x*y)) ];</span>
[ (-1)*(x*y)+(1)*(x*(x*y)), (1)*(((x*y)*y)*y) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SCAlgebraInfoOfFpLieAlgebra( L, rels, 100, true, true );</span>
rec( sc := <Lie algebra of dimension 4 over Rationals>, 
  words := [ (1)*x, (1)*y, (1)*(y*x), (1)*((y*x)*y) ], 
  rels := [ (1)*((y*x)*x)+(1)*(y*x), (1)*(((y*x)*y)*y), (1)*(((y*x)*y)*(y*x)) 
     ] )
</pre></div>

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

<h5>1.1-2  IsomorphicSCAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣  IsomorphicSCAlgebra</code>( <var class="Arg">K</var>[, <var class="Arg">bound</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>computes a Lie algebra given by a multiplication table isomorphic to the finitely presented Lie algebra <var class="Arg">K</var>. If the optional parameter <var class="Arg">bound</var> is specified the computation will be carried out using monomials of degree at most <var class="Arg">bound</var>. If <var class="Arg">bound</var> is not specified, then it will initially be set to 10000. If this does not suffice to calculate a multiplication table of the algebra, then the bound will be increased until a multiplication table is found. If the computation was successful then a structure constants algebra will be returned isomorphic to <var class="Arg">K</var>. Otherwise <code class="keyw">fail</code> will be returned.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">LoadPackage( "fplsa" );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= FreeLieAlgebra( Rationals, "x""y" );</span>
<Lie algebra over Rationals, with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">g:= GeneratorsOfAlgebra( L );; x:= g[1];; y:= g[2];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rels:= [ x*(x*y) - x*y, y*(y*(x*y)) ];</span>
[ (-1)*(x*y)+(1)*(x*(x*y)), (1)*(((x*y)*y)*y) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">K:= L/rels;</span>
<Lie algebra over Rationals, with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsomorphicSCAlgebra( K );</span>
<Lie algebra of dimension 4 over Rationals>
</pre></div>

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

<h4>1.2 <span class="Heading">Auxiliary Variables of FPLSA</span></h4>

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

<h5>1.2-1 FPLSA</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FPLSA</code></td><td class="tdright">( global variable )</td></tr></table></div>
<p>is the global record used by the functions in the package. Besides components that describe parameters for the standalone, the following components are used.</p>


<dl>
<dt><strong class="Mark"><code class="code">Relation_size</code> </strong></dt>
<dd><p>parameter that controls the memory usage by the fplsa program,</p>

</dd>
<dt><strong class="Mark"><code class="code">Lie_monomial_table_size</code> </strong></dt>
<dd><p>parameter that controls the memory usage by the fplsa program,</p>

</dd>
<dt><strong class="Mark"><code class="code">Node_Lie_term_size</code> </strong></dt>
<dd><p>parameter that controls the memory usage by the fplsa program,</p>

</dd>
<dt><strong class="Mark"><code class="code">Node_scalar_factor_size</code> </strong></dt>
<dd><p>parameter that controls the memory usage by the fplsa program,</p>

</dd>
<dt><strong class="Mark"><code class="code">Node_scalar_term_size</code> </strong></dt>
<dd><p>parameter that controls the memory usage by the fplsa program,</p>

</dd>
<dt><strong class="Mark"><code class="code">progname</code> </strong></dt>
<dd><p>the file name of the executable,</p>

</dd>
<dt><strong class="Mark"><code class="code">T</code> </strong></dt>
<dd><p>structure constants table of the algebra under consideration,</p>

</dd>
<dt><strong class="Mark"><code class="code">words</code> </strong></dt>
<dd><p>list of elements in the free Lie algebra that correspond to the basis elements,</p>

</dd>
<dt><strong class="Mark"><code class="code">rels</code> </strong></dt>
<dd><p>list of relators in the free Lie algebra that are used to express redundant algebra generators in terms of the basis.</p>

</dd>
</dl>
<p>In order to be able to run the <code class="code">fplsa</code> program successfully, it might be necessary to customize the parameters that control the memory the the program uses, to suit the computer the user is working on. In particular if the program exits with an error message of the form: <code class="code">Error, the process did not succeed</code>, then it may be necessary to change these parameters.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">LoadPackage( "fplsa" );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">L:= FreeLieAlgebra( Rationals, "x""y" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">g:= GeneratorsOfAlgebra( L );; x:= g[1];; y:= g[2];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rels:= [ x*(x*y) - x*y, y*(y*(x*y)) ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SCAlgebraInfoOfFpLieAlgebra( L, rels, 100, true, true );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">FPLSA;</span>
rec( Relation_size := 2500000, Lie_monomial_table_size := 1000000, 
  Node_Lie_term_size := 2000000, Node_scalar_factor_size := 2000, 
  Node_scalar_term_size := 20000, progname := "fplsa4"
  T := [ [ [ [  ], [  ] ], [ [ 3 ], [ -1 ] ], [ [ 3 ], [ 1 ] ], 
          [ [ 4 ], [ 1 ] ] ], 
      [ [ [ 3 ], [ 1 ] ], [ [  ], [  ] ], [ [ 4 ], [ -1 ] ], [ [  ], [  ] ] ],
      [ [ [ 3 ], [ -1 ] ], [ [ 4 ], [ 1 ] ], [ [  ], [  ] ], [ [  ], [  ] ] ],
      [ [ [ 4 ], [ -1 ] ], [ [  ], [  ] ], [ [  ], [  ] ], [ [  ], [  ] ] ], 
      -1, 0 ], words := [ 1, 2, [ 2, 1 ], [ [ 2, 1 ], 2 ] ], 
  rels := [ [ [ [ 2, 1 ], 1 ], 1, [ 2, 1 ], 1 ], 
      [ [ [ [ 2, 1 ], 2 ], 2 ], 1 ], [ [ [ [ 2, 1 ], 2 ], [ 2, 1 ] ], 1 ] ] )
</pre></div>

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

<h4>1.3 <span class="Heading">Installing the FPLSA Package</span></h4>

<p>To install unpack the archive file in a directory in the <code class="code">pkg</code> hierarchy of your version of <strong class="pkg">GAP</strong>. (This might be the <code class="code">pkg</code> directory of the <strong class="pkg">GAP</strong> home directory; it is however also possible to keep an additional <code class="code">pkg</code> directory in your private directories, see Section <a href="/home/runner/gap/doc/ref/chap76.html#X82473E4B8756C6CD"><span class="RefLink">Reference: Installing a GAP Package</span></a> of the <strong class="pkg">GAP</strong> Reference Manual for details on how to do this.) Go to the newly created <code class="code">fplsa</code> directory and call <code class="code">./configure <var class="Arg">path</var></code> where <var class="Arg">path</var> is the path to the <strong class="pkg">GAP</strong> home directory. So for example if you install the package in the main <code class="code">pkg</code> directory call</p>


<div class="example"><pre>
./configure ../..
</pre></div>

<p>This will fetch the architecture type for which <strong class="pkg">GAP</strong> has been compiled last and create a <code class="code">Makefile</code>. Now simply call</p>


<div class="example"><pre>
make
</pre></div>

<p>to compile the binary and to install it in the appropriate place.</p>

<p>If you use this installation of <strong class="pkg">GAP</strong> on different hardware platforms you will have to compile the binary for each platform separately. This is done by calling <code class="code">configure</code> and <code class="code">make</code> for the package anew immediately after compiling <strong class="pkg">GAP</strong> itself for the respective architecture. If your version of <strong class="pkg">GAP</strong> is already compiled (and has last been compiled on the same architecture) you do not need to compile <strong class="pkg">GAP</strong> again, it is sufficient to call the <code class="code">configure</codescript in the <strong class="pkg">GAP</strong> home directory.</p>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap0.html">[Previous Chapter]</a>    <a href="chapInd.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="chapInd.html">Ind</a>  </div>

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

100%


¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.