bugs now fixed.

I have updated my groupPresentation.spad and algebraictopology.spad files to fix the bug with homotopy of cubical complexes. The simplicial and cubical examples now give the same results as shown below.

I have also reordered the domain definitions as suggested by Waldek so that it now only requires one $bootStrapMode pass to compile correctly. (I am still curious why it did not work before - I thought that one $bootStrapMode pass would set all function signatures and allow me to define in any order?).

I have also removed some of the scaffolding used during construction, improved the documentation and formatting. Including removing trailing spaces (just in case Waldek might like to include with FriCAS).

Martin B

(1) -> cube2 := sphereSolid(2)$CubicalComplexFactory

   (1)
        (1..2,1..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(2) -> fundamentalGroup(cube2)

   (2)  <  |  >
                             Type: GroupPresentation
(3) -> triangle2 := sphereSolid(2)$SimplicialComplexFactory

   (3)
        (1,2,3)
     Type: FiniteSimplicialComplex(VertexSetAbstract)
(4) -> fundamentalGroup(triangle2)

   (4)  <  |  >
                             Type: GroupPresentation

(5) -> cube3 := sphereSolid(3)$CubicalComplexFactory

   (5)
        (1..2,1..2,1..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(6) -> fundamentalGroup(cube3)

   (6)  <  |  >
                             Type: GroupPresentation
(7) -> triangle3 := sphereSolid(3)$SimplicialComplexFactory

   (7)
        (1,2,3,4)
    Type: FiniteSimplicialComplex(VertexSetAbstract)
(8) -> fundamentalGroup(triangle3)

   (8)  <  |  >
                             Type: GroupPresentation

(9) -> cube2s := sphereSurface(2)$CubicalComplexFactory

   (9)
        -(1..1,1..2)
        (2..2,1..2)
        (1..2,1..1)
        -(1..2,2..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(10) -> fundamentalGroup(cube2s)

   (10)  <d |  >
                             Type: GroupPresentation
(11) -> triangle2s := sphereSurface(2)$SimplicialComplexFactory

   (11)
         (1,2)
         -(1,3)
         (2,3)
     Type: FiniteSimplicialComplex(VertexSetAbstract)
(12) -> fundamentalGroup(triangle2s)

   (12)  <c |  >
                             Type: GroupPresentation

(13) -> cube3s := sphereSurface(3)$CubicalComplexFactory

   (13)
         -(1..1,1..2,1..2)
         (2..2,1..2,1..2)
         (1..2,1..1,1..2)
         -(1..2,2..2,1..2)
         -(1..2,1..2,1..1)
         (1..2,1..2,2..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(14) -> fundamentalGroup(cube3s)

   (14)  <  |  >
                             Type: GroupPresentation
(15) -> triangle3s := sphereSurface(3)$SimplicialComplexFactory

   (15)
         (1,2,3)
         -(1,2,4)
         (1,3,4)
         -(2,3,4)
    Type: FiniteSimplicialComplex(VertexSetAbstract)
(16) -> fundamentalGroup(triangle3s)

   (16)  <  |  >
                             Type: GroupPresentation

(17) -> ctorus := torusSurface()$CubicalComplexFactory

   (17)
         (1..1,1..2,1..1,1..2)
         (1..1,1..2,2..2,1..2)
         (1..1,1..2,1..2,1..1)
         (1..1,1..2,1..2,2..2)
         (2..2,1..2,1..1,1..2)
         (2..2,1..2,2..2,1..2)
         (2..2,1..2,1..2,1..1)
         (2..2,1..2,1..2,2..2)
         (1..2,1..1,1..1,1..2)
         (1..2,1..1,2..2,1..2)
         (1..2,1..1,1..2,1..1)
         (1..2,1..1,1..2,2..2)
         (1..2,2..2,1..1,1..2)
         (1..2,2..2,2..2,1..2)
         (1..2,2..2,1..2,1..1)
         (1..2,2..2,1..2,2..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(18) -> fundamentalGroup(ctorus)

                       - 1         - 1
   (18)  <x z d1 |   d1   *x*z,  d1   *z*x>

                             Type: GroupPresentation
(19) -> storus := 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)
(20) -> fundamentalGroup(storus)

                       - 1          - 1
   (20)  <o t w |   o*w   *t,  o*t*w   >

                             Type: GroupPresentation

(21) -> cband := band()$CubicalComplexFactory

   (21)
         (1..1,1..2,1..2)
         (2..2,1..2,1..2)
         (1..2,1..1,1..2)
         (1..2,2..2,1..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(22) -> fundamentalGroup(cband)

   (22)  <m |  >
                             Type: GroupPresentation
(23) -> sband := band()$SimplicialComplexFactory

   (23)
         (1,2,3)
         (1,2,6)
         (1,5,6)
         (2,3,4)
         (3,4,5)
         (4,5,6)
    Type: FiniteSimplicialComplex(VertexSetAbstract)
(24) -> fundamentalGroup(sband)

   (24)  <m |  >
                             Type: GroupPresentation

(25) -> cproj := projectivePlane()$CubicalComplexFactory

   (25)
         (1..2,1..1,1..1,1..2,1..1)
         (1..2,1..1,1..1,1..1,1..2)
         (1..1,1..2,1..2,1..1,1..1)
         (1..1,1..2,1..1,1..2,1..1)
         (1..1,1..1,1..2,1..1,1..2)
         (1..2,1..2,2..2,1..1,1..1)
         (1..2,2..2,1..2,1..1,1..1)
         (2..2,1..2,1..2,1..1,1..1)
         (1..2,1..2,1..1,1..1,2..2)
         (1..2,2..2,1..1,1..1,1..2)
         (2..2,1..2,1..1,1..1,1..2)
         (1..2,1..1,1..2,2..2,1..1)
         (1..2,1..1,2..2,1..2,1..1)
         (2..2,1..1,1..2,1..2,1..1)
         (1..1,1..2,1..1,1..2,2..2)
         (1..1,1..2,1..1,2..2,1..2)
         (1..1,2..2,1..1,1..2,1..2)
         (1..1,1..1,1..2,1..2,2..2)
         (1..1,1..1,1..2,2..2,1..2)
         (1..1,1..1,2..2,1..2,1..2)
       Type: FiniteCubicalComplex(VertexSetAbstract)
(26) -> fundamentalGroup(cproj)

   (26)  <i1 |   i1*i1>
                             Type: GroupPresentation
(27) -> sproj := projectivePlane()$SimplicialComplexFactory

   (27)
         (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)
(28) -> fundamentalGroup(sproj)

   (28)  <p |   p*p>
                             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
)boot $bootStrapMode := false
)co algebraictopology

--
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