# Anti-curl operator

It is known that if a vector field $$\vec{B}$$ is divergence-free, and defined on $$\mathbb R^3$$ then it can be shown as $$\vec{B} = \nabla\times\vec{A}$$ for some vector field $$A$$.

Is there a way to find $$A$$ that would satisfy this equation? (I know there are many possibilities for $$A$$)

Note: I want to find it without using the explicit formula for $$B_x(x,y,z), B_y(x,y,z), B_z(x,y,z)$$, but maybe with a formula involving surface/curve integrals. For example, I've found that in the 2D case (if $$B_z=0$$ and $$\vec{B}=\vec{B}(x,y)$$) then $$A$$ can be shown as:

$$\vec{A}(x,y)=\hat{z}\int_{\vec{R_0}}^{\vec{r}} (\hat{z}\times\vec{B})\cdot\vec{dl}$$

I am looking for something similar in the general case.

This is called Poincare's Lemma. I will write the standard version, in a neighborhood around the origin. The usual phrasing is to say that a closed form is locally exact, the fact that this is not globally true is the stuff of cohomology. This is from pages 94-96 of Calculus on Manifolds by Michael Spivak.

Given your divergence-free vector field $(F_1(x,y,z), \; F_2(x,y,z), \; F_3(x,y,z)),$ the $x$-coordinate of the new vector field $G$ is $$G_1(x,y,z) = \int_0^1 \; \left( \; t z F_2(tx, ty,tz) - t y F_3(tx, ty,tz) \; \right) \; dt,$$ the $y$-coordinate is $$G_2(x,y,z) = \int_0^1 \; \left( \; t x F_3(tx, ty,tz) - t z F_1(tx, ty,tz) \; \right) \; dt,$$
with $z$-coordinate $$G_3(x,y,z) = \int_0^1 \; \left( \; t y F_1(tx, ty,tz) - t x F_2(tx, ty,tz) \; \right) \; dt.$$

Note that fractions tend to show up if you have any exponents. I did a test run with a random field, $$H = (xyz, \; x y^2 z^3, \; x y^3 z^5).$$ I then took the curl to get $$F = \nabla \times H = ( 3 x y^2 z^5 - 3 x y^2 z^2, \; x y - y^3 z^5, \; y^2 z^3 - x z).$$ The three components are what I am calling $F_1,F_2,F_3.$ We know that $F$ is a curl, by construction, and we know it is divergence free (check!). Going through Poincare's recipe, after fixing a few of my bookkeeping errors, gave instead $$G_1 = \frac{1}{2} x y z - \frac{1}{10} y^3 z^6 - \frac{1}{7} y^3 z^3,$$ $$G_2 = \frac{4}{7} x y^2 z^3 - \frac{1}{4} x^2 z - \frac{3}{10} x y^2 z^6,$$ $$G_3 = \frac{4}{10} x y^3 z^5 - \frac{1}{4} x^2 y - \frac{3}{7} x y^3 z^2.$$ This has a bit of a different appearance from $H.$ That is fine. As $H,G$ have the same curl, it follows merely that $(G-H)$ is the gradient of some function.

On that note, if you have a curl-free field $W = (W_1, W_2, W_3),$ it is the gradient of a function $f$ given by $$f(x,y,z) = \int_0^1 \; \left( \; x W_1(tx, ty,tz) + y W_2(tx, ty,tz) + z W_3(tx, ty,tz) \; \right) dt.$$

• @Max: simple connectedness is crucial for this idea. If the domain on which $\mathbf{B}$ is defined isn't simply connected, then you don't have the implication $\nabla \cdot \mathbf{B} = 0 \Rightarrow \mathbf{B} = \nabla \times \mathbf{A}$ for some $\mathbf{A}.$ Nov 13, 2011 at 12:05
• @Max: the 'de Rham cohomology' is a general way of studing whether, given some space $M$, the implication $df = 0 \rightarrow f = d a$ for some $a$ holds. Here, $d$ is some generalized derivative operator - the notion includes grad, div and curl. In particular, the curl corresponds to the first cohomology group, so the mathematician's way of stating your question is 'is $H^1(M)$ trivial'? For $\mathbb{R}^n$ it's true, but for spaces like $\mathbb{S}^1$ or $\mathbb{R}^2 - \{p\}$ for some point $p$, it's not. Nov 13, 2011 at 21:15
• @Max: that doesn't change much, but you should be careful about what you mean by a 'closed surface'. If $D$ is a manifold with boundary $S$, then $$\oint_S \vec{B}\cdot\vec{ds}= \int_D \nabla \cdot \vec{B}$$ (through Stokes' theorem), so that doesn't help you much. Nov 13, 2011 at 21:19
• @Gerben: Not exactly. Stoke's theorem can be applied in a simply connected domain (when D is inside the domain). The fact that $\oint_S \vec{B}\cdot\vec{ds}=0$ for every closed surface S, insures that $div(B)=0$, but not vice versa. Its like the fact that $\nabla\times\vec{E}=0$ doesnt insure you that $\vec{E}=-\nabla\Phi$, but if you say that $\oint_L \vec{E}\cdot\vec{dl}=0$ for every closed curve in the domain, then $\vec{E}=-\nabla\Phi$ does hold, even if you arn't in a simply connected domain.
– Max
Nov 13, 2011 at 22:27
• @Gerben: you are mistaken that what matters here is simple connectedness and that "the mathematician's way of stating your question is 'is $H^1(M)$ trivial'." what matters here is actually $H^2(M)$: non-trivial second homology (or cohomology) is what keeps a divergence-free field from having a vector potential. for example, $\mathbb{R}^3$ with the $z$ axis deleted is not simply connected, but any divergence-free field there will admit a vector potential. Mar 9, 2015 at 3:23

I'm not sure if this is what you meant by excluding the 'explicit formula', but such a vector field is constructed in the proof of Helmholtz' theorem; $\mathbf{A}(\mathbf{r})$ is given by

$$\mathbf{A}(\mathbf{r}) = \frac{1}{4\pi} \int_{\mathbb{R}^3} \frac{\nabla \times \mathbf{B}(\mathbf{r}')}{\mathbf{|r - r'|}}$$

where $\mathbf{r'}$ is the variable you're integrating over.

To see why this works, you need to take the curl of the above equation; however, you'll need some delta function identities, especially

$$\nabla^2(1/\mathbf{|r - r'|}) = -4 \pi \delta(\mathbf{r - r'}).$$

If you're at ease with those, you should be able to finish the proof on your own. If you're not sure, just ask over here and I'll be glad to provide details.

• The problem with that formula is that the integral may not converge..
– Max
Nov 13, 2011 at 11:53
• Indeed, you'll need to impose some conditions at infinity. I guess that $\nabla \times \mathbf{B}(\mathbf{r}) = \mathcal{O}(1/r^2)$ suffices, but someone competent should check this. Of course, there are also smoothness conditions on $\mathbf{B}$; $\mathcal{C}^2$ should suffice, I reckon. Nov 13, 2011 at 12:12
• you are right, but i'm considering the general case: $\vec{B}$ doesnt have to go rapidly to zero at infinity. It may not even go to zero.
– Max
Nov 13, 2011 at 20:52
• Simple, take a partition of unity of $\mathbb{R}^3$ called $\{\phi_\alpha\}$. Let $\mathbf{B}_\alpha = \phi_\alpha \mathbf{B}$, they are compactly supported. Apply Helmholz formula to them to get $\mathbf{A}_\alpha$. Formally $\mathbf{A} = \sum_\alpha \mathbf{A}_\alpha$, but notice that if you are only interested in the values of $\mathbf{A}$ on some compact set $\bar{\Omega}\subset\mathbb{R}^3$, you just need to sum over the (finitely many) $\alpha$s such that the support of $\phi_\alpha$ intersects $\bar{\Omega}$. Nov 14, 2011 at 12:26
• @Gerben If I may revive this thread, would you kindly expand on how you would reach the correct answer (i.e. $\nabla \times \boldsymbol{A}=\boldsymbol{B}$) by taking curl of both sides of the equation above? Thanks. Sep 6, 2017 at 2:06

I do NOT (repeat: NOT) own the rights to this webpage, but I think this might be more along the lines of about what the OP was asking http://galileo.math.siu.edu/Courses/251/S12/vpot.pdf