I have few questions about Cohomology, all related to each other. Please assume I have minimal knowledge of the subject and I need to have even basic things explained.

1) What is Cohomology? On the most basic level, what do we try to achieve by it? Why is it the "co" of Homology?

2) What does "different ways to do cohomology" means?

3) What is "simplicial" cohomolgy and "cohomology using differential forms"? How can we use triangulation of a manifold or differential forms to do "cohomology"?

4) What does it mean to say that "two different ways of doing cohomology are equivalent"? Specifically, what does De-Rham theorem, which connects between cohomology using triangulations and cohomology using differential forms, say?

5) How is the categorical notion of "natural equivalence" is related to all of this?

Thank you very much!!

  • $\begingroup$ in my opinion if you really want to understand it, go to ncatlab.org/nlab/show/cohomology#Definition and read all the links until they become clear $\endgroup$
    – Adam
    May 25, 2017 at 16:19
  • $\begingroup$ I particularly like the idea section on that same page. $\endgroup$ May 25, 2017 at 16:24
  • 17
    $\begingroup$ I dearly hope that the link to ncatlab as a suggestion for someone with 'minimal knowledge of the subject' is sarcastic. $\endgroup$ May 25, 2017 at 16:37
  • 2
    $\begingroup$ Maybe you should precise more about your background, for example do you know what is homology ? Asking more specific question can also help potential answerer to be more precise as the subject is very broad. $\endgroup$
    – user171326
    May 25, 2017 at 17:45
  • 9
    $\begingroup$ @Omnomnomnom, that these are comments is not justification for giving what is obviously misleading information! $\endgroup$ May 25, 2017 at 23:13

1 Answer 1


Some very basic answers, with the aim of giving you an idea of the big picture:

On the most basic level, you can think of cohomology as a fancy way of counting/classifying holes in an underlying space (although modern offshoots are a bit more general). There are many versions of cohomology which all use the same basic approach, but the most intuitive version for someone who has gone through the usual calculus sequence along with linear algebra and some basic analysis is de Rham cohomology. Homology came first and its goal/description is pretty much the same. The reason for the "co" is that the cohomology is attained (or at least can be attained) by "reversing the arrows" of the homology.

In every version of homology, we have a chain-complex and a $\partial$ operator: $$ \cdots \to C_{i+1} \overset{\partial_{i+1}}\to C_i \overset{\partial_{i}}\to C_{i-1} \to \cdots $$ Intuitively, each $C_i$ is meant to encode the $i$-dimensional properties of the space, and the $\partial$ operator takes us from an $i$-dimensional object to an $(i-1)$-dimensional object. The $C_i$ will always be module over some (usually commutative) ring $R$, and the $\partial$s are module homomorphisms. In many versions, the $C_i$ are $\Bbb Z$-modules (abelian groups). In some versions, the $C_i$ are modules over a field (vector spaces). Whatever $C_i$ happens to be, it makes sense to look at the dual object $C_i^* = \operatorname{Hom}(C_i,R)$.

From the homology, looking at those "dual spaces" gives us a co-chain-complex $$ \cdots \to C_{i-1}^* \overset{d_{i-1}}\to C_i^* \overset{d_i} \to C_{i+1}^* \to \cdots $$ and this is what one studies in cohomology. Again, each $C_i^*$ encodes the $i$-dimensional properties of the space. $d_{i-1}$ here is the adjoint to $\partial_i$.

I think the most intuitive thing at this point is to look at some examples and see how homology/cohomology does its job of detecting holes. I will be as informal as possible.

In singular homology, the elements $C_n$ are $n$-dimensional "hole-free blobs" (actually, formal sums thereof). In order to take an $n$-dimensional blob and produce an $(n-1)$-dimensional blob, the $\partial$ operator produces the boundary of whichever blob you put in. So, for instance: in $2$-dimensional space, if $\sigma$ encodes a filled-in square, then $\partial(\sigma)$ is (a formal sum which encodes) the perimeter of that square. If $\sigma$ is a line segment, then $\partial(\sigma)$ encodes the endpoints of that line segment. If $\sigma$ is a closed loop (such as our square perimeter from earlier), then $\partial(\sigma)$ is $0$ since there is no boundary.

Note that, whatever your blob, applying $\partial$ twice produces zero. This is an important property behind any system of homology.

So how do we detect holes? We ask the question: for $\sigma \in C_i$, does $\partial(\sigma) = 0$ imply that $\sigma = \partial(\sigma_0)$ for some $\sigma_0 \in C_{i+1}$? In a hole-free space, the answer will be yes. When the answer isn't yes, we know that there's a hole. For our space, let's consider $S = \Bbb R^3 \setminus \{0\}$ ($3$-dimensional space with the origin removed). Suppose that $\sigma$ is sphere centered at the origin. Then $\sigma$ is a $2$-dimensional hole-free blob with $\partial \sigma = 0$. However, there is no $3$-D blob whose boundary is $\sigma$. In particular, any such blob whose boundary is our $\sigma$ would either have to include the disallowed point $0$, or would have a hole in it at $0$. Because such a blob does not exist, we conclude that $S$ contains a hole. In particular, the second homology group satisfies $$ H_2(S) = \ker(\partial_{2})/\operatorname{im}(\partial_{3}) \neq 0 $$ I hope that clears things up a little.

  • 3
    $\begingroup$ Something I'd have answered if I had time is "how does de Rham cohomology detect holes"? This is a question worth investigating. $\endgroup$ May 25, 2017 at 17:18
  • 3
    $\begingroup$ This answer was very helpful for me. Thanks for writing it. $\endgroup$
    – MJD
    Oct 16, 2017 at 15:49
  • 2
    $\begingroup$ You should write textbooks. I don’t think enough textbooks take the time to provide intuition like this. $\endgroup$
    – Joe
    Jul 5, 2020 at 11:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.