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] 

10 Simplicial blowups
 10.1 Theory
 10.2 Functions related to simplicial blowups

10 Simplicial blowups

10.1 Theory

In this chapter functions are provided to perform simplicial blowups as well as the resolution of isolated singularities of certain types of combinatorial 4-manifolds. As of today singularities where the link is homeomorphic to RP^3, S^2 × S^1, S^2 dtimes S^1 and the lens spaces L(k,1) are supported. In addition, the program provides the possibility to hand over additional types of mapping cylinders to cover other types of singularities.

Please note that the program is based on a heuristic algorithm using bistellar moves. Hence, the search for a suitable sequence of bistellar moves to perform the blowup does not always terminate. However, especially in the case of ordinary double points (singularities of type RP^3), a lot of blowups have already been successful. For a very short introduction to simplicial blowups see 2.8, for further information see [SK11].

10.2 Functions related to simplicial blowups

10.2-1 SCBlowup
‣ SCBlowup( pseudomanifold, singularity[, mappingCyl] )( property )

Returns: simplicial complex of type SCSimplicialComplex upon success, fail otherwise.

If singularity is an ordinary double point of a combinatorial 4-pseudomanifold pseudomanifold (lk(singularity) = RP^3) the blowup of pseudomanifold at singularity is computed. If it is a singularity of type S^2 × S^1, S^2 dtimes S^1 or L(k,1), k ≤ 4, the canonical resolution of singularity is computed using the bounded complexes provided in the source code below.

If the optional argument mappingCyl of type SCIsSimplicialComplex is given, this complex will be used to to resolve the singularity singularity.

Note that bistellar moves do not necessarily preserve any orientation. Thus, the orientation of the blowup has to be checked in order to verify which type of blowup was performed. Normally, repeated computation results in both versions.

 gap> SCLib.SearchByName("Kummer variety");
 [ [ 519, "4-dimensional Kummer variety (VT)" ] ]
 gap> c:=SCLib.Load(last[1][1]);;                
 gap> d:= 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, 65, 104, 52 ].
 #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 = [ 13, 61, 96, 48 ].
 #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 = [ 12, 55, 86, 43 ].
 #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: unnamed complex 2735 \ star([ 1 ]) in unnamed complex 2735\
  cup unnamed complex 2739 cup unnamed complex 2737 | dim = 4 | n = 39>
 
 
 gap> # resolving the singularities of a 4 dimensional Kummer variety
 gap> SCLib.SearchByName("Kummer variety");
 [ [ 519, "4-dimensional Kummer variety (VT)" ] ]
 gap> c:=SCLib.Load(last[1][1]);;
 gap> for i in [1..16] do
        for j in SCLabels(c) do 
          lk:=SCLink(c,j);
          if lk.Homology = [[0],[0],[0],[1]] then continue; fi; 
          singularity := j; break;
        od;
        c:=SCBlowup(c,singularity); 
      od;
 gap> d.IsManifold;
 true
 gap> d.Homology;
 [ [ 0, [ ] ], [ 0, [ ] ], [ 22, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ]
 

10.2-2 SCMappingCylinder
‣ SCMappingCylinder( k )( function )

Returns: simplicial complex of type SCSimplicialComplex upon success, fail otherwise.

Generates a bounded version of CP^2 (a so-called mapping cylinder for a simplicial blowup, compare [SK11]) with boundary L(k,1).

 gap> mapCyl:=SCMappingCylinder(3);;
 gap> mapCyl.Homology;              
 [ [ 0, [  ] ], [ 0, [  ] ], [ 1, [  ] ], [ 0, [  ] ], [ 0, [  ] ] ]
 gap> l31:=SCBoundary(mapCyl);;
 gap> l31.Homology;
 [ [ 0, [  ] ], [ 0, [ 3 ] ], [ 0, [  ] ], [ 1, [  ] ] ]
 
 [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