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]

2more comments