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

Quelle  chap7_mj.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/simpcomp/doc/chap7_mj.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>
<script type="text/javascript"
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (simpcomp) - Chapter 7: Functions and operations for SCNormalSurface</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="chap7"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chap10_mj.html">10</a>  <a href="chap11_mj.html">11</a>  <a href="chap12_mj.html">12</a>  <a href="chap13_mj.html">13</a>  <a href="chap14_mj.html">14</a>  <a href="chap15_mj.html">15</a>  <a href="chap16_mj.html">16</a>  <a href="chap17_mj.html">17</a>  <a href="chap18_mj.html">18</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap6_mj.html">[Previous Chapter]</a>    <a href="chap8_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap7.html">[MathJax off]</a></p>
<p><a id="X8071FAE8806ACAA2" name="X8071FAE8806ACAA2"></a></p>
<div class="ChapSects"><a href="chap7_mj.html#X8071FAE8806ACAA2">7 <span class="Heading">Functions and operations for <code class="code">SCNormalSurface</code></span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7C63CE8578FBB0C7">7.1 <span class="Heading">Creating an <code class="code">SCNormalSurface</codeobject</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7A59063180BD5969">7.1-1 SCNSEmpty</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X86C51E1F7CFA39F9">7.1-2 SCNSFromFacets</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X78F4044683236A97">7.1-3 SCNS</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8266FAFC7C6B8685">7.1-4 SCNSSlicing</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7E853EF97A3D0220">7.2 <span class="Heading">Generating new objects from discrete normal surfaces</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X80F13BB484B3E9B2">7.2-1 SCCopy</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7A180D487B8941C5">7.2-2 SCNSTriangulation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X83A1885E876D7483">7.3 <span class="Heading">Properties of <code class="code">SCNormalSurface</code> objects</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X82C9F57780C0B7F8">7.3-1 SCConnectedComponents</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X82351AAE793DCB68">7.3-2 SCDim</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X788BAE187D584103">7.3-3 SCEulerCharacteristic</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X81F8071385FD9C1D">7.3-4 SCFVector</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7F8B561C823DDDBA">7.3-5 SCFaceLattice</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7AE0029985BD0775">7.3-6 SCFaceLatticeEx</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X79F60850875BB683">7.3-7 SCFpBettiNumbers</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X806E6A4C7CD30A96">7.3-8 SCGenus</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X78D66254858CE901">7.3-9 SCHomology</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X81AF20DC814B51A6">7.3-10 SCIsConnected</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X860375D980E9A801">7.3-11 SCIsEmpty</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X78C860DC851167F7">7.3-12 SCIsOrientable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8026B46F8236124D">7.3-13 SCSkel</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X84ACF7D580FE8B76">7.3-14 SCSkelEx</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X84CBD2F780A1F63C">7.3-15 SCTopologicalType</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X81DA367A813F7599">7.3-16 SCUnion</a></span>
</div></div>
</div>

<h3>7 <span class="Heading">Functions and operations for <code class="code">SCNormalSurface</code></span></h3>

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

<h4>7.1 <span class="Heading">Creating an <code class="code">SCNormalSurface</codeobject</span></h4>

<p>This section contains functions to construct discrete normal surfaces that are slicings from a list of <span class="SimpleMath">\(2\)</span>-dimensional facets (triangles and quadrilaterals) or combinatorial <span class="SimpleMath">\(3\)</span>-manifolds.</p>

<p>For a very short introduction to the theory of discrete normal surfaces and slicings see Section <a href="chap2_mj.html#X7BE7221B7C38B27D"><span class="RefLink">2.4</span></a> and Section <a href="chap2_mj.html#X86275D5979B4B531"><span class="RefLink">2.5</span></a>, for an introduction to the <strong class="pkg">GAP</strongobject type <code class="code">SCNormalSurface</code> see <a href="chap5_mj.html#X80F19FA07C71EDDC"><span class="RefLink">5.4</span></a>, for more information see the article <a href="chapBib_mj.html#biBSpreer10NormSurfsCombSlic">[Spr11b]</a>.</p>

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

<h5>7.1-1 SCNSEmpty</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCNSEmpty</code>(  )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: discrete normal surface of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Generates an empty complex (of dimension <span class="SimpleMath">\(-1\)</span>), i. e. an object of type <code class="code">SCNormalSurface</code> with empty facet list.</p>


<div class="example"><pre>
 gap> SCNSEmpty();
 <NormalSurface: empty normal surface | dim = -1>
 </pre></div>

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

<h5>7.1-2 SCNSFromFacets</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCNSFromFacets</code>( <var class="Arg">facets</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: discrete normal surface of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Constructor for a discrete normal surface from a facet list, see <code class="func">SCFromFacets</code> (<a href="chap6_mj.html#X7B5A874584FF34A7"><span class="RefLink">6.1-1</span></a>) for details.</p>


<div class="example"><pre>
 gap> sl:=SCNSFromFacets([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);
 <NormalSurface: unnamed complex 114 | dim = 2>
 </pre></div>

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

<h5>7.1-3 SCNS</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCNS</code>( <var class="Arg">facets</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: discrete normal surface of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Internally calls <code class="func">SCNSFromFacets</code> (<a href="chap7_mj.html#X86C51E1F7CFA39F9"><span class="RefLink">7.1-2</span></a>).</p>


<div class="example"><pre>
 gap> sl:=SCNS([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);
 <NormalSurface: unnamed complex 115 | dim = 2>
 </pre></div>

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

<h5>7.1-4 SCNSSlicing</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCNSSlicing</code>( <var class="Arg">complex</var>, <var class="Arg">slicing</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: discrete normal surface of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes a slicing defined by a partition <var class="Arg">slicing</var> of the set of vertices of the <span class="SimpleMath">\(3\)</span>-dimensional combinatorial pseudomanifold <var class="Arg">complex</var>. In particular, <var class="Arg">slicing</var> has to be a pair of lists of vertex labels and has to contain all vertex labels of <var class="Arg">complex</var>.</p>


<div class="example"><pre>
 gap> SCLib.SearchByAttribute("F=[ 10, 35, 50, 25 ]");
 [ [ 19, "S^3 (VT)" ] ]
 gap> c:=SCLib.Load(last[1][1]);;                       
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);    
 <NormalSurface: slicing [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] of S^3 (VT) \
 | dim = 2>
 gap> sl.Facets;
 [ [ [ 1, 6 ], [ 1, 8 ], [ 1, 9 ] ], [ [ 1, 6 ], [ 1, 8 ], [ 3, 6 ], [ 3, 8 ] ]
     , [ [ 1, 6 ], [ 1, 9 ], [ 4, 6 ], [ 4, 9 ] ], 
   [ [ 1, 6 ], [ 3, 6 ], [ 4, 6 ] ], [ [ 1, 8 ], [ 1, 9 ], [ 1, 10 ] ], 
   [ [ 1, 8 ], [ 1, 10 ], [ 3, 8 ], [ 3, 10 ] ], 
   [ [ 1, 9 ], [ 1, 10 ], [ 2, 9 ], [ 2, 10 ] ], 
   [ [ 1, 9 ], [ 2, 9 ], [ 4, 9 ] ], [ [ 1, 10 ], [ 2, 10 ], [ 3, 10 ] ], 
   [ [ 2, 7 ], [ 2, 9 ], [ 2, 10 ] ], 
   [ [ 2, 7 ], [ 2, 9 ], [ 4, 7 ], [ 4, 9 ] ], 
   [ [ 2, 7 ], [ 2, 10 ], [ 5, 7 ], [ 5, 10 ] ], 
   [ [ 2, 7 ], [ 4, 7 ], [ 5, 7 ] ], [ [ 2, 10 ], [ 3, 10 ], [ 5, 10 ] ], 
   [ [ 3, 6 ], [ 3, 8 ], [ 5, 6 ], [ 5, 8 ] ], [ [ 3, 6 ], [ 4, 6 ], [ 5, 6 ] ]
     , [ [ 3, 8 ], [ 3, 10 ], [ 5, 8 ], [ 5, 10 ] ], 
   [ [ 4, 6 ], [ 4, 7 ], [ 4, 9 ] ], [ [ 4, 6 ], [ 4, 7 ], [ 5, 6 ], [ 5, 7 ] ]
     , [ [ 5, 6 ], [ 5, 7 ], [ 5, 8 ] ], [ [ 5, 7 ], [ 5, 8 ], [ 5, 10 ] ] ]
 gap> sl:=SCNSSlicing(c,[[1,3,5,7,9],[2,4,6,8,10]]);    
 <NormalSurface: slicing [ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6, 8, 10 ] ] of S^3 (VT) \
 | dim = 2>
 gap> sl.Facets;                           
 [ [ [ 1, 2 ], [ 1, 4 ], [ 3, 2 ], [ 3, 4 ] ], 
   [ [ 1, 2 ], [ 1, 4 ], [ 9, 2 ], [ 9, 4 ] ], 
   [ [ 1, 2 ], [ 1, 10 ], [ 3, 2 ], [ 3, 10 ] ], 
   [ [ 1, 2 ], [ 1, 10 ], [ 9, 2 ], [ 9, 10 ] ], 
   [ [ 1, 4 ], [ 1, 6 ], [ 3, 4 ], [ 3, 6 ] ], 
   [ [ 1, 4 ], [ 1, 6 ], [ 9, 4 ], [ 9, 6 ] ], 
   [ [ 1, 6 ], [ 1, 8 ], [ 3, 6 ], [ 3, 8 ] ], 
   [ [ 1, 6 ], [ 1, 8 ], [ 9, 6 ], [ 9, 8 ] ], 
   [ [ 1, 8 ], [ 1, 10 ], [ 3, 8 ], [ 3, 10 ] ], 
   [ [ 1, 8 ], [ 1, 10 ], [ 9, 8 ], [ 9, 10 ] ], 
   [ [ 3, 2 ], [ 3, 4 ], [ 5, 2 ], [ 5, 4 ] ], 
   [ [ 3, 2 ], [ 3, 10 ], [ 5, 2 ], [ 5, 10 ] ], 
   [ [ 3, 4 ], [ 3, 6 ], [ 5, 4 ], [ 5, 6 ] ], 
   [ [ 3, 6 ], [ 3, 8 ], [ 5, 6 ], [ 5, 8 ] ], 
   [ [ 3, 8 ], [ 3, 10 ], [ 5, 8 ], [ 5, 10 ] ], 
   [ [ 5, 2 ], [ 5, 4 ], [ 7, 2 ], [ 7, 4 ] ], 
   [ [ 5, 2 ], [ 5, 10 ], [ 7, 2 ], [ 7, 10 ] ], 
   [ [ 5, 4 ], [ 5, 6 ], [ 7, 4 ], [ 7, 6 ] ], 
   [ [ 5, 6 ], [ 5, 8 ], [ 7, 6 ], [ 7, 8 ] ], 
   [ [ 5, 8 ], [ 5, 10 ], [ 7, 8 ], [ 7, 10 ] ], 
   [ [ 7, 2 ], [ 7, 4 ], [ 9, 2 ], [ 9, 4 ] ], 
   [ [ 7, 2 ], [ 7, 10 ], [ 9, 2 ], [ 9, 10 ] ], 
   [ [ 7, 4 ], [ 7, 6 ], [ 9, 4 ], [ 9, 6 ] ], 
   [ [ 7, 6 ], [ 7, 8 ], [ 9, 6 ], [ 9, 8 ] ], 
   [ [ 7, 8 ], [ 7, 10 ], [ 9, 8 ], [ 9, 10 ] ] ]
 </pre></div>

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

<h4>7.2 <span class="Heading">Generating new objects from discrete normal surfaces</span></h4>

<p><strong class="pkg">simpcomp</strong> provides the possibility to copy and / or triangulate normal surfaces. Note that other constructions like the connected sum or the cartesian product do not make sense for (embedded) normal surfaces in general.</p>

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

<h5>7.2-1 SCCopy</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCCopy</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: discrete normal surface of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Copies a <strong class="pkg">GAP</strongobject of type <code class="code">SCNormalSurface</code> (cf. <code class="func">SCCopy</code>).</p>


<div class="example"><pre>
 gap> sl:=SCNSSlicing(SCBdSimplex(4),[[1],[2..5]]);
 <NormalSurface: slicing [ [ 1 ], [ 2, 3, 4, 5 ] ] of S^3_5 | dim = 2>
 gap> sl_2:=SCCopy(sl);                          
 <NormalSurface: slicing [ [ 1 ], [ 2, 3, 4, 5 ] ] of S^3_5 | dim = 2>
 gap> IsIdenticalObj(sl,sl_2);                     
 false
 </pre></div>

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

<h5>7.2-2 SCNSTriangulation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCNSTriangulation</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: simplicial complex of type <code class="code">SCSimplicialComplex</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes a simplicial subdivision of a slicing <var class="Arg">sl</var> without introducing new vertices. The subdivision is stored as a property of <var class="Arg">sl</var> and thus is returned as an immutable object. Note that symmetry may be lost during the computation.</p>


<div class="example"><pre>
 gap> SCLib.SearchByAttribute("F=[ 10, 35, 50, 25 ]");
 [ [ 19, "S^3 (VT)" ] ]
 gap> c:=SCLib.Load(last[1][1]);;
 gap> sl:=SCNSSlicing(c,[[1,3,5,7,9],[2,4,6,8,10]]);;
 gap> sl.F; 
 [ 25, 50, 0, 25 ]
 gap> sc:=SCNSTriangulation(sl);;
 gap> sc.F;
 [ 25, 75, 50 ]
 </pre></div>

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

<h4>7.3 <span class="Heading">Properties of <code class="code">SCNormalSurface</code> objects</span></h4>

<p>Although some properties of a discrete normal surface can be computed by using the functions for simplicial complexes, there is a variety of properties needing specially designed functions. See below for a list.</p>

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

<h5>7.3-1 SCConnectedComponents</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCConnectedComponents</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of simplicial complexes of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes all connected components of an arbitrary normal surface.</p>


<div class="example"><pre>
 gap> sl:=SCNSSlicing(SCBdCrossPolytope(4),[[1,2],[3..8]]);
 <NormalSurface: slicing [ [ 1, 2 ], [ 3, 4, 5, 6, 7, 8 ] ] of Bd(\beta^4) | di\
 m = 2>
 gap> cc:=SCConnectedComponents(sl);
 [ <NormalSurface: Connected component #1 of slicing [ [ 1, 2 ], [ 3, 4, 5, 6, \
 7, 8 ] ] of Bd(\beta^4) | dim = 2>, 
   <NormalSurface: Connected component #2 of slicing [ [ 1, 2 ], [ 3, 4, 5, 6, \
 7, 8 ] ] of Bd(\beta^4) | dim = 2> ]
 </pre></div>

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

<h5>7.3-2 SCDim</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCDim</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: an integer upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the dimension of a discrete normal surface (which is always <span class="SimpleMath">\(2\)</span> if the slicing <var class="Arg">sl</var> is not empty).</p>


<div class="example"><pre>
 gap> sl:=SCNSEmpty();;                                                    
 gap> SCDim(sl);                                                         
 -1
 gap> sl:=SCNSFromFacets([[1,2,3],[1,2,4,5],[1,3,4,6],[2,3,5,6],[4,5,6]]);;
 gap> SCDim(sl);                                                         
 2
 </pre></div>

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

<h5>7.3-3 SCEulerCharacteristic</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCEulerCharacteristic</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: an integer upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the Euler characteristic of a discrete normal surface <var class="Arg">sl</var>, cf. <code class="func">SCEulerCharacteristic</code>.</p>


<div class="example"><pre>
 gap> list:=SCLib.SearchByName("S^2xS^1");;  
 gap> c:=SCLib.Load(list[1][1]);;             
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);;
 gap> SCEulerCharacteristic(sl);                 
 4
 </pre></div>

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

<h5>7.3-4 SCFVector</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCFVector</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a <span class="SimpleMath">\(1\)</span>, <span class="SimpleMath">\(3\)</span> or <span class="SimpleMath">\(4\)</span> tuple of (non-negative) integer values upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the <span class="SimpleMath">\(f\)</span>-vector of a discrete normal surface, i. e. the number of vertices, edges, triangles and quadrilaterals of <var class="Arg">sl</var>, cf. <code class="func">SCFVector</code>.</p>


<div class="example"><pre>
 gap> list:=SCLib.SearchByName("S^2xS^1");;
 gap> c:=SCLib.Load(list[1][1]);;             
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);;
 gap> SCFVector(sl);                 
 [ 20, 40, 16, 8 ]
 </pre></div>

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

<h5>7.3-5 SCFaceLattice</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCFaceLattice</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of facet lists upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the face lattice of a discrete normal surface <var class="Arg">sl</var> in the original labeling. Triangles and quadrilaterals are stored separately (cf. <code class="func">SCSkel</code> (<a href="chap6_mj.html#X8026B46F8236124D"><span class="RefLink">6.9-54</span></a>)).</p>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;              
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
 gap> SCFaceLattice(sl);                            
 [ [ [ [ 1, 3 ] ], [ [ 1, 4 ] ], [ [ 1, 5 ] ], [ [ 2, 3 ] ], [ [ 2, 4 ] ], 
       [ [ 2, 5 ] ] ], 
   [ [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 1, 5 ] ], [ [ 1, 3 ], [ 2, 3 ] ], 
       [ [ 1, 4 ], [ 1, 5 ] ], [ [ 1, 4 ], [ 2, 4 ] ], [ [ 1, 5 ], [ 2, 5 ] ], 
       [ [ 2, 3 ], [ 2, 4 ] ], [ [ 2, 3 ], [ 2, 5 ] ], [ [ 2, 4 ], [ 2, 5 ] ] ]
     , [ [ [ 1, 3 ], [ 1, 4 ], [ 1, 5 ] ], [ [ 2, 3 ], [ 2, 4 ], [ 2, 5 ] ] ], 
   [ [ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ] ], 
       [ [ 1, 3 ], [ 1, 5 ], [ 2, 3 ], [ 2, 5 ] ], 
       [ [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 5 ] ] ] ]
 gap> sl.F;
 [ 6, 9, 2, 3 ]
 </pre></div>

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

<h5>7.3-6 SCFaceLatticeEx</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCFaceLatticeEx</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of face lists upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the face lattice of a discrete normal surface <var class="Arg">sl</var> in the standard labeling. Triangles and quadrilaterals are stored separately (cf. <code class="func">SCSkelEx</code> (<a href="chap6_mj.html#X84ACF7D580FE8B76"><span class="RefLink">6.9-55</span></a>)).</p>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;              
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
 gap> SCFaceLatticeEx(sl);                            
 [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ] ], 
   [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 5 ], [ 3, 6 ], [ 4, 5 ], 
       [ 4, 6 ], [ 5, 6 ] ], [ [ 1, 2, 3 ], [ 4, 5, 6 ] ], 
   [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ] ]
 gap> sl.F;
 [ 6, 9, 2, 3 ]
 </pre></div>

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

<h5>7.3-7 SCFpBettiNumbers</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCFpBettiNumbers</code>( <var class="Arg">sl</var>, <var class="Arg">p</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of non-negative integers upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the Betti numbers modulo <var class="Arg">p</var> of a slicing <var class="Arg">sl</var>. Internally, <var class="Arg">sl</var> is triangulated (using <code class="func">SCNSTriangulation</code> (<a href="chap7_mj.html#X7A180D487B8941C5"><span class="RefLink">7.2-2</span></a>)) and the Betti numbers are computed via <code class="func">SCFpBettiNumbers</code> using the triangulation.</p>


<div class="example"><pre>
 gap> SCLib.SearchByName("(S^2xS^1)#20");       
 [ [ 633, "(S^2xS^1)#20" ] ]
 gap> c:=SCLib.Load(last[1][1]);;
 gap> c.F;
 [ 27, 298, 542, 271 ]
 gap> sl:=SCNSSlicing(c,[[1..13],[14..27]]);;
 gap> SCFpBettiNumbers(sl,2);
 [ 2, 14, 2 ]
 </pre></div>

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

<h5>7.3-8 SCGenus</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCGenus</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a non-negative integer upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the genus of a discrete normal surface <var class="Arg">sl</var>.</p>


<div class="example"><pre>
 gap> SCLib.SearchByName("(S^2xS^1)#20");
 [ [ 633, "(S^2xS^1)#20" ] ]
 gap> c:=SCLib.Load(last[1][1]);;               
 gap> c.F;                               
 [ 27, 298, 542, 271 ]
 gap> sl:=SCNSSlicing(c,[[1..12],[13..27]]);;
 gap> SCIsConnected(sl);
 true
 gap> SCGenus(sl);                     
 7
 </pre></div>

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

<h5>7.3-9 SCHomology</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCHomology</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of homology groups upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes the homology of a slicing <var class="Arg">sl</var>. Internally, <var class="Arg">sl</var> is triangulated (cf. <code class="func">SCNSTriangulation</code> (<a href="chap7_mj.html#X7A180D487B8941C5"><span class="RefLink">7.2-2</span></a>)) and simplicial homology is computed via <code class="func">SCHomology</code> using the triangulation.</p>


<div class="example"><pre>
 gap> SCLib.SearchByName("(S^2xS^1)#20");       
 [ [ 633, "(S^2xS^1)#20" ] ]
 gap> c:=SCLib.Load(last[1][1]);;
 gap> c.F;
 [ 27, 298, 542, 271 ]
 gap> sl:=SCNSSlicing(c,[[1..12],[13..27]]);;   
 gap> sl.Homology;
 [ [ 0, [  ] ], [ 14, [  ] ], [ 1, [  ] ] ]
 gap> sl:=SCNSSlicing(c,[[1..13],[14..27]]);;
 gap> sl.Homology;                       
 [ [ 1, [  ] ], [ 14, [  ] ], [ 2, [  ] ] ]
 </pre></div>

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

<h5>7.3-10 SCIsConnected</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCIsConnected</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Checks if a normal surface <var class="Arg">complex</var> is connected.</p>


<div class="example"><pre>
 gap> list:=SCLib.SearchByAttribute("Dim=3 and F[1]=10");;
 gap> c:=SCLib.Load(list[1][1]);
 <SimplicialComplex: S^3 (VT) | dim = 3 | n = 10>
 gap> sl:=SCNSSlicing(c,[[1..5],[6..10]]);
 <NormalSurface: slicing [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ] ] of S^3 (VT) \
 | dim = 2>
 gap> SCIsConnected(sl);
 true
 </pre></div>

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

<h5>7.3-11 SCIsEmpty</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCIsEmpty</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Checks if a normal surface <var class="Arg">complex</var> is the empty complex, i. e. a <code class="code">SCNormalSurface</codeobject with empty facet list.</p>


<div class="example"><pre>
 gap> sl:=SCNS([]);;
 gap> SCIsEmpty(sl);
 true
 </pre></div>

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

<h5>7.3-12 SCIsOrientable</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCIsOrientable</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Checks if a discrete normal surface <var class="Arg">sl</var> is orientable.</p>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;
 gap> sl:=SCNSSlicing(c,[[1,2],[3,4,5]]);
 <NormalSurface: slicing [ [ 1, 2 ], [ 3, 4, 5 ] ] of S^3_5 | dim = 2>
 gap> SCIsOrientable(sl);
 true
 </pre></div>

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

<h5>7.3-13 SCSkel</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCSkel</code>( <var class="Arg">sl</var>, <var class="Arg">k</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a face list (of <var class="Arg">k+1</var>tuples) or a list of face lists upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes all faces of cardinality <var class="Arg">k+1</var> in the original labeling: <var class="Arg">k</var> <span class="SimpleMath">\(= 0\)</span> computes the vertices, <var class="Arg">k</var> <span class="SimpleMath">\(= 1\)</span> computes the edges, <var class="Arg">k</var> <span class="SimpleMath">\(= 2\)</span> computes the triangles, <var class="Arg">k</var> <span class="SimpleMath">\(= 3\)</span> computes the quadrilaterals.</p>

<p>If <var class="Arg">k</var> is a list (necessarily a sublist of <code class="code">[ 0,1,2,3 ]</code>) all faces of all cardinalities contained in <var class="Arg">k</var> are computed.</p>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;              
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
 gap> SCSkel(sl,1);                            
 [ [ [ 1, 2 ], [ 1, 3 ] ], [ [ 1, 2 ], [ 1, 4 ] ], [ [ 1, 2 ], [ 1, 5 ] ], 
   [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 1, 5 ] ], [ [ 1, 4 ], [ 1, 5 ] ] ]
 </pre></div>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;              
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
 gap> SCSkel(sl,3);                            
 [  ]
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
 gap> SCSkelEx(sl,3);                            
 [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ]
 </pre></div>

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

<h5>7.3-14 SCSkelEx</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCSkelEx</code>( <var class="Arg">sl</var>, <var class="Arg">k</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a face list (of <var class="Arg">k+1</var>tuples) or a list of face lists upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Computes all faces of cardinality <var class="Arg">k+1</var> in the standard labeling: <var class="Arg">k</var> <span class="SimpleMath">\(= 0\)</span> computes the vertices, <var class="Arg">k</var> <span class="SimpleMath">\(= 1\)</span> computes the edges, <var class="Arg">k</var> <span class="SimpleMath">\(= 2\)</span> computes the triangles, <var class="Arg">k</var> <span class="SimpleMath">\(= 3\)</span> computes the quadrilaterals.</p>

<p>If <var class="Arg">k</var> is a list (necessarily a sublist of <code class="code">[ 0,1,2,3 ]</code>) all faces of all cardinalities contained in <var class="Arg">k</var> are computed.</p>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;              
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
 gap> SCSkelEx(sl,1);                            
 [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ]
 </pre></div>


<div class="example"><pre>
 gap> c:=SCBdSimplex(4);;              
 gap> sl:=SCNSSlicing(c,[[1],[2..5]]);;
 gap> SCSkelEx(sl,3);                            
 [  ]
 gap> sl:=SCNSSlicing(c,[[1,2],[3..5]]);;
 gap> SCSkelEx(sl,3);                            
 [ [ 1, 2, 4, 5 ], [ 1, 3, 4, 6 ], [ 2, 3, 5, 6 ] ]
 </pre></div>

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

<h5>7.3-15 SCTopologicalType</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCTopologicalType</code>( <var class="Arg">sl</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a string upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Determines the topological type of <var class="Arg">sl</var> via the classification theorem for closed compact surfaces. If <var class="Arg">sl</var> is not connected, the topological type of each connected component is computed.</p>


<div class="example"><pre>
 gap> SCLib.SearchByName("(S^2xS^1)#20");      
 [ [ 633, "(S^2xS^1)#20" ] ]
 gap> c:=SCLib.Load(last[1][1]);;
 gap> c.F;
 [ 27, 298, 542, 271 ]
 gap> for i in [1..26] do sl:=SCNSSlicing(c,[[1..i],[i+1..27]]); Print(sl.TopologicalType,"\n"); od;                                           
 S^2
 S^2
 S^2
 S^2
 S^2 U S^2
 S^2 U S^2
 S^2
 (T^2)#3
 (T^2)#5
 (T^2)#4
 (T^2)#3
 (T^2)#7
 (T^2)#7 U S^2
 (T^2)#7 U S^2
 (T^2)#7 U S^2
 (T^2)#8 U S^2
 (T^2)#7 U S^2
 (T^2)#8
 (T^2)#6
 (T^2)#6
 (T^2)#5
 (T^2)#3
 (T^2)#2
 T^2
 S^2
 S^2
 </pre></div>

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

<h5>7.3-16 SCUnion</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCUnion</code>( <var class="Arg">complex1</var>, <var class="Arg">complex2</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: normal surface of type <code class="code">SCNormalSurface</code> upon success, <code class="keyw">fail</code> otherwise.</p>

<p>Forms the union of two normal surfaces <var class="Arg">complex1</var> and <var class="Arg">complex2</var> as the normal surface formed by the union of their facet sets. The two arguments are not altered. Note: for the union process the vertex labelings of the complexes are taken into account, see also <code class="func">Operation Union (SCNormalSurface, SCNormalSurface)</code> (<a href="chap5_mj.html#X8462E960847F8B83"><span class="RefLink">5.6-1</span></a>). Facets occurring in both arguments are treated as one facet in the new complex.</p>


<div class="example"><pre>
 gap> list:=SCLib.SearchByAttribute("Dim=3 and F[1]=10");;
 gap> c:=SCLib.Load(list[1][1]);
 <SimplicialComplex: S^3 (VT) | dim = 3 | n = 10>
 gap> sl1:=SCNSSlicing(c,[[1..5],[6..10]]);;
 gap> sl2:=sl1+10;;
 gap> sl3:=SCUnion(sl1,sl2);;
 gap> SCTopologicalType(sl3);
 "S^2 U S^2"
 </pre></div>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap6_mj.html">[Previous Chapter]</a>    <a href="chap8_mj.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chap10_mj.html">10</a>  <a href="chap11_mj.html">11</a>  <a href="chap12_mj.html">12</a>  <a href="chap13_mj.html">13</a>  <a href="chap14_mj.html">14</a>  <a href="chap15_mj.html">15</a>  <a href="chap16_mj.html">16</a>  <a href="chap17_mj.html">17</a>  <a href="chap18_mj.html">18</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.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>

100%


¤ Dauer der Verarbeitung: 0.25 Sekunden  ¤

*© 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.