# Anti-curl operator

It is known that if a vector field $\vec{B} \;\;\;$is divergence free, and defined on $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)\;\;$) 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'm looking for something similar in the general case.

-

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 '11 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. –  Gerben Nov 13 '11 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 '11 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}$. –  Willie Wong Nov 14 '11 at 12:26
@ Willie Wong: first, how do you know that $div(\Phi_\alpha \vec{B})=0 \;\;\;$ so you can define $A_\alpha \;\;\;$? secondly, how do you know that the sum you mentioned converges? –  Max Nov 14 '11 at 18:52

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.$$

-
Thanks for the answer Will Jagy, but thats not what I was looking for. You gave me an algorithm to find A using the explicit formula for $B_x, B_y, B_z$. This algorithm may have problems if my function is defined on a subset of $R^3$ and not on the whole $R^3$ (for example, on an open domain but maybe not simply connected) –  Max Nov 13 '11 at 11:53
@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}.$ –  Gerben Nov 13 '11 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. –  Gerben Nov 13 '11 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. –  Gerben Nov 13 '11 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 '11 at 22:27