<h3>4 <span class="Heading">Functions and operations for the GAP object type <code class="code">SCPolyhedralComplex</code></span></h3>
<p>In the following all operations for the <strong class="pkg">GAP</strong> object type <code class="code">SCPolyhedralComplex</code> are listed. I. e. for the following operations only one method is implemented to deal with all geometric objects derived from this object type.</p>
<h4>4.1 <span class="Heading">Computing properties of objects of type
<code class="code">SCPolyhedralComplex</code></span></h4>
<p>The following functions compute basic properties of objects of type <code class="code">SCPolyhedralComplex</code> (and thus also of objects of type <code class="code">SCSimplicialComplex</code> and <code class="code">SCNormalSurface</code>). None of these functions alter the complex. All properties are returned as immutable objects (this ensures data consistency of the cached properties of a simplicial complex). Use <code class="code">ShallowCopy</code> or the internal <strong class="pkg">simpcomp</strong> function <code class="code">SCIntFunc.DeepCopy</code> to get a mutable copy.</p>
<p>Note: every object is internally stored with the standard vertex labeling from <span class="SimpleMath">1</span> to <span class="SimpleMath">n</span> and a maptable to restore the original vertex labeling. Thus, we have to relabel some of the complex properties (facets, etc...) whenever we want to return them to the user. As a consequence, some of the functions exist twice, one of them with the appendix "Ex". These functions return the standard labeling whereas the other ones relabel the result to the original labeling.</p>
<p>Returns <span class="SimpleMath">[1, ... , n ]</span>, where <span class="SimpleMath">n</span> is the number of vertices of a simplicial complex <var class="Arg">complex</var>.</p>
<h4>4.2 <span class="Heading">Vertex labelings and label operations</span></h4>
<p>This section focuses on functions operating on the labels of a complex such as the name or the vertex labeling.</p>
<p>Internally, <strong class="pkg">simpcomp</strong> uses the standard labeling <span class="SimpleMath">[1, ... , n]</span>. It is recommended to use simple vertex labels like integers and, whenever possible, the standard labeling, see also <code class="func">SCRelabelStandard</code> (<a href="chap4.html#X78E22E3B787DDE90"><span class="RefLink">4.2-7</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCLabelMax</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: vertex label of <var class="Arg">complex</var> (an integer, a short list, a character, a short string) upon success, <code class="keyw">fail</code> otherwise.</p>
<p>The maximum over all vertex labels is determined by the <strong class="pkg">GAP</strong> function <code class="code">MaximumList</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCLabelMin</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: vertex label of <var class="Arg">complex</var> (an integer, a short list, a character, a short string) upon success, <code class="keyw">fail</code> otherwise.</p>
<p>The minimum over all vertex labels is determined by the <strong class="pkg">GAP</strong> function <code class="code">MinimumList</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCLabels</code>( <var class="Arg">complex</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of vertex labels of <var class="Arg">complex</var> (a list of integers, short lists, characters, short strings, ...) upon success, <code class="keyw">fail</code> otherwise.</p>
<p>Returns the vertex labels of <var class="Arg">complex</var> as a list. This is a synonym of <code class="func">SCVertices</code> (<a href="chap4.html#X849B0CD0796298EA"><span class="RefLink">4.1-3</span></a>).</p>
<p>Returns a literature reference of a polyhedral complex <var class="Arg">complex</var>.</p>
<div class="example"><pre>
gap> c:=SCLib.Load(253);;
gap> SCReference(c); "manifold_2_14_4_2 in F.H.Lutz: 'The Manifold Page', http://www.math.tu-berlin\
.de/diskregeom/stellar/,\r\nF.H.Lutz: 'Triangulated manifolds with few vertice\
s and vertex-transitive group actions', Doctoral Thesis TU Berlin 1999, Shaker\
-Verlag, Aachen 1999"
gap> c:=SC([[1,2],[2,3],[3,1]]);;
gap> SCReference(c);
#I SCReference: complex lacks reference.
fail
</pre></div>
<p><var class="Arg">maptable</var> has to be a list of length <span class="SimpleMath">n</span> where <span class="SimpleMath">n</span> is the number of vertices of <var class="Arg">complex</var>. The function maps the <span class="SimpleMath">i</span>-th entry of <var class="Arg">maptable</var> to the <span class="SimpleMath">i</span>-th entry of the current vertex labels. If <var class="Arg">complex</var> has the standard vertex labeling <span class="SimpleMath">[1, ... , n]</span> the vertex label <span class="SimpleMath">i</span> is mapped to <var class="Arg">maptable[i]</var>.</p>
<p>Note that the elements of <var class="Arg">maptable</var> must admit a total ordering. Hence, following Section 4.11 of the <strong class="pkg">GAP</strong> manual, they must be members of one of the following families: rationals <code class="code">IsRat</code>, cyclotomics <code class="code">IsCyclotomic</code>, finite field elements <code class="code">IsFFE</code>, permutations <code class="code">IsPerm</code>, booleans <code class="code">IsBool</code>, characters <code class="code">IsChar</code> and lists (strings) <code class="code">IsList</code>.</p>
<p>Internally the property ``SCVertices'' of <var class="Arg">complex</var> is replaced by <var class="Arg">maptable.</var></p>
<p>Permutes vertex labels of a single pair of vertices. <var class="Arg">pair</var> has to be a list of length <span class="SimpleMath">2</span> and a sublist of the property ``SCVertices''.</p>
<p>The function is equivalent to <code class="func">SCRelabel</code> (<a href="chap4.html#X7B6011907B74EDDA"><span class="RefLink">4.2-6</span></a>) with <var class="Arg">maptable</var> <span class="SimpleMath">= [ SCVertices[1] , ... , SCVertices[j] , ... , SCVertices[i] , dots , SCVertices[n]]</span> if <var class="Arg">pair</var> <span class="SimpleMath">= [ SCVertices[j] , SCVertices[i]]</span>, <span class="SimpleMath">j ≤ i</span>, <span class="SimpleMath">j ≠ i</span>.</p>
<p>Sets the literature reference of a polyhedral complex. The argument <var class="Arg">ref</var> has to be given in form of a string.</p>
<div class="example"><pre>
gap> c:=SCBdSimplex(5);;
gap> SCReference(c);
#I SCReference: complex lacks reference.
fail
gap> SCSetReference(c,"my 5-sphere in my cool paper");
true
gap> SCReference(c); "my 5-sphere in my cool paper"
</pre></div>
<h4>4.3 <span class="Heading">Operations on objects of type <code class="code">SCPolyhedralComplex</code></span></h4>
<p>The following functions perform operations on objects of type <code class="code">SCPolyhedralComplex</code> and all of its subtypes. Most of them return simplicial complexes. Thus, this section is closely related to the Sections <a href="chap6.html#X7F4308DB7C3699D1"><span class="RefLink">6.6</span></a> (for objects of type <code class="code">SCSimplicialComplex</code>), ''Generate new complexes from old''. However, the data generated here is rather seen as an intrinsic attribute of the original complex and not as an independent complex.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCAntiStar</code>( <var class="Arg">complex</var>, <var class="Arg">face</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 the anti star of <var class="Arg">face</var> (a face given as a list of vertices or a scalar interpreted as vertex) in <var class="Arg">complex</var>, i. e. the complement of <var class="Arg">face</var> in <var class="Arg">complex</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCLink</code>( <var class="Arg">complex</var>, <var class="Arg">face</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 the link of <var class="Arg">face</var> (a face given as a list of vertices or a scalar interpreted as vertex) in a polyhedral complex <var class="Arg">complex</var>, i. e. all facets containing <var class="Arg">face</var>, reduced by <var class="Arg">face</var>. if <var class="Arg">complex</var> is pure, the resulting complex is of dimension dim(<var class="Arg">complex</var>) - dim(<var class="Arg">face</var>) <span class="SimpleMath">-1</span>. If <var class="Arg">face</var> is not a face of <var class="Arg">complex</var> the empty complex is returned.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCLinks</code>( <var class="Arg">complex</var>, <var class="Arg">k</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of simplicial complexes of type <code class="code">SCSimplicialComplex</code> upon success, <code class="keyw">fail</code> otherwise.</p>
<p>Computes the link of all <var class="Arg">k</var>-faces of the polyhedral complex <var class="Arg">complex</var> and returns them as a list of simplicial complexes. Internally calls <code class="func">SCLink</code> (<a href="chap4.html#X874059937F4C709B"><span class="RefLink">4.3-2</span></a>) for every <var class="Arg">k</var>-face of <var class="Arg">complex</var>.</p>
<div class="example"><pre>
gap> c:=SCBdSimplex(4);;
gap> SCLinks(c,0);
[ <SimplicialComplex: lk([ 1 ]) in S^3_5 | dim = 2 | n = 4>,
<SimplicialComplex: lk([ 2 ]) in S^3_5 | dim = 2 | n = 4>,
<SimplicialComplex: lk([ 3 ]) in S^3_5 | dim = 2 | n = 4>,
<SimplicialComplex: lk([ 4 ]) in S^3_5 | dim = 2 | n = 4>,
<SimplicialComplex: lk([ 5 ]) in S^3_5 | dim = 2 | n = 4> ]
gap> SCLinks(c,1);
[ <SimplicialComplex: lk([ 1, 2 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 1, 3 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 1, 4 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 1, 5 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 2, 3 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 2, 4 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 2, 5 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 3, 4 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 3, 5 ]) in S^3_5 | dim = 1 | n = 3>,
<SimplicialComplex: lk([ 4, 5 ]) in S^3_5 | dim = 1 | n = 3> ]
</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCStar</code>( <var class="Arg">complex</var>, <var class="Arg">face</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 the star of <var class="Arg">face</var> (a face given as a list of vertices or a scalar interpreted as vertex) in a polyhedral complex <var class="Arg">complex</var>, i. e. the set of facets of <var class="Arg">complex</var> that contain <var class="Arg">face</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SCStars</code>( <var class="Arg">complex</var>, <var class="Arg">k</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list of simplicial complexes of type <code class="code">SCSimplicialComplex</code> upon success, <code class="keyw">fail</code> otherwise.</p>
<p>Computes the star of all <var class="Arg">k</var>-faces of the polyhedral complex <var class="Arg">complex</var> and returns them as a list of simplicial complexes. Internally calls <code class="func">SCStar</code> (<a href="chap4.html#X78B725AD7E747A63"><span class="RefLink">4.3-4</span></a>) for every <var class="Arg">k</var>-face of <var class="Arg">complex</var>.</p>
<div class="example"><pre>
gap> SCLib.SearchByName("T^2"){[1..6]};
[ [ 4, "T^2 (VT)" ], [ 5, "T^2 (VT)" ], [ 9, "T^2 (VT)" ], [ 10, "T^2 (VT)" ],
[ 17, "T^2 (VT)" ], [ 20, "(T^2)#2" ] ]
gap> torus:=SCLib.Load(last[1][1]);; # the minimal 7-vertex torus
gap> SCStars(torus,0); # 7 2-discs as vertex stars
[ <SimplicialComplex: star([ 1 ]) in T^2 (VT) | dim = 2 | n = 7>,
<SimplicialComplex: star([ 2 ]) in T^2 (VT) | dim = 2 | n = 7>,
<SimplicialComplex: star([ 3 ]) in T^2 (VT) | dim = 2 | n = 7>,
<SimplicialComplex: star([ 4 ]) in T^2 (VT) | dim = 2 | n = 7>,
<SimplicialComplex: star([ 5 ]) in T^2 (VT) | dim = 2 | n = 7>,
<SimplicialComplex: star([ 6 ]) in T^2 (VT) | dim = 2 | n = 7>,
<SimplicialComplex: star([ 7 ]) in T^2 (VT) | dim = 2 | n = 7> ]
</pre></div>
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.