GAP (simpcomp) - Chapter 17: A demo session with simpcomp

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

17 A demo session with simpcomp
17.1 Creating a `SCSimplicialComplex` object
17.2 Working with a `SCSimplicialComplex` object
17.3 Calculating properties of a `SCSimplicialComplex` object
17.4 Creating new complexes from a `SCSimplicialComplex` object
17.5 Homology related calculations
17.6 Bistellar flips
17.7 Simplicial blowups
17.8 Discrete normal surfaces and slicings

### 17 A demo session with simpcomp

This chapter contains the transcript of a demo session with simpcomp that is intended to give an insight into what things can be done with this package.

Of course this only scratches the surface of the functions provided by simpcomp. See Chapters 4 through 15 for further functions provided by simpcomp.

#### 17.1 Creating a `SCSimplicialComplex` object

Simplicial complex objects can either be created from a facet list (complex `c1` below), orbit representatives together with a permutation group (complex `c2`) or difference cycles (complex `c3`, see Section 6.1), from a function generating triangulations of standard complexes (complex `c4`, see Section 6.3) or from a function constructing infinite series for combinatorial (pseudo)manifolds (complexes `c5`, `c6`, `c7`, see Section 6.4 and the function prefix `SCSeries...`). There are also functions creating new simplicial complexes from old, see Section 6.6, which will be described in the next sections.

    gap> #first run functionality test on simpcomp
    gap> SCRunTest();
    + test simpcomp package, version 0.0.0
    true
    gap> #all ok
    gap> c1:=SCFromFacets([[1,2],[2,3],[3,1]]);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels.

     Name="unnamed complex 1"
     Dim=1

    /SimplicialComplex]
    gap> G:=Group([(2,12,11,6,8,3)(4,7,10)(5,9),(1,11,6,4,5,3,10,8,9,7,2,12)]);
    Group([ (2,12,11,6,8,3)(4,7,10)(5,9), (1,11,6,4,5,3,10,8,9,7,2,12) ])
    gap> StructureDescription(G);
    "S4 x S3"
    gap> Size(G);
    144
    gap> c2:=SCFromGenerators(G,[[1,2,3]]);;
    gap> c2.IsManifold;
    true
    gap> SCLibDetermineTopologicalType(c2);
    [SimplicialComplex

     Properties known: AutomorphismGroup, AutomorphismGroupSize,
                       AutomorphismGroupStructure, AutomorphismGroupTransitivity,\

                       Boundary, Dim, Faces, Facets, Generators, HasBoundary,
                       IsManifold, IsPM, Name, TopologicalType, VertexLabels,
                       Vertices.

     Name="complex from generators under group S4 x S3"
     Dim=2
     AutomorphismGroupSize=144
     AutomorphismGroupStructure="S4 x S3"
     AutomorphismGroupTransitivity=1
     HasBoundary=false
     IsPM=true
     TopologicalType="T^2"

    /SimplicialComplex]
    gap> c3:=SCFromDifferenceCycles([[1,1,6],[3,3,2]]);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels.

     Name="complex from diffcycles [ [ 1, 1, 6 ], [ 3, 3, 2 ] ]"
     Dim=2

    /SimplicialComplex]
    gap> c4:=SCBdSimplex(2);
    [SimplicialComplex

     Properties known: AutomorphismGroup, AutomorphismGroupOrder,
                       AutomorphismGroupStructure, AutomorphismGroupTransitivity,
                       Chi, Dim, F, Facets, Generators, HasBounday, Homology,
                       IsConnected, IsStronglyConnected, Name, TopologicalType,
                       VertexLabels.

     Name="S^1_3"
     Dim=1
     AutomorphismGroupStructure="S3"
     AutomorphismGroupTransitivity=3
     Chi=0
     F=[ 3, 3 ]
     Homology=[ [ 0, [ ] ], [ 1, [ ] ] ]
     IsConnected=true
     IsStronglyConnected=true
     TopologicalType="S^1"

    /SimplicialComplex]
    gap> c5:=SCSeriesCSTSurface(2,16);;
    gap> SCLibDetermineTopologicalType(c5);
    [SimplicialComplex

     Properties known: Boundary, Dim, Faces, Facets, HasBoundary, IsPM, Name,
                       TopologicalType, VertexLabels.

     Name="cst surface S_{(2,16)} = { (2:2:12),(6:6:4) }"
     Dim=2
     HasBoundary=false
     IsPM=true
     TopologicalType="T^2 U T^2"

    /SimplicialComplex]
    gap> c6:=SCSeriesD2n(22);;
    gap> c6.Homology;
    [ [ 0, [  ] ], [ 1, [  ] ], [ 0, [ 2 ] ], [ 0, [  ] ] ]
    gap> c6.F;
    [ 44, 264, 440, 220 ]
    gap> SCSeriesAGL(17);
    [ AGL(1,17), [ [ 1, 2, 4, 8, 16 ] ] ]
    gap> c7:=SCFromGenerators(last[1],last[2]);;
    gap> c7.AutomorphismGroupTransitivity;
    2

#### 17.2 Working with a `SCSimplicialComplex` object

As described in Section 3.1 there are two several ways of accessing an object of type `SCSimplicialComplex`. An example for the two equivalent ways is given below. The preference will be given to the object oriented notation in this demo session. The code listed below

    gap> c:=SCBdSimplex(3);; # create a simplicial complex object
    gap> SCFVector(c);
    [ 4, 6, 4 ]
    gap> SCSkel(c,0);
    [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ]

is equivalent to

    gap> c:=SCBdSimplex(3);; # create a simplicial complex object
    gap> c.F;
    [ 4, 6, 4 ]
    gap> c.Skel(0);
    [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ]

#### 17.3 Calculating properties of a `SCSimplicialComplex` object

simpcomp provides a variety of functions for calculating properties of simplicial complexes, see Section 6.9. All these properties are only calculated once and stored in the `SCSimplicialComplex` object.

    gap> c1.F;
    [ 3, 3 ]
    gap> c1.FaceLattice;
    [ [ [ 1 ], [ 2 ], [ 3 ] ], [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ] ]
    gap> c1.AutomorphismGroup;
    S3
    gap> c1.Generators;
    [ [ [ 1, 2 ], 3 ] ]
    gap> c3.Facets;
    [ [ 1, 2, 3 ], [ 1, 2, 8 ], [ 1, 3, 6 ], [ 1, 4, 6 ], [ 1, 4, 7 ],
      [ 1, 7, 8 ], [ 2, 3, 4 ], [ 2, 4, 7 ], [ 2, 5, 7 ], [ 2, 5, 8 ],
      [ 3, 4, 5 ], [ 3, 5, 8 ], [ 3, 6, 8 ], [ 4, 5, 6 ], [ 5, 6, 7 ],
      [ 6, 7, 8 ] ]
    gap> c3.F;
    [ 8, 24, 16 ]
    gap> c3.G;
    [ 4 ]
    gap> c3.H;
    [ 5, 11, -1 ]
    gap> c3.ASDet;
    186624
    gap> c3.Chi;
    0
    gap> c3.Generators;
    [ [ [ 1, 2, 3 ], 16 ] ]
    gap> c3.HasBoundary;
    false
    gap> c3.IsConnected;
    true
    gap> c3.IsCentrallySymmetric;
    true
    gap> c3.Vertices;
    [ 1, 2, 3, 4, 5, 6, 7, 8 ]
    gap> c3.ConnectedComponents;
    [ [SimplicialComplex

         Properties known: Dim, Facets, Name, VertexLabels.

         Name="Connected component #1 of complex from diffcycles [ [ 1, 1, 6 ], [ \
    3, 3, 2 ] ]"
         Dim=2

        /SimplicialComplex] ]
    gap> c3.UnknownProperty;
    #I  SCPropertyObject: unhandled property 'UnknownProperty'. Handled properties\
     are [ "Equivalent", "IsKStackedSphere", "IsManifold", "IsMovable", "Move",
      "Moves", "RMoves", "ReduceAsSubcomplex", "Reduce", "ReduceEx", "Copy",
      "Recalc", "ASDet", "AutomorphismGroup", "AutomorphismGroupInternal",
      "Boundary", "ConnectedComponents", "Dim", "DualGraph", "Chi", "F",
      "FaceLattice", "FaceLatticeEx", "Faces", "FacesEx", "Facets", "FacetsEx",
      "FpBetti", "FundamentalGroup", "G", "Generators", "GeneratorsEx", "H",
      "HasBoundary", "HasInterior", "Homology", "Incidences", "IncidencesEx",
      "Interior", "IsCentrallySymmetric", "IsConnected", "IsEmpty",
      "IsEulerianManifold", "IsHomologySphere", "IsInKd", "IsKNeighborly",
      "IsOrientable", "IsPM", "IsPure", "IsShellable", "IsStronglyConnected",
      "MinimalNonFaces", "MinimalNonFacesEx", "Name", "Neighborliness",
      "Orientation", "Skel", "SkelEx", "SpanningTree",
      "StronglyConnectedComponents", "Vertices", "VerticesEx",
      "BoundaryOperatorMatrix", "HomologyBasis", "HomologyBasisAsSimplices",
      "HomologyInternal", "CoboundaryOperatorMatrix", "Cohomology",
      "CohomologyBasis", "CohomologyBasisAsSimplices", "CupProduct",
      "IntersectionForm", "IntersectionFormParity",
      "IntersectionFormDimensionality", "Load", "Save", "ExportPolymake",
      "ExportLatexTable", "ExportJavaView", "LabelMax", "LabelMin", "Labels",
      "Relabel", "RelabelStandard", "RelabelTransposition", "Rename",
      "SortComplex", "UnlabelFace", "AlexanderDual", "CollapseGreedy", "Cone",
      "DeletedJoin", "Difference", "HandleAddition", "Intersection",
      "IsIsomorphic", "IsSubcomplex", "Isomorphism", "IsomorphismEx", "Join",
      "Link", "Links", "Neighbors", "NeighborsEx", "Shelling", "ShellingExt",
      "Shellings", "Span", "Star", "Stars", "Suspension", "Union",
      "VertexIdentification", "Wedge", "DetermineTopologicalType", "Dim",
      "Facets", "VertexLabels", "Name", "Vertices", "IsConnected",
      "ConnectedComponents" ].

    fail

#### 17.4 Creating new complexes from a `SCSimplicialComplex` object

As already mentioned, there is the possibility to generate new objects of type `SCSimplicialComplex` from existing ones using standard constructions. The functions used in this section are described in more detail in Section 6.6.

    gap> d:=c3+c3;
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels, Vertices.

     Name="complex from diffcycles [ [ 1, 1, 6 ], [ 3, 3, 2 ] ]#+-complex from dif\
    fcycles [ [ 1, 1, 6 ], [ 3, 3, 2 ] ]"
     Dim=2

    /SimplicialComplex]
    gap> SCRename(d,"T^2#T^2");
    true
    gap> SCLink(d,1);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels.

     Name="lk(1) in T^2#T^2"
     Dim=1

    /SimplicialComplex]
    gap> SCStar(d,[1,2]);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels.

     Name="star([ 1, 2 ]) in T^2#T^2"
     Dim=2

    /SimplicialComplex]
    gap> SCRename(c3,"T^2");
    true
    gap> SCConnectedProduct(c3,4);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels, Vertices.

     Name="T^2#+-T^2#+-T^2#+-T^2"
     Dim=2

    /SimplicialComplex]
    gap> SCCartesianProduct(c4,c4);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, TopologicalType, VertexLabels.

     Name="S^1_3xS^1_3"
     Dim=2
     TopologicalType="S^1xS^1"

    /SimplicialComplex]
    gap> SCCartesianPower(c4,3);
    [SimplicialComplex

     Properties known: Dim, Facets, Name, TopologicalType, VertexLabels.

     Name="(S^1_3)^3"
     Dim=3
     TopologicalType="(S^1)^3"

    /SimplicialComplex]

#### 17.5 Homology related calculations

simpcomp relies on the GAP package homology [DHSW11] for its homology computations but provides further (co-)homology related functions, see Chapter 8.

    gap> s2s2:=SCCartesianProduct(SCBdSimplex(3),SCBdSimplex(3));
    [SimplicialComplex

     Properties known: Dim, Facets, Name, TopologicalType, VertexLabels.

     Name="S^2_4xS^2_4"
     Dim=4
     TopologicalType="S^2xS^2"

    /SimplicialComplex]
    gap> SCHomology(s2s2);
    [ [ 0, [  ] ], [ 0, [  ] ], [ 2, [  ] ], [ 0, [  ] ], [ 1, [  ] ] ]
    gap> SCHomologyInternal(s2s2);
    [ [ 0, [  ] ], [ 0, [  ] ], [ 2, [  ] ], [ 0, [  ] ], [ 1, [  ] ] ]
    gap> SCHomologyBasis(s2s2,2);
    [ [ 1, [ [ 1, 70 ], [ -1, 12 ], [ 1, 2 ], [ -1, 1 ] ] ],
      [ 1, [ [ 1, 143 ], [ -1, 51 ], [ 1, 29 ], [ -1, 25 ] ] ] ]
    gap> SCHomologyBasisAsSimplices(s2s2,2);
    [ [ 1,
          [ [ 1, [ 2, 3, 4 ] ], [ -1, [ 1, 3, 4 ] ], [ 1, [ 1, 2, 4 ] ], [ -1, [ 1
                        , 2, 3 ] ] ] ],
      [ 1, [ [ 1, [ 5, 9, 13 ] ], [ -1, [ 1, 9, 13 ] ], [ 1, [ 1, 5, 13 ] ],
              [ -1, [ 1, 5, 9 ] ] ] ] ]
    gap> SCCohomologyBasis(s2s2,2);
    [ [ 1,
          [ [ 1, 122 ], [ 1, 115 ], [ 1, 112 ], [ 1, 111 ], [ 1, 93 ], [ 1, 90 ],
              [ 1, 89 ], [ 1, 84 ], [ 1, 83 ], [ 1, 82 ], [ 1, 46 ], [ 1, 43 ],
              [ 1, 42 ], [ 1, 37 ], [ 1, 36 ], [ 1, 35 ], [ 1, 28 ], [ 1, 27 ],
              [ 1, 26 ], [ 1, 25 ] ] ],
      [ 1, [ [ 1, 213 ], [ 1, 201 ], [ 1, 192 ], [ 1, 189 ], [ 1, 159 ],
              [ 1, 150 ], [ 1, 147 ], [ 1, 131 ], [ 1, 128 ], [ 1, 125 ],
              [ 1, 67 ], [ 1, 58 ], [ 1, 55 ], [ 1, 39 ], [ 1, 36 ], [ 1, 33 ],
              [ 1, 10 ], [ 1, 7 ], [ 1, 4 ], [ 1, 1 ] ] ] ]
    gap> SCCohomologyBasisAsSimplices(s2s2,2);
    [ [ 1, [ [ 1, [ 4, 8, 12 ] ], [ 1, [ 3, 8, 12 ] ], [ 1, [ 3, 7, 12 ] ],
              [ 1, [ 3, 7, 11 ] ], [ 1, [ 2, 8, 12 ] ], [ 1, [ 2, 7, 12 ] ],
              [ 1, [ 2, 7, 11 ] ], [ 1, [ 2, 6, 12 ] ], [ 1, [ 2, 6, 11 ] ],
              [ 1, [ 2, 6, 10 ] ], [ 1, [ 1, 8, 12 ] ], [ 1, [ 1, 7, 12 ] ],
              [ 1, [ 1, 7, 11 ] ], [ 1, [ 1, 6, 12 ] ], [ 1, [ 1, 6, 11 ] ],
              [ 1, [ 1, 6, 10 ] ], [ 1, [ 1, 5, 12 ] ], [ 1, [ 1, 5, 11 ] ],
              [ 1, [ 1, 5, 10 ] ], [ 1, [ 1, 5, 9 ] ] ] ],
      [ 1, [ [ 1, [ 13, 14, 15 ] ], [ 1, [ 9, 14, 15 ] ], [ 1, [ 9, 10, 15 ] ],
              [ 1, [ 9, 10, 11 ] ], [ 1, [ 5, 14, 15 ] ], [ 1, [ 5, 10, 15 ] ],
              [ 1, [ 5, 10, 11 ] ], [ 1, [ 5, 6, 15 ] ], [ 1, [ 5, 6, 11 ] ],
              [ 1, [ 5, 6, 7 ] ], [ 1, [ 1, 14, 15 ] ], [ 1, [ 1, 10, 15 ] ],
              [ 1, [ 1, 10, 11 ] ], [ 1, [ 1, 6, 15 ] ], [ 1, [ 1, 6, 11 ] ],
              [ 1, [ 1, 6, 7 ] ], [ 1, [ 1, 2, 15 ] ], [ 1, [ 1, 2, 11 ] ],
              [ 1, [ 1, 2, 7 ] ], [ 1, [ 1, 2, 3 ] ] ] ] ]
    gap> PrintArray(SCIntersectionForm(s2s2));
    [ [  0,  1 ],
      [  1,  0 ] ]
    gap> c:=s2s2+s2s2;
    [SimplicialComplex

     Properties known: Dim, Facets, Name, VertexLabels, Vertices.

     Name="S^2_4xS^2_4#+-S^2_4xS^2_4"
     Dim=4

    /SimplicialComplex]
    gap> PrintArray(SCIntersectionForm(c));
    [ [   0,  -1,   0,   0 ],
      [  -1,   0,   0,   0 ],
      [   0,   0,   0,  -1 ],
      [   0,   0,  -1,   0 ] ]

#### 17.6 Bistellar flips

For a more detailed description of functions related to bistellar flips as well as a very short introduction into the topic, see Chapter 9.

    gap> beta4:=SCBdCrossPolytope(4);;
    gap> s3:=SCBdSimplex(4);;
    gap> SCEquivalent(beta4,s3);
    #I  round 0, move: [ [ 2, 6, 7 ], [ 3, 4 ] ]
    [ 8, 25, 34, 17 ]
    #I  round 1, move: [ [ 2, 7 ], [ 3, 4, 5 ] ]
    [ 8, 24, 32, 16 ]
    #I  round 2, move: [ [ 2, 5 ], [ 3, 4, 8 ] ]
    [ 8, 23, 30, 15 ]
    #I  round 3, move: [ [ 2 ], [ 3, 4, 6, 8 ] ]
    [ 7, 19, 24, 12 ]
    #I  round 4, move: [ [ 6, 8 ], [ 1, 3, 4 ] ]
    [ 7, 18, 22, 11 ]
    #I  round 5, move: [ [ 8 ], [ 1, 3, 4, 5 ] ]
    [ 6, 14, 16, 8 ]
    #I  round 6, move: [ [ 5 ], [ 1, 3, 4, 7 ] ]
    [ 5, 10, 10, 5 ]
    #I  SCReduceComplexEx: complexes are bistellarly equivalent.
    true
    gap> SCBistellarOptions.WriteLevel;
    0
    gap> SCBistellarOptions.WriteLevel:=1;
    1
    gap> SCEquivalent(beta4,s3);
    #I  SCLibInit: made directory "~/PATH" for user library.
    #I  SCIntFunc.SCLibInit: index not found -- trying to reconstruct it.
    #I  SCLibUpdate: rebuilding index for ~/PATH.
    #I  SCLibUpdate: rebuilding index done.

    #I  round 0, move: [ [ 2, 4, 6 ], [ 7, 8 ] ]
    [ 8, 25, 34, 17 ]
    #I  round 1, move: [ [ 2, 4 ], [ 5, 7, 8 ] ]
    [ 8, 24, 32, 16 ]
    #I  round 2, move: [ [ 4, 5 ], [ 1, 7, 8 ] ]
    [ 8, 23, 30, 15 ]
    #I  round 3, move: [ [ 4 ], [ 1, 6, 7, 8 ] ]
    [ 7, 19, 24, 12 ]
    #I  SCLibAdd: saving complex to file "complex_ReducedComplex_7_vertices_3_2009\
    -10-27_11-40-00.sc".
    #I  round 4, move: [ [ 2, 6 ], [ 3, 7, 8 ] ]
    [ 7, 18, 22, 11 ]
    #I  round 5, move: [ [ 2 ], [ 3, 5, 7, 8 ] ]
    [ 6, 14, 16, 8 ]
    #I  SCLibAdd: saving complex to file "complex_ReducedComplex_6_vertices_5_2009\
    -10-27_11-40-00.sc".
    #I  round 6, move: [ [ 5 ], [ 1, 3, 7, 8 ] ]
    [ 5, 10, 10, 5 ]
    #I  SCLibAdd: saving complex to file "complex_ReducedComplex_5_vertices_6_2009\
    -10-27_11-40-00.sc".
    #I  SCLibAdd: saving complex to file "complex_ReducedComplex_5_vertices_7_2009\
    -10-27_11-40-00.sc".
    #I  SCReduceComplexEx: complexes are bistellarly equivalent.
    true
    gap> myLib:=SCLibInit("~/PATH"); # copy path from above
    [Simplicial complex library. Properties:
    CalculateIndexAttributes=true
    Number of complexes in library=4
    IndexAttributes=[ "Name", "Date", "Dim", "F", "G", "H", "Chi", "Homology" ]
    Loaded=true
    Path="/home/spreerjn/reducedComplexes/2009-10-27_11-40-00/"
    ]
    gap> s3:=myLib.Load(3);
    [SimplicialComplex

     Properties known: Chi, Date, Dim, F, Faces, Facets, G, H, Homology,
                       IsConnected, Name, VertexLabels.

     Name="ReducedComplex_5_vertices_6"
     Dim=3
     Chi=0
     F=[ 5, 10, 10, 5 ]
     G=[ 0, 0 ]
     H=[ 1, 1, 1, 1 ]
     Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
     IsConnected=true

    /SimplicialComplex]
    gap> s3:=myLib.Load(2);
    [SimplicialComplex

     Properties known: Chi, Date, Dim, F, Faces, Facets, G, H, Homology,
                       IsConnected, Name, VertexLabels.

     Name="ReducedComplex_6_vertices_5"
     Dim=3
     Chi=0
     F=[ 6, 14, 16, 8 ]
     G=[ 1, 0 ]
     H=[ 2, 2, 2, 1 ]
     Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
     IsConnected=true

    /SimplicialComplex]
    gap> t2:=SCCartesianProduct(SCBdSimplex(2),SCBdSimplex(2));;
    gap> t2.F;
    [ 9, 27, 18 ]
    gap> SCBistellarOptions.WriteLevel:=0;
    0
    gap> SCBistellarOptions.LogLevel:=0;
    0
    gap> mint2:=SCReduceComplex(t2);
    [ true, [SimplicialComplex

         Properties known: Dim, Facets, Name, VertexLabels.

         Name="unnamed complex 85"
         Dim=2

        /SimplicialComplex], 32 ]

#### 17.7 Simplicial blowups

For a more detailed description of functions related to simplicial blowups see Chapter 10.

    gap> list:=SCLib.SearchByName("Kummer");
    [ [ 7493, "4-dimensional Kummer variety (VT)" ] ]
    gap> c:=SCLib.Load(7493);
    [SimplicialComplex

     Properties known: AltshulerSteinberg, AutomorphismGroup,
                       AutomorphismGroupSize, AutomorphismGroupStructure,
                       AutomorphismGroupTransitivity,
                       ConnectedComponents, Date, Dim, DualGraph,
                       EulerCharacteristic, FacetsEx, GVector,
                       GeneratorsEx, HVector, HasBoundary, HasInterior,
                       Homology, Interior, IsCentrallySymmetric,
                       IsConnected, IsEulerianManifold, IsManifold,
                       IsOrientable, IsPseudoManifold, IsPure,
                       IsStronglyConnected, MinimalNonFacesEx, Name,
                       Neighborliness, NumFaces[], Orientation,
                       SkelExs[], Vertices.

     Name="4-dimensional Kummer variety (VT)"
     Dim=4
     AltshulerSteinberg=45137758519296000000000000
     AutomorphismGroupSize=1920
     AutomorphismGroupStructure="((C2 x C2 x C2 x C2) : A5) : C2"
     AutomorphismGroupTransitivity=1
     EulerCharacteristic=8
     GVector=[ 10, 55, 60 ]
     HVector=[ 11, 66, 126, -19, 7 ]
     HasBoundary=false
     HasInterior=true
     Homology=[ [0, [ ] ], [0, [ ] ], [6, [2,2,2,2,2] ], [0, [ ] ], [1, [ ] ] ]
     IsCentrallySymmetric=false
     IsConnected=true
     IsEulerianManifold=true
     IsOrientable=true
     IsPseudoManifold=true
     IsPure=true
     IsStronglyConnected=true
     Neighborliness=2

    /SimplicialComplex]
    gap> lk:=SCLink(c,1);
    [SimplicialComplex

     Properties known: Dim, FacetsEx, Name, Vertices.

     Name="lk([ 1 ]) in 4-dimensional Kummer variety (VT)"
     Dim=3

    /SimplicialComplex]
    gap> SCHomology(lk);
    [ [ 0, [  ] ], [ 0, [ 2 ] ], [ 0, [  ] ], [ 1, [  ] ] ]
    gap> SCLibDetermineTopologicalType(lk);
    [ 45, 113, 2426, 2502, 7470 ]
    gap> d:=SCLib.Load(45);;
    gap> d.Name;
    "RP^3"
    gap> SCEquivalent(lk,d);
    #I  SCReduceComplexEx: complexes are bistellarly equivalent.
    true
    gap> e:=SCBlowup(c,1);
    #I  SCBlowup: checking if singularity is a combinatorial manifold...
    #I  SCBlowup: ...true
    #I  SCBlowup: checking type of singularity...
    #I  SCReduceComplexEx: complexes are bistellarly equivalent.
    #I  SCBlowup: ...ordinary double point (supported type).
    #I  SCBlowup: starting blowup...
    #I  SCBlowup: map boundaries...
    #I  SCBlowup: boundaries not isomorphic, initializing bistellar moves...
    #I  SCBlowup: found complex with smaller boundary: f = [ 15, 74, 118, 59 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 14, 70, 112, 56 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 14, 69, 110, 55 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 14, 68, 108, 54 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 13, 64, 102, 51 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 13, 63, 100, 50 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 13, 62, 98, 49 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 12, 58, 92, 46 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 12, 57, 90, 45 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 12, 56, 88, 44 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 11, 52, 82, 41 ].
    #I  SCBlowup: found complex with smaller boundary: f = [ 11, 51, 80, 40 ].
    #I  SCBlowup: found complex with isomorphic boundaries.
    #I  SCBlowup: ...boundaries mapped succesfully.
    #I  SCBlowup: build complex...
    #I  SCBlowup: ...done.
    #I  SCBlowup: ...blowup completed.
    #I  SCBlowup: You may now want to reduce the complex via 'SCReduceComplex'.
    [SimplicialComplex

     Properties known: Dim, FacetsEx, Name, Vertices.

     Name="unnamed complex 6315 \ star([ 1 ]) in unnamed complex 6315 cup unnamed\
     complex 6319 cup unnamed complex 6317"
     Dim=4

    /SimplicialComplex]
    gap> SCHomology(c);
    [ [ 0, [  ] ], [ 0, [  ] ], [ 6, [ 2, 2, 2, 2, 2 ] ], [ 0, [  ] ], [ 1, [  ] ] ]
    gap> SCHomology(e);
    [ [ 0, [  ] ], [ 0, [  ] ], [ 7, [ 2, 2, 2, 2 ] ], [ 0, [  ] ], [ 1, [  ] ] ]

#### 17.8 Discrete normal surfaces and slicings

For a more detailed description of functions related to discrete normal surfaces and slicings see the Sections 2.4 and 2.5.

    gap> # the boundary of the cyclic 4-polytope with 6 vertices
    gap> c:=SCBdCyclicPolytope(4,6);
    [SimplicialComplex

     Properties known: Dim, EulerCharacteristic, FacetsEx, HasBoundary, Homology,\
     IsConnected, IsStronglyConnected, Name, NumFaces[], TopologicalType, Vertices.

     Name="Bd(C_4(6))"
     Dim=3
     EulerCharacteristic=0
     HasBoundary=false
     Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
     IsConnected=true
     IsStronglyConnected=true
     TopologicalType="S^3"

    /SimplicialComplex]
    gap> # slicing in between the odd and the even vertex labels, a polyhedral torus
    gap> sl:=SCSlicing(c,[[2,4,6],[1,3,5]]);
    [NormalSurface

     Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector,\
     FacetsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name,\
     TopologicalType, Vertices.

     Name="slicing [ [ 2, 4, 6 ], [ 1, 3, 5 ] ] of Bd(C_4(6))"
     Dim=2
     FVector=[ 9, 18, 0, 9 ]
     EulerCharacteristic=0
     IsOrientable=true
     TopologicalType="T^2"

    /NormalSurface]
    gap> sl.Homology;
    [ [ 0, [  ] ], [ 2, [  ] ], [ 1, [  ] ] ]
    gap> sl.Genus;
    1
    gap> sl.F; # the slicing constists of 9 quadrilaterals and 0 triangles
    [ 9, 18, 0, 9 ]
    gap> PrintArray(sl.Facets);
    [ [  [ 2, 1 ],  [ 2, 3 ],  [ 4, 1 ],  [ 4, 3 ] ],
      [  [ 2, 1 ],  [ 2, 3 ],  [ 6, 1 ],  [ 6, 3 ] ],
      [  [ 2, 1 ],  [ 2, 5 ],  [ 4, 1 ],  [ 4, 5 ] ],
      [  [ 2, 1 ],  [ 2, 5 ],  [ 6, 1 ],  [ 6, 5 ] ],
      [  [ 2, 3 ],  [ 2, 5 ],  [ 4, 3 ],  [ 4, 5 ] ],
      [  [ 2, 3 ],  [ 2, 5 ],  [ 6, 3 ],  [ 6, 5 ] ],
      [  [ 4, 1 ],  [ 4, 3 ],  [ 6, 1 ],  [ 6, 3 ] ],
      [  [ 4, 1 ],  [ 4, 5 ],  [ 6, 1 ],  [ 6, 5 ] ],
      [  [ 4, 3 ],  [ 4, 5 ],  [ 6, 3 ],  [ 6, 5 ] ] ]

Further example computations can be found in the slides of various talks about simpcomp, available from the simpcomp homepage (`https://github.com/simpcomp-team/simpcomp`), and in Appendix A of [Spr11a].

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Bib Ind

generated by GAPDoc2HTML