<h3>14 <span class="Heading">Interfaces to other software packages</span></h3>
<p><strong class="pkg">simpcomp</strong> contains various interfaces to other software packages (see Chapter <a href="chap13_mj.html#X82F59668851B5E80"><span class="RefLink">13</span></a> for file-related export and import formats). In this chapter, some more sophisticated interfaces to other software packages are described.</p>
<p>Note that this chapter is subject to change and extension as it is planned to expand <strong class="pkg">simpcomp</strong>'s functionality in this area in the course of the next versions.
<h4>14.1 <span class="Heading">Interface to the <strong class="pkg">GAP</strong>-package <strongclass="pkg">homalg</strong></span></h4>
<p>As of Version 1.5, <strong class="pkg">simpcomp</strong> is equipped with an interface to the <strong class="pkg">GAP</strong>-package <strong class="pkg">homalg</strong> <a href="chapBib_mj.html#biBHomAlg">[BR08]</a> by Mohamed Barakat. This allows to use <strong class="pkg">homalg</strong>'s powerful capabilities in the field of homological algebra to compute topological properties of simplicial complexes.
<p>For the time being, the only functions provided are ones allowing to compute the homology and cohomology groups of simplicial complexes with arbitrary coefficients. It is planned to extend the functionality in future releases of <strong class="pkg">simpcomp</strong>. See below for a list of functions that provide an interface to <strong class="pkg">homalg</strong>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCHomalgBoundaryMatrices</code>( <var class="Arg">complex</var>, <var class="Arg">modulus</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of <strong class="pkg">homalg</strong> objects upon success, <code class="keyw">fail</code> otherwise.</p>
<p>This function computes the boundary operator matrices for the simplicial complex <var class="Arg">complex</var> with a ring of coefficients as specified by <var class="Arg">modulus</var>: a value of <code class="code">0</code> yields <span class="SimpleMath">\(\mathbb{Q}\)</span>-matrices, a value of <code class="code">1</code> yields <span class="SimpleMath">\(\mathbb{Z}\)</span>-matrices and a value of <code class="code">q</code>, q a prime or a prime power, computes the <span class="SimpleMath">\(\mathbb{F}_q\)</span>-matrices.</p>
<div class="example"><pre>
gap> SCLib.SearchByName("CP^2 (VT)");
[ [ 16, "CP^2 (VT)" ] ]
gap> c:=SCLib.Load(last[1][1]);;
gap> SCHomalgBoundaryMatrices(c,0);
[ <A 36 x 9 matrix over an internal ring>,
<A 84 x 36 matrix over an internal ring>,
<A 90 x 84 matrix over an internal ring>,
<A 36 x 90 matrix over an internal ring>,
<An unevaluated 0 x 36 zero matrix over an internal ring> ]
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCHomalgCoboundaryMatrices</code>( <var class="Arg">complex</var>, <var class="Arg">modulus</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of <strong class="pkg">homalg</strong> objects upon success, <code class="keyw">fail</code> otherwise.</p>
<p>This function computes the coboundary operator matrices for the simplicial complex <var class="Arg">complex</var> with a ring of coefficients as specified by <var class="Arg">modulus</var>: a value of <code class="code">0</code> yields <span class="SimpleMath">\(\mathbb{Q}\)</span>-matrices, a value of <code class="code">1</code> yields <span class="SimpleMath">\(\mathbb{Z}\)</span>-matrices and a value of <code class="code">q</code>, q a prime or a prime power, computes the <span class="SimpleMath">\(\mathbb{F}_q\)</span>-matrices.</p>
<div class="example"><pre>
gap> SCLib.SearchByName("CP^2 (VT)");
[ [ 16, "CP^2 (VT)" ] ]
gap> c:=SCLib.Load(last[1][1]);;
gap> SCHomalgCoboundaryMatrices(c,0);
[ <A 9 x 36 matrix over an internal ring>,
<A 36 x 84 matrix over an internal ring>,
<A 84 x 90 matrix over an internal ring>,
<A 90 x 36 matrix over an internal ring>,
<An unevaluated 36 x 0 zero matrix over an internal ring> ]
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCHomalgHomology</code>( <var class="Arg">complex</var>, <var class="Arg">modulus</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of integers upon success, <code class="keyw">fail</code> otherwise.</p>
<p>This function computes the ranks of the homology groups of <var class="Arg">complex</var> with a ring of coefficients as specified by <var class="Arg">modulus</var>: a value of <code class="code">0</code> computes the <span class="SimpleMath">\(\mathbb{Q}\)</span>-homology, a value of <code class="code">1</code> computes the <span class="SimpleMath">\(\mathbb{Z}\)</span>-homology and a value of <code class="code">q</code>, q a prime or a prime power, computes the <span class="SimpleMath">\(\mathbb{F}_q\)</span>-homology ranks.</p>
<p>Note that if you are interested not only in the ranks of the homology groups, but rather their full structure, have a look at the function <code class="func">SCHomalgHomologyBasis</code> (<a href="chap14_mj.html#X83C631FC85ED4974"><span class="RefLink">14.1-4</span></a>).</p>
<p>This function computes the homology groups (including explicit bases of the modules involved) of <var class="Arg">complex</var> with a ring of coefficients as specified by <var class="Arg">modulus</var>: a value of <code class="code">0</code> computes the <span class="SimpleMath">\(\mathbb{Q}\)</span>-homology, a value of <code class="code">1</code> computes the <span class="SimpleMath">\(\mathbb{Z}\)</span>-homology and a value of <code class="code">q</code>, q a prime or a prime power, computes the <span class="SimpleMath">\(\mathbb{F}_q\)</span>-homology groups.</p>
<p>The <span class="SimpleMath">\(k\)</span>-th homology group <code class="code">hk</code> can be obtained by calling <code class="code">hk:=CertainObject(homology,k);</code>, where <code class="code">homology</code> is the <strong class="pkg">homalg</strong> object returned by this function. The generators of <code class="code">hk</code> can then be obtained via <code class="code">GeneratorsOfModule(hk);</code>.</p>
<p>Note that if you are only interested in the ranks of the homology groups, then it is better to use the funtion <code class="func">SCHomalgHomology</code> (<a href="chap14_mj.html#X86145D56863ABBAF"><span class="RefLink">14.1-3</span></a>) which is way faster.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCHomalgCohomology</code>( <var class="Arg">complex</var>, <var class="Arg">modulus</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of integers upon success, <code class="keyw">fail</code> otherwise.</p>
<p>This function computes the ranks of the cohomology groups of <var class="Arg">complex</var> with a ring of coefficients as specified by <var class="Arg">modulus</var>: a value of <code class="code">0</code> computes the <span class="SimpleMath">\(\mathbb{Q}\)</span>-cohomology, a value of <code class="code">1</code> computes the <span class="SimpleMath">\(\mathbb{Z}\)</span>-cohomology and a value of <code class="code">q</code>, q a prime or a prime power, computes the <span class="SimpleMath">\(\mathbb{F}_q\)</span>-cohomology ranks.</p>
<p>Note that if you are interested not only in the ranks of the cohomology groups, but rather their full structure, have a look at the function <code class="func">SCHomalgCohomologyBasis</code> (<a href="chap14_mj.html#X83D8772284BAD386"><span class="RefLink">14.1-6</span></a>).</p>
<p>This function computes the cohomology groups (including explicit bases of the modules involved) of <var class="Arg">complex</var> with a ring of coefficients as specified by <var class="Arg">modulus</var>: a value of <code class="code">0</code> computes the <span class="SimpleMath">\(\mathbb{Q}\)</span>-cohomology, a value of <code class="code">1</code> computes the <span class="SimpleMath">\(\mathbb{Z}\)</span>-cohomology and a value of <code class="code">q</code>, q a prime or a prime power, computes the <span class="SimpleMath">\(\mathbb{F}_q\)</span>-homology groups.</p>
<p>The <span class="SimpleMath">\(k\)</span>-th cohomology group <code class="code">ck</code> can be obtained by calling <code class="code">ck:=CertainObject(cohomology,k);</code>, where <code class="code">cohomology</code> is the <strong class="pkg">homalg</strong> object returned by this function. The generators of <code class="code">ck</code> can then be obtained via <code class="code">GeneratorsOfModule(ck);</code>.</p>
<p>Note that if you are only interested in the ranks of the cohomology groups, then it is better to use the funtion <code class="func">SCHomalgCohomology</code> (<a href="chap14_mj.html#X840BBA3B7D881955"><span class="RefLink">14.1-5</span></a>) which is way faster.</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.