Topological Aspects of Simplicial Complexes

On this page we look at topological aspects of simplicial complexes such as boundaries and cycles.

The algorithms here assume that the simplexes (faces) are wound in a consistent way. To illustrate this we will take an example:

Here we have two triangles joined by an adjacent side.

The arrows show the order that the vertices indexes are listed. It is important that they are defined in a consistent way. Here all triangles go anticlockwise.

So the arrows on the adjacent line go in opposite directions. We interpret this as allowing us to cancel out these arrows.

This leaves the boundary shown in red:

boundary
We can use the code to do this as follows:
(1) ->   ASIMP := FiniteSimplicialComplex(Integer)

   (1)  FiniteSimplicialComplex(Integer)
                                               Type: Type
(2) ->   v1:List(List(NNI)) := [[1::NNI,2::NNI,3::NNI],[4::NNI,2::NNI,1::NNI]]

   (2)  [[1,2,3],[4,2,1]]
                     Type: List(List(NonNegativeInteger))
(3) ->   sc1 := simplicialComplex([],4,v1)$ASIMP

   (3)  points 1..4
          (1,2,3)
         -(1,2,4)
                   Type: FiniteSimplicialComplex(Integer)
(4) ->   boundary(sc1)$ASIMP

   (4)  points 1..4
          -(1,3)
           (2,3)
           (1,4)
          -(2,4)
                   Type: FiniteSimplicialComplex(Integer)
In the case of a single line its boundary is the end points. As shown here:
(5) ->  v2:List(List(NNI)) := [[1::NNI,2::NNI]]

   (5)  [[1,2]]
                     Type: List(List(NonNegativeInteger))
(6) ->  sc2 := simplicialComplex([],2,v2)$ASIMP

   (6)  points 1..2
           (1,2)
                   Type: FiniteSimplicialComplex(Integer)
(7) ->  boundary(sc2)$ASIMP

   (7)  points 1..2
            (1)
           -(2)
                   Type: FiniteSimplicialComplex(Integer)

 

flag flag flag flag flag flag Graphs, Surfaces and Homology - Peter Giblin.
Builds up to homology groups via graphs and simplicial complexes.

 

 

 

 

 

 

 


metadata block
see also:
  • I have put the code here.
Correspondence about this page

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.