Let $\mathcal{M}_r$ be the set of $n \times m$ matrices over $\mathbb{R}$ or $\mathbb{C}$ of rank $r$. What is the Euler characteristic of $\mathcal{M}_r$? Can someone point me towards a reference for this calculation?

6$\begingroup$ Over $\mathbb C$, this should be zero unless $r=0$ because the circle group acts freely on this manifold via multiplication by unit complex numbers. Maybe it's zero over $\mathbb R$ as long as $r\geq 2$ as well. $\endgroup$– Will SawinNov 7 '20 at 2:07

2$\begingroup$ @WillSawin running the same argument over $\mathbb R$ shows that for $r> 0$, the Euler characteristic is even. $\endgroup$– Arun DebrayNov 7 '20 at 2:17
$\mathcal M_r$ can be described as a fiber bundle over the product $Gr(r,n) \times Gr(r,m)$ of the Grassmanian of $r$dimensional subspaces in an $n$dimensional vector space with the Grassmanian of $r$dimensional subspaces in an $m$dimensional vector space, where the fibers are all isomorphic to $GL_r$. (These are vector spaces over the field $\mathbb C$ or $\mathbb R$ as appropriate.) So its Euler characteristic is $$\chi( Gr(r,n) ) \chi( Gr(r,m)) \chi(GL_r).$$
Over the complex numbers $\chi ( GL_r(\mathbb C))=0$ for $r>0$, making the product zero, and for $r=0$ the space $\mathcal M_r$ is a point, with Euler characteristic $1$.
Over the real numbers, $\chi(GL_r(\mathbb R))$ may be calculated by observing that $GL_r (\mathbb R)$ maps to $\mathbb R^r  \{0\}$ by a fibration whose fibers are all $\mathbb R^{r1}$bundles over $GL_{r1}(\mathbb R)$, so $$ \chi(GL_r(\mathbb R))=\chi(GL_{r1}(\mathbb R)) \chi ( \mathbb R^r  \{0 \} ) $$ which is $0$ for $r \geq 2$ since $\mathbb R^2  \{0\}$ has Euler characteristic zero.
So the product vanishes for $r \geq 2$ and is $1$ for $r=0$.
Finally, for $r=1$, $\chi(GL_1(\mathbb R))=2$, and $Gr(1,n) = \mathbb R \mathbb P^{n1}$ which has Euler characteristic $\frac{ 1 + (1)^{n1} }{2}$, so $$\chi (\mathcal M_1) = \frac{ (1+ (1)^{n1} ) (1+ (1)^{m1} ) }{ 2} $$ and is always even, as Arun Debray noted.