Hello!
I have written a program in Mathematica 7, which calculates for a (finite abstract) simplicial complex all its homology groups. I would really like to test it on the projective spaces, but cannot find a way to triangulate them. There seem to be very few articles on this matter and none of them states directly how the actual triangulations might be achieved, so I turn to MO for help.
How can the real projective spaces $$RP^n \approx B^n/_{x\:\sim-x;\;\; x\in\partial B^n}$$ be triangulated as simplicial complexes? A simplicial complex is presented as a list of simplices that aren't a face of any bigger simplex (the "main simplices"). Each k-simplex is just an ordered list of some k+1 integers.
For example, {0,1,2} is a 2-simplex, as is {1,3,15}, etc. Examples of simplicial complexes: {{0,...,n}} is a n-dimensional ball, {{1,2},{1,3},{2,3}} is an empty triangle, skeleton[{Range[n+2]},n] is a n-sphere, etc.
I have already found a concrete triangulation for the real projective plane, but nothing more general.
It would also be appreciated, that the actual triangulation is reasonably small (not necessarily minimal), so that the program calculates homology groups fast enough. Also, answers in code / pseudocode are much desirable (projectiveSpace[n_]:=???).
P.S. I have already written some functions, which can be used (sc...simplicial complex):
- skeleton[sc,k] ...list of all k-faces of all simplices
- sum[sc1,sc2]...topological sum (disjoint union)
- connected sum[sc1,sc2] ...removes two k-simplicices and adds a tunnel between them
- product[sc1,sc2]...staircase triangulation of a product (reorders the vertices)
- cone[sc]
- suspension[sc]