How to find basis of a de Rham Cohomology group? For example, we know that $H^1_{dR}(\mathbb{R}^2-\{p,q\})=\mathbb{R}^2$ where $p,q$ are two points, say $(-1,0),(1,0)$. But how can we find the basis of this cohomology group? I think I need to find two closed but not exact 1-forms that are not homologous, but how should I do that?
 A: One approach is the following. The source of this idea is the Mayer-Vietoris exact sequence, but we'll construct an explicit basis, so you can skip that part.
Mayer-Vietoris
Let $U=\newcommand\RR{\mathbb{R}}\RR^2-\newcommand\set[1]{\{#1\}}\set{p}$, $V=\RR^2-\set{q}$. Then $U\cup V = \RR^2$ and $U\cap V = \RR^2-\set{p,q}$. By the Mayer-Vietoris exact sequence, we have the exact sequence 
$$H^1(\RR^2)\to H^1(U)\oplus H^1(V)\to H^1(U\cap V)\to H^2(\RR^2).$$
Since $H^1(\RR^2)=H^2(\RR^2)=0$, we have that $H^1(U)\oplus H^1(V)\simeq H^1(U\cap V)$. Thus we can find a basis for $H^1(\RR^2-\set{p,q})$ by finding a basis for $H^1(\RR^2-\set{p})$. However, there is already a well known basis for $H^1(\RR^2-\set{0})$.
The actual basis
It's well known that if $\theta$ is the argument of a point in the plane, then 
$$d\theta = \frac{-y\,dx + x\,dy}{x^2+y^2}$$
gives a basis for $H^1(\RR^2-\set{0})$. See wiki.
Thus we can find a basis for $\RR^2-\set{p}$ or $\RR^2-\set{q}$ by translating.
Thus if we let $\theta_1$ denote the argument of a point around $(-1,0)$, and $\theta_2$ denote the argument of a point around $(1,0)$. Then the 1-forms
$$d\theta_1 = \frac{-y\,dx +(x+1)\,dy}{(x+1)^2+y^2}$$
and
$$d\theta_2 = \frac{-y\,dx +(x-1)\,dy}{(x-1)^2+y^2}$$
form bases for $H^1(\RR^2-\set{p})$ and $H^1(\RR^2-\set{q})$ respectively. Thus restricting them to $\RR^2-\set{p,q}$, together they give a basis for $H^1(\RR^2-\set{p,q})$.
You can if you wish explicitly verify that they are closed, and can explicitly check their independence by integrating them on circles around each of the points.
