MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In singular (co)homology, if $\alpha\in C^*(X)$ and $x\in C_*(X)$, then the cap product $\alpha \cap x$ is generally defined by the following process:

  1. Apply to $x$ the diagonal map $C_*(X)\to C_*(X\times X)$ followed by some choice of Alexander-Whitney chain equivalence $ C_*(X\times X)\to C_*(X)\otimes C_*(X)$ to obtain an element $\sum y_i\otimes z_i$.

  2. Apply $\alpha$ to $\sum y_i\otimes z_i$ by the slant product, or, in other words and roughly speaking, apply $\alpha$ to ``half of the factors''.

  3. Depending on your favorite conventions (and what you're trying to accomplish), there may also be a sign (which might also be part of your definition of the slant product - but let's ignore this).

The reason I'm being so cagey with wording in part 2 is directly related to my question: In almost all major textbook sources I have consulted, step 2 is performed by forming $\sum y_i \alpha(z_i)$, which strikes me as somewhat unnatural, forcing the $\alpha$, which starts off on the left to jump all the way over the $y_i$ terms to get to the $z_i$ terms on the right. Is there a good mathematical reason for this convention? Why not define the cap product to be $\sum \alpha(y_i) z_i$?

The one major exception to this convention seems to be Hatcher. He does form $\sum \alpha(y_i) z_i$, but he also writes cap products as $x\cap \alpha$, so his cochain also has to jump, but it jumps over the $z$s instead!

(For the record, I'm not asking this question out of idle pickiness. Jim McClure and I have been doing a lot of work with cap products recently, and we're trying to be consistent amongst various conventions for various issues, but preferably with good reasons thrown in!)

share|cite|improve this question
The reason for the convention is that, using the Alexander-Whitney convention, you get a left module structure if you apply to the righthand factor and you get a right module structure if you apply to the lefthand factor. Fun related topics include trying to get the signs correct on the dual of a differential graded coalgebra. – Tyler Lawson Aug 26 '10 at 1:59
This is something which bothered me too (and probably loads of other people), so thanks for the question! I wish we had one straight convention which everyone followed throughout, or at least a small number thereof. It would be great to have an automated "convention translator" for these signs and so on, otherwise it's hell trying to cite results out of various papers and make sure their sign conventions agree with yours (and often they do not). – Daniel Moskovich Aug 26 '10 at 2:06
Tell me about it. Jim and I have spent hours, if not days, of our lives trying to get signs to work out. – Greg Friedman Aug 26 '10 at 4:21
up vote 8 down vote accepted

This is just an expanded version of Tyler's comment, I think.

Let's use a, b, c for cochains, x, y, z for chains, [a,x] for the value of a cochain on a chain. I'll be lazy and write $ab$ for $a\cup b$ and $ax$ for $a\cap x$. Let $[a\otimes b,y\otimes z]=(-1)^{|b||y|}[a,y][b,z]$.

I like to define $bx$ in such a way that $[a,bx]$ is $[ab,x]$. Then associativity and unit of cup makes cap into a module structure: $(bc)x=b(cx)$ because $[a,(bc)x]=[a(bc),x]=[(ab)c,x]=[ab,cx]=[a,b(cx)]$, and $1x=x$ follows from $[a,1x]=[a1,x]=[a,x]$.

If you have a product $a\otimes b\mapsto ab$ of cochains and a coproduct of chains defined in such a way that $[ab,x]=[a\otimes b,y_i\otimes z_i]$ where the coproduct of $x$ is $\Sigma y_i\otimes z_i$, then that means I have to define $bx$ to be $\Sigma (-1)^{|y_i||b|}[b,z_i]y_i$, so as to get

$[a,bx]=[ab,x]=[a\otimes b,\Sigma y_i\otimes z_i]=\Sigma (-1)^{|y_i||b|}[a,y_i][b,z_i]=[a,\Sigma (-1)^{|y_i||b|}[b,z_i]y_i]$.

The sign is a bit unexpected, as is the jump you mention, but it's worth it for the neat formulas in the third paragraph above.

It's not a bad idea to define $xa$ as well. I'd do it by first declaring $[x,a]$ to be $(-1)^p[a,x]$ when $a$ is a $p$-cochain and $x$ is a $p$-chain, then defining $xa$ in such a way that $[xa,b]=[x,ab]$. This insures $x(ab)=(xa)b$ and $x1=x$. The chain-level formula is no better and no worse than the formula for $ax$.

Of course, $ax$ and $xa$ end up differing only by a sign when you get to homology, but the sign is hard to remember; in working it out you have to use the commutativity law for the cup product.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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