Hello!

Let X be a topological space. We are considering only abstract simplicial complexes, i.e. a finite list of finite lists of integers. **Is there any algorithm (more or less efficient?), that would for a given triangulation of X produce another SMALLER simplicial complex, that is also homeomorphic to X?**

My main need for such an algorithm is coming from the desire to implement a more efficient algorithm for computing **homology** of a space.

The algorithm doesn't need to produce a minimal triangulation (not at all), but it has to be fast enough that it can be used in my homology program (faster than the integer smith normal form algorithm).

Currently, the f vector of my triangulation of e.g. the 4-torus is {81, 1215, 4050, 4860, 1944}, and of the 5-torus is {243, 7533, 43740, 94770, 87480, 29160}, which is ridiculously large (I used the staircase triangulation of the product to construct torii). So there is a great need to decrease size of the triangulation without losing topological information.

I have searched the literature and ended up empty handed...

P.S. code in Mathematica would be ideal, but I'd be happy with (pseudo)code of any sort.