Does anyone have any validated examples that I could use to check my homology (using Waldeks method) and homotopy code?

Below are some examples of homology and homotopy from simplicial and cubical complexes. I think the results are starting to look quite promising. There is obviously a problem with the homotopy since fundamental group is giving a different result for triangle and square. Looks like there is also a problem with projective plane since this gives [Z,C2,0] but sage gives:
RP4 = simplicial_complexes.RealProjectiveSpace(2)
RP4.homology()
{0: 0, 1: C2, 2: 0}

I would appreciate any help to improve and validate the code.

Here are some results from my SPAD code:
(Note: low dimensions are on the left)

fillTriangle := sphereSolid(2)$SimplicialComplexFactory

   (1)
        (1,2,3)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(fillTriangle)

   (2)  [Z,0,0]
                                     Type: List(Homology)
fundamentalGroup(fillTriangle)

   (3)  <  |  >
                                  Type: GroupPresentation
fillSquare := sphereSolid(2)$CubicalComplexFactory

   (4)
        (1..2,1..2)
                      Type: FiniteCubicalComplex(VertexSetAbstract)
homology(fillSquare)

   (5)  [Z,0,0]
                                     Type: List(Homology)
fundamentalGroup(fillSquare)

   (6)  <d |  >
                                  Type: GroupPresentation
fillTetra := sphereSolid(3)$SimplicialComplexFactory

   (7)
        (1,2,3,4)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(fillTetra)

   (8)  [Z,0,0,0]
                                     Type: List(Homology)
fundamentalGroup(fillTetra)

   (9)  <  |  >
                                  Type: GroupPresentation
fillCube := sphereSolid(3)$CubicalComplexFactory

   (10)
         (1..2,1..2,1..2)
                      Type: FiniteCubicalComplex(VertexSetAbstract)
homology(fillCube)

   (11)  [Z,0,0,0]
                                     Type: List(Homology)
fundamentalGroup(fillCube)

               - 1
   (12)  <k l m n |   m*l   *k>

                                  Type: GroupPresentation
triangle := sphereSurface(2)$SimplicialComplexFactory

   (13)
         (1,2)
         -(1,3)
         (2,3)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(triangle)

   (14)  [Z,Z]
                                     Type: List(Homology)
fundamentalGroup(triangle)

   (15)  <c |  >
                                  Type: GroupPresentation
tetra := sphereSurface(3)$SimplicialComplexFactory

   (16)
         (1,2,3)
         -(1,2,4)
         (1,3,4)
         -(2,3,4)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(tetra)

   (17)  [Z,0,Z]
                                     Type: List(Homology)
fundamentalGroup(tetra)

   (18)  <  |  >
                                  Type: GroupPresentation
torus := torusSurface()$SimplicialComplexFactory

   (19)
         (1,2,3)
         (2,3,5)
         (2,4,5)
         (2,4,7)
         (1,2,6)
         (2,6,7)
         (3,4,6)
         (3,5,6)
         (3,4,7)
         (1,3,7)
         (1,4,5)
         (1,4,6)
         (5,6,7)
         (1,5,7)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(torus)

   (20)  [Z,Z*2,Z]
                                     Type: List(Homology)
fundamentalGroup(torus)

             - 1          - 1
   (21)  <o t w |   o*w   *t   o*t*w   >

                                  Type: GroupPresentation
proj := projectivePlane()$SimplicialComplexFactory

   (22)
         (1,2,3)
         (1,3,4)
         (1,2,6)
         (1,5,6)
         (1,4,5)
         (2,3,5)
         (2,4,5)
         (2,4,6)
         (3,4,6)
         (3,5,6)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(proj)

   (23)  [Z,C2,0]
                                     Type: List(Homology)
fundamentalGroup(proj)

   (24)  <p |   p*p>
                                  Type: GroupPresentation
klein := kleinBottle()$SimplicialComplexFactory

   (25)
         (3,4,8)
         (2,3,4)
         (2,4,6)
         (2,6,8)
         (2,5,8)
         (3,5,7)
         (2,3,7)
         (1,2,7)
         (1,2,5)
         (1,3,5)
         (4,5,8)
         (4,5,7)
         (4,6,7)
         (1,6,7)
         (1,3,6)
         (3,6,8)
                   Type: FiniteSimplicialComplex(VertexSetAbstract)
homology(klein)

   (26)  [Z,Z+C2,0]
                                     Type: List(Homology)
fundamentalGroup(klein)

             - 1
   (27)  <v w z |   w*z   *v   v*z*w>

                                  Type: GroupPresentation


If anyone would like to try the code it is in usual place:

https://github.com/martinbaker/multivector/blob/master/logic.spad
https://github.com/martinbaker/multivector/blob/master/graph.spad
https://github.com/martinbaker/multivector/blob/master/groupPresentation.spad
https://github.com/martinbaker/multivector/blob/master/algebraictopology.spad

Then compile as follows:

)boot $createLocalLibDb:=false
)co logic
)co graph
)co groupPresentation
)boot $bootStrapMode := true
)co algebraictopology
)co algebraictopology
)boot $bootStrapMode := false
)co algebraictopology

Martin B

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to