SCPolyhedralComplex
SCPolyhedralComplex
In the following all operations for the GAP object type SCPolyhedralComplex
are listed. I. e. for the following operations only one method is implemented to deal with all geometric objects derived from this object type.
SCPolyhedralComplex
The following functions compute basic properties of objects of type SCPolyhedralComplex
(and thus also of objects of type SCSimplicialComplex
and SCNormalSurface
). 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 ShallowCopy
or the internal simpcomp function SCIntFunc.DeepCopy
to get a mutable copy.
Note: every object is internally stored with the standard vertex labeling from \(1\) to \(n\) 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.
‣ SCFacets ( complex ) | ( method ) |
Returns: a facet list upon success, fail
otherwise.
Returns the facets of a simplicial complex in the original vertex labeling.
gap> c:=SC([[2,3],[3,4],[4,2]]);; gap> SCFacets(c); [ [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ]
‣ SCFacetsEx ( complex ) | ( method ) |
Returns: a facet list upon success, fail
otherwise.
Returns the facets of a simplicial complex as they are stored, i. e. with standard vertex labeling from 1 to n.
gap> c:=SC([[2,3],[3,4],[4,2]]);; gap> SCFacetsEx(c); [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ]
‣ SCVertices ( complex ) | ( method ) |
Returns: a list of vertex labels of complex upon success, fail
otherwise.
Returns the vertex labels of a simplicial complex complex.
gap> sphere:=SC([["x",45,[1,1]],["x",45,["b",3]],["x",[1,1], ["b",3]],[45,[1,1],["b",3]]]);; gap> SCVerticesEx(sphere); [ 1 .. 4 ] gap> SCVertices(sphere); [ 45, [ 1, 1 ], "x", [ "b", 3 ] ]
‣ SCVerticesEx ( complex ) | ( method ) |
Returns: \([ 1, \ldots , n ]\) upon success, fail
otherwise.
Returns \(\left[1, \ldots , n \right]\), where \(n\) is the number of vertices of a simplicial complex complex.
gap> c:=SC([[1,4,5],[4,9,8],[12,13,14,15,16,17]]);; gap> SCVerticesEx(c); [ 1 .. 11 ]
This section focuses on functions operating on the labels of a complex such as the name or the vertex labeling.
Internally, simpcomp uses the standard labeling \([1, \ldots , n]\). It is recommended to use simple vertex labels like integers and, whenever possible, the standard labeling, see also SCRelabelStandard
(4.2-7).
‣ SCLabelMax ( complex ) | ( method ) |
Returns: vertex label of complex (an integer, a short list, a character, a short string) upon success, fail
otherwise.
The maximum over all vertex labels is determined by the GAP function MaximumList
.
gap> c:=SCBdSimplex(3);; gap> SCRelabel(c,[10,100,100000,3500]);; gap> SCLabelMax(c); 100000
gap> c:=SCBdSimplex(3);; gap> SCRelabel(c,["a","bbb",5,[1,1]]);; gap> SCLabelMax(c); "bbb"
‣ SCLabelMin ( complex ) | ( method ) |
Returns: vertex label of complex (an integer, a short list, a character, a short string) upon success, fail
otherwise.
The minimum over all vertex labels is determined by the GAP function MinimumList
.
gap> c:=SCBdSimplex(3);; gap> SCRelabel(c,[10,100,100000,3500]);; gap> SCLabelMin(c); 10
gap> c:=SCBdSimplex(3);; gap> SCRelabel(c,["a","bbb",5,[1,1]]);; gap> SCLabelMin(c); 5
‣ SCLabels ( complex ) | ( method ) |
Returns: a list of vertex labels of complex (a list of integers, short lists, characters, short strings, ...) upon success, fail
otherwise.
Returns the vertex labels of complex as a list. This is a synonym of SCVertices
(4.1-3).
gap> c:=SCFromFacets(Combinations(["a","b","c","d"],3));; gap> SCLabels(c); [ "a", "b", "c", "d" ]
‣ SCName ( complex ) | ( operation ) |
Returns: a string upon success, fail
otherwise.
Returns the name of a simplicial complex complex.
gap> c:=SCBdSimplex(5);; gap> SCName(c); "S^4_6"
gap> c:=SC([[1,2],[2,3],[3,1]]);; gap> SCName(c); "unnamed complex 2"
‣ SCReference ( complex ) | ( operation ) |
Returns: a string upon success, fail
otherwise.
Returns a literature reference of a polyhedral complex complex.
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
‣ SCRelabel ( complex, maptable ) | ( method ) |
Returns: true
upon success, fail
otherwise.
maptable has to be a list of length \(n\) where \(n\) is the number of vertices of complex. The function maps the \(i\)-th entry of maptable to the \(i\)-th entry of the current vertex labels. If complex has the standard vertex labeling \([1, \ldots , n]\) the vertex label \(i\) is mapped to maptable[i].
Note that the elements of maptable must admit a total ordering. Hence, following Section 4.11 of the GAP manual, they must be members of one of the following families: rationals IsRat
, cyclotomics IsCyclotomic
, finite field elements IsFFE
, permutations IsPerm
, booleans IsBool
, characters IsChar
and lists (strings) IsList
.
Internally the property ``SCVertices'' of complex is replaced by maptable.
gap> list:=SCLib.SearchByAttribute("F[1]=12");; gap> c:=SCLib.Load(list[1][1]);; gap> SCVertices(c); [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ] gap> SCRelabel(c,["a","b","c","d","e","f","g","h","i","j","k","l"]); true gap> SCLabels(c); [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l" ]
‣ SCRelabelStandard ( complex ) | ( method ) |
Returns: true
upon success, fail
otherwise.
Maps vertex labels \(v_1 , \ldots , v_n\) of complex to \([1 , \ldots , n]\). Internally the property "SCVertices" is replaced by \([1 , \ldots , n]\).
gap> list:=SCLib.SearchByAttribute("F[1]=12");; gap> c:=SCLib.Load(list[1][1]);; gap> SCRelabel(c,[4..15]); true gap> SCVertices(c); [ 4 .. 15 ] gap> SCRelabelStandard(c); true gap> SCLabels(c); [ 1 .. 12 ]
‣ SCRelabelTransposition ( complex, pair ) | ( method ) |
Returns: true
upon success, fail
otherwise.
Permutes vertex labels of a single pair of vertices. pair has to be a list of length \(2\) and a sublist of the property ``SCVertices''.
The function is equivalent to SCRelabel
(4.2-6) with maptable \(= [ SCVertices[1] , \ldots , SCVertices[j] , \ldots , SCVertices[i] , \dots , SCVertices[n]]\) if pair \(= [ SCVertices[j] , SCVertices[i]]\), \(j \leq i\), \(j \neq i\).
gap> c:=SCBdSimplex(3);; gap> SCVertices(c); [ 1 .. 4 ] gap> SCRelabelTransposition(c,[1,2]);; gap> SCLabels(c); [ 2, 1, 3, 4 ]
‣ SCRename ( complex, name ) | ( method ) |
Returns: true
upon success, fail
otherwise.
Renames a polyhedral complex. The argument name has to be given in form of a string.
gap> c:=SCBdSimplex(5);; gap> SCName(c); "S^4_6" gap> SCRename(c,"mySphere"); true gap> SCName(c); "mySphere"
‣ SCSetReference ( complex, ref ) | ( method ) |
Returns: true
upon success, fail
otherwise.
Sets the literature reference of a polyhedral complex. The argument ref has to be given in form of a string.
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"
‣ SCUnlabelFace ( complex, face ) | ( method ) |
Returns: a list upon success, fail
otherwise.
Computes the standard labeling of face in complex.
gap> c:=SCBdSimplex(3);; gap> SCRelabel(c,["a","bbb",5,[1,1]]);; gap> SCUnlabelFace(c,["a","bbb",5]); [ 1, 2, 3 ]
SCPolyhedralComplex
The following functions perform operations on objects of type SCPolyhedralComplex
and all of its subtypes. Most of them return simplicial complexes. Thus, this section is closely related to the Sections 6.6 (for objects of type SCSimplicialComplex
), ''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.
‣ SCAntiStar ( complex, face ) | ( method ) |
Returns: simplicial complex of type SCSimplicialComplex
upon success, fail
otherwise .
Computes the anti star of face (a face given as a list of vertices or a scalar interpreted as vertex) in complex, i. e. the complement of face in complex.
gap> SCLib.SearchByName("RP^2"); [ [ 3, "RP^2 (VT)" ], [ 262, "RP^2xS^1" ] ] gap> rp2:=SCLib.Load(last[1][1]);; gap> SCVertices(rp2); [ 1, 2, 3, 4, 5, 6 ] gap> SCAntiStar(rp2,1); <SimplicialComplex: ast([ 1 ]) in RP^2 (VT) | dim = 2 | n = 5> gap> last.Facets; [ [ 2, 3, 4 ], [ 2, 4, 5 ], [ 2, 5, 6 ], [ 3, 4, 6 ], [ 3, 5, 6 ] ]
‣ SCLink ( complex, face ) | ( method ) |
Returns: simplicial complex of type SCSimplicialComplex
upon success, fail
otherwise.
Computes the link of face (a face given as a list of vertices or a scalar interpreted as vertex) in a polyhedral complex complex, i. e. all facets containing face, reduced by face. if complex is pure, the resulting complex is of dimension dim(complex) - dim(face) \(-1\). If face is not a face of complex the empty complex is returned.
gap> SCLib.SearchByName("RP^2"); [ [ 3, "RP^2 (VT)" ], [ 262, "RP^2xS^1" ] ] gap> rp2:=SCLib.Load(last[1][1]);; gap> SCVertices(rp2); [ 1, 2, 3, 4, 5, 6 ] gap> SCLink(rp2,[1]); <SimplicialComplex: lk([ 1 ]) in RP^2 (VT) | dim = 1 | n = 5> gap> last.Facets; [ [ 2, 3 ], [ 2, 6 ], [ 3, 5 ], [ 4, 5 ], [ 4, 6 ] ]
‣ SCLinks ( complex, k ) | ( method ) |
Returns: a list of simplicial complexes of type SCSimplicialComplex
upon success, fail
otherwise.
Computes the link of all k-faces of the polyhedral complex complex and returns them as a list of simplicial complexes. Internally calls SCLink
(4.3-2) for every k-face of complex.
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> ]
‣ SCStar ( complex, face ) | ( method ) |
Returns: simplicial complex of type SCSimplicialComplex
upon success, fail
otherwise .
Computes the star of face (a face given as a list of vertices or a scalar interpreted as vertex) in a polyhedral complex complex, i. e. the set of facets of complex that contain face.
gap> SCLib.SearchByName("RP^2"); [ [ 3, "RP^2 (VT)" ], [ 262, "RP^2xS^1" ] ] gap> rp2:=SCLib.Load(last[1][1]);; gap> SCVertices(rp2); [ 1, 2, 3, 4, 5, 6 ] gap> SCStar(rp2,1); <SimplicialComplex: star([ 1 ]) in RP^2 (VT) | dim = 2 | n = 6> gap> last.Facets; [ [ 1, 2, 3 ], [ 1, 2, 6 ], [ 1, 3, 5 ], [ 1, 4, 5 ], [ 1, 4, 6 ] ]
‣ SCStars ( complex, k ) | ( method ) |
Returns: a list of simplicial complexes of type SCSimplicialComplex
upon success, fail
otherwise.
Computes the star of all k-faces of the polyhedral complex complex and returns them as a list of simplicial complexes. Internally calls SCStar
(4.3-4) for every k-face of complex.
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> ]
generated by GAPDoc2HTML