# cohomology ring of compact submanifolds of Euclidean spaces

Suppose we have a compact $m$-dimensional submanifold $M$ of $\mathbb{R}^N$ and we want to know the cohomology ring $H^*(M;\mathbb{Z})$.

Let $\epsilon>0$ and a $m$-dimensional finite simplicial complex $K$ be a trangulation of $M$ such that all the simplices of $K$ have diameters less than $\epsilon$. Then since $M$ is compact, there exists $\epsilon_0>0$ such that for any $\epsilon<\epsilon_0$, $$H^*(K;\mathbb{Z})=H^*(M;\mathbb{Z}).$$ There is a standard algorithm to compute $H^*(K;\mathbb{Z})$. Hence we have an algorithm to compute $H^*(M;\mathbb{Z})$.

Question: are there any software / programming that can give the cohomology ring $H^*(M)$ automatically for any compact submanifold of Euclidean spaces, given by finitely many equations of coordinates?

• No. But if you restrict to very special equations, like, say, linear equations the answer would be yes. There are affirmative answers for reasonable algebraic equations as well, although the extent to which the algorithms have been implemented in software depends on the exact nature of your question, which you have left a little vague. Jan 3, 2016 at 6:40
• @RyanBudney What about the following algorithm? Construct an $\epsilon$ lattice for $\epsilon$ very small, and for all lattice points in a sufficiently large cube test if the lattice point is within $\delta$ of a solution to the equations (there are numerical algorithms which do this so long as the functions defining the equations are piecewise smooth). Then build $K$ using the lattice points which pass the test. Jan 3, 2016 at 13:14
• @PaulSiegel: that would give you an approximation. You'd need the equations to be amenable to some automatic way of determining $\epsilon$ to make the approximation faithful on cohomology. Jan 4, 2016 at 3:16
• You did ask a very similar question before, and you should refer to it: mathoverflow.net/questions/199641/… @RyanBudney This gives an example of a set of (quadratic) equations that the OP is interested in. Is there some kind of software that you know that can compute this example? Jan 4, 2016 at 11:08