[GAP Forum] Chin Complexes: The Cylinder

Marc Bogaerts marc.bogaerts at cyclone.be
Mon Jun 21 17:24:53 BST 2010


# The following scheme sketches the 0- ,1- and 2 skeleton of a cyclinder,
# presented as a triangular prism. The vertices are numbered by a label
# preceded by an asterix, the edges are labelled by a number written on it.
#
#
#
#              *6
                /   |  \
#           /     |   \
#          6     |     5
#        /        |       \
#       *4---4--- *5
#        |        |        |
#        |        9       |
#        7       |        8
#        |        *3     |
#        |    /       \     |
#        | 3         2   |
#        |/              \ |
#       *1---1--- *2
# First we construct the 0-skeleton consisting of 6 points

c0:=ChainComplex(0,[1..6]);
dim 0:[ 1 .. 6 ]

# Then the 1-skeleton:

c1:=ChainComplex(1,c0,[[1,2],[2,3],[3,1],[4,5],[5,6],[6,4],[4,1],[5,2],[6,3]]);
dim 0:[ 1 .. 6 ]
dim 1:[ [ 1, -1, 0, 0, 0, 0 ], [ 0, 1, -1, 0, 0, 0 ], [ -1, 0, 1, 0, 0, 
0 ],
  [ 0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ], [ 0, 0, 0, -1, 0, 1 ],
  [ -1, 0, 0, 1, 0, 0 ], [ 0, -1, 0, 0, 1, 0 ], [ 0, 0, -1, 0, 0, 1 ] ]
Basis of 2-cells: [ [ 1, 0, 0, 0, 1, 1, 1, -1, 0 ],
  [ 0, 1, 0, 0, -1, 0, 0, 1, -1 ], [ 0, 0, 1, 0, 0, -1, -1, 0, 1 ],
  [ 0, 0, 0, 1, 1, 1, 0, 0, 0 ] ]

# Note that the software already indicates 5 independent 1-cycles that serve
# as a basis for all the possible cycles that can be promoted to cells.
# but we're only interested in those square faces which make up the
# open cylinder. In fact, we want for each square face, to find a 
combination
# of edges that make up these faces, in such a way that they form a cycle.
# First let's get this set of edges: 1, 8, 4, 7 (the face at the front)

M:=GeneratorsOfBoundaries(0,c1); # a basis for all 1-faces
[ [ 1, -1, 0, 0, 0, 0 ], [ 0, 1, -1, 0, 0, 0 ], [ -1, 0, 1, 0, 0, 0 ], [ 
0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ],
  [ 0, 0, 0, -1, 0, 1 ], [ -1, 0, 0, 1, 0, 0 ], [ 0, -1, 0, 0, 1, 0 ], [ 
0, 0, -1, 0, 0, 1 ] ]
u:=[1..9]*0;
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
faces:=[];
[  ]
# the first face with edges numbered 1,8,4,7
u{[1,8,4,7]}:=[a,b,c,d];
[ a, b, c, d ]
# I previously defined a,b,c,d,... as rational indeterminates;
u;
[ a, 0, 0, c, 0, 0, d, b, 0 ]

# in order to have a 1-cycle we must have u*M = 0, so;
u*M;
[ a-d, -a-b, 0, c+d, b-c, 0 ]

# we can chose a=d=1 giving
u{[1,8,4,7]}:=[1,b,c,1];
[ 1, b, c, 1 ]
u*M;
[ 0, -b-1, 0, c+1, b-c, 0 ]


# so b=-1, and c=-1 :
u{[1,8,4,7]}:=[1,-1,-1,1];
[ 1, -1, -1, 1 ]


u*M;
[ 0, 0, 0, 0, 0, 0 ]
# ok, we found the right combination for the first 2-face
u;
[ 1, 0, 0, -1, 0, 0, 1, -1, 0 ]

Add(faces,u); # two more to go
# next for the face 2,8,5,9:
u:=[1..9]*0;
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
u{[2,8,5,9]}:=[a,b,c,d];
[ a, b, c, d ]
u;
[ 0, a, 0, 0, c, 0, 0, b, d ]


u*M;
[ 0, a-b, -a-d, 0, b+c, -c+d ]
u{[2,8,5,9]}:=[1,1,-1,-1];
[ 1, 1, -1, -1 ]
u*M;
[ 0, 0, 0, 0, 0, 0 ]
u;
[ 0, 1, 0, 0, -1, 0, 0, 1, -1 ]
Add(faces,u); # one more to go
faces;
[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 ] ]

u:=[1..9]*0;
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
u{[3,9,6,7]}:=[a,b,c,d];
[ a, b, c, d ]
u;
[ 0, 0, a, 0, 0, c, d, 0, b ]

u{[3,9,6,7]}:=[1,1,-1,-1];
[ 1, 1, -1, -1 ]
u*M;
[ 0, 0, 0, 0, 0, 0 ]
u;
[ 0, 0, 1, 0, 0, -1, -1, 0, 1 ]
Add(faces,u);
faces;
[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 ], [ 0, 
0, 1, 0, 0, -1, -1, 0, 1 ] ]

# We can now define the open ended cylinder as a chain complex:
c2:=ChainComplex(2,c1,faces);
dim 0:[ 1 .. 6 ]
dim 1:[ [ 1, -1, 0, 0, 0, 0 ], [ 0, 1, -1, 0, 0, 0 ], [ -1, 0, 1, 0, 0, 
0 ], [ 0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ],
  [ 0, 0, 0, -1, 0, 1 ], [ -1, 0, 0, 1, 0, 0 ], [ 0, -1, 0, 0, 1, 0 ], [ 
0, 0, -1, 0, 0, 1 ] ]
dim 2:[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 
], [ 0, 0, 1, 0, 0, -1, -1, 0, 1 ] ]
Basis of 3-cells: [  ]

HomologyGroups(c2);
[ [ 0 ], [ 0 ], [  ] ]
# homotopy type of a circle confirmed
SingularFaces(c2);
[ [ 1, -1, 0, 0, 0, 0 ], [ 0, 1, -1, 0, 0, 0 ], [ -1, 0, 1, 0, 0, 0 ], [ 
0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ],
  [ 0, 0, 0, -1, 0, 1 ] ]

NullspaceIntMat(last);
[ [ 1, 1, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 1, 1 ] ]
# The border has two components.
# This completes the construction of the open ended cylinder. Lets fill 
up one triangle:
u:=[1..9]*0;
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
u{[1,2,3]}:=[a,b,c];
[ a, b, c ]
u;
[ a, b, c, 0, 0, 0, 0, 0, 0 ]
u*M;
[ a-c, -a+b, -b+c, 0, 0, 0 ]

u{[1,2,3]}:=[1,1,1];
[ 1, 1, 1 ]
u;
[ 1, 1, 1, 0, 0, 0, 0, 0, 0 ]

Add(faces,u);
faces;
[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 ], [ 0, 
0, 1, 0, 0, -1, -1, 0, 1 ],
  [ 1, 1, 1, 0, 0, 0, 0, 0, 0 ] ]

c2:=ChainComplex(2,c1,faces);
dim 0:[ 1 .. 6 ]
dim 1:[ [ 1, -1, 0, 0, 0, 0 ], [ 0, 1, -1, 0, 0, 0 ], [ -1, 0, 1, 0, 0, 
0 ], [ 0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ],
  [ 0, 0, 0, -1, 0, 1 ], [ -1, 0, 0, 1, 0, 0 ], [ 0, -1, 0, 0, 1, 0 ], [ 
0, 0, -1, 0, 0, 1 ] ]
dim 2:[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 
], [ 0, 0, 1, 0, 0, -1, -1, 0, 1 ],
  [ 1, 1, 1, 0, 0, 0, 0, 0, 0 ] ]
Basis of 3-cells: [  ]

SingularFaces(c2);
[ [ 0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ], [ 0, 0, 0, -1, 0, 1 ] ]

NullspaceIntMat(last);
[ [ 1, 1, 1 ] ]
# only one border component

HomologyGroups(c2);
[ [ 0 ], [  ], [  ] ]
# contractible
# Now we fill up the other end:
u:=[1..9]*0;
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
u{[4,5,6]}:=[a,b,c];
[ a, b, c ]
u*M;
[ 0, 0, 0, a-c, -a+b, -b+c ]

u{[4,5,6]}:=[1,1,1];
[ 1, 1, 1 ]
u;
[ 0, 0, 0, 1, 1, 1, 0, 0, 0 ]
Add(faces,u);
faces;
[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 ], [ 0, 
0, 1, 0, 0, -1, -1, 0, 1 ],
  [ 1, 1, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 1, 1, 0, 0, 0 ] ]
c2:=ChainComplex(2,c1,faces);
dim 0:[ 1 .. 6 ]
dim 1:[ [ 1, -1, 0, 0, 0, 0 ], [ 0, 1, -1, 0, 0, 0 ], [ -1, 0, 1, 0, 0, 
0 ], [ 0, 0, 0, 1, -1, 0 ], [ 0, 0, 0, 0, 1, -1 ],
  [ 0, 0, 0, -1, 0, 1 ], [ -1, 0, 0, 1, 0, 0 ], [ 0, -1, 0, 0, 1, 0 ], [ 
0, 0, -1, 0, 0, 1 ] ]
dim 2:[ [ 1, 0, 0, -1, 0, 0, 1, -1, 0 ], [ 0, 1, 0, 0, -1, 0, 0, 1, -1 
], [ 0, 0, 1, 0, 0, -1, -1, 0, 1 ],
  [ 1, 1, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 1, 1, 0, 0, 0 ] ]
Basis of 3-cells: [ [ 1, 1, 1, -1, 1 ] ]

# Mark that the 2-cells now form a 2-cycle.

HomologyGroups(c2);
[ [ 0 ], [  ], [ 0 ] ]

# homotopytype of the 2-sphere confirmed
SingularFaces(c2);
[  ]

# no borders




More information about the Forum mailing list