Hello Martin Really amazing! I'll pull your code tomorrow (it's quite comprehensive on first sight) to do some tests. In an instant I'd suggest to compare with GAP or you'll find a lot of examples using the links below:
* http://felix.physics.sunysb.edu/~abanov/Teaching/Spring2009/Notes/abanov-cpA1-upload.pdf * http://www.gap-system.org/Manuals/pkg/Hap1.9/doc/chap6.html * http://msp.org/agt/2010/10-1/agt-v10-n1-p18-s.pdf (hard) * https://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/ * http://chomp.rutgers.edu/Projects/Computational_Homology/OriginalCHomP/software/ * http://www.swmath.org/?term=homology%20computation Thanks & Greetings Kurt Am 30.06.2016 um 17:50 schrieb Martin Baker: > 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.
