GAP (simpcomp) - Chapter 10: Simplicial blowups

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]

10 Simplicial blowups
10.1 Theory
10.2 Functions related to simplicial blowups
10.2-1 SCBlowup
10.2-2 SCMappingCylinder

### 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 \(\mathbb{R}P^3\), \(S^2 \times 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 \(\mathbb{R}P^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`\() = \mathbb{R}P^3\)) the blowup of `pseudomanifold` at `singularity` is computed. If it is a singularity of type \(S^2 \times S^1\), \(S^2 \dtimes S^1\) or \(L(k,1)\), \(k \leq 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 \(\mathbb{C}P^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