Helmholtz (-Hodge) decomposition commonly used in physics includes decomposition of a (sufficiently smooth) vector field $F = -\mathrm{grad}(U) + \mathrm{curl}(W)$ on bounded simply connected domain $\Omega \subseteq \mathbb{R}^3$ (with smooth boundary), with scalar $U$ and vector field $W$ which are explicitly given by integrals on Wiki page https://en.wikipedia.org/wiki/Helmholtz_decomposition

The proof presented on the same Wiki page (an early instance of which appeared in Aris: "Vectors, Tensors, and the Basic Equations of Fluid Mechanics"; see also Griffiths: "Introduction to Electrodynamics", Appendix C) silently assumes, among other things, that vector field $F$ is test (smooth and compactly supported), whereas one would like to have decomposition for vector fields which are merely $C^2(\Omega) \cap C^0(\overline{\Omega})$.

Is there some standard reference where the decomposition, with explicit expressions for $U$ and $W$, is proven in this modest setting?

  • $\begingroup$ I am confused: for $F$ in $C^2(\Omega) \cap C^0(\bar{\Omega})$, and $\Omega$ bounded with smooth boundary, the integral expressions defining $U$ and $W$ make sense. Why isn't it sufficient to simply check that $- \mathrm{grad}(U) + \mathrm{curl}(W)$ in fact equals $F$? (This you can do using Gauss-Green carefully I think.) $\endgroup$ Commented Oct 16, 2019 at 1:16
  • $\begingroup$ I don’t see any assumption of compact support stated or needed in the Wikipedia article. $\endgroup$
    – Deane Yang
    Commented Oct 16, 2019 at 5:30
  • $\begingroup$ @Deane Yang My concern is due to fact that in that proof (from Wiki page) we start with an integral of $F$ with $\delta$, doesn't that assume that $F$ is a test field? $\endgroup$ Commented Oct 16, 2019 at 6:27
  • $\begingroup$ @Willie Wong I see, just to do everything in reverse... my concern was with the initial usage of the $\delta$ (as I've commented above), which I wanted to avoid. $\endgroup$ Commented Oct 16, 2019 at 6:29
  • $\begingroup$ No. Integrating against delta does not require the test function to be compactly supported since delta itself is compactly supported. But, on a closer look, I’m not sure about the switching of the integral and Laplacian. Is that valid? $\endgroup$
    – Deane Yang
    Commented Oct 16, 2019 at 13:57

1 Answer 1


For avoiding $\delta$, you should be able to just do as follows:

Let $G(x)$ denote the Newton potential $\frac{1}{4\pi |x|}$, and $G_y(x) = G(x-y)$

Let $r'(x)$, for $x \in \Omega$, denote $\frac12 d(x, \Omega^c)$.

Given $y\in \Omega$, consider the integral for $\lambda\in (0,1)$

$$ \tilde{F}(\lambda,y) = - \int_{\partial B(y,\lambda r'(y))} \partial_\nu G_y(z) F(z) ~\mathrm{d}\sigma(z) $$ Here $\partial_\nu$ is the derivative in the direction of the outward unit normal, and $\sigma$ is the induced surface measure.

As $F$ is $C^2$, by Taylor's theorem we know that $F(z) = F(y) + O(|z - y|)$. Therefore we have $$ \lim_{\lambda \to 0} \tilde{F}(\lambda,y) = F(y)$$ uniformly.

Applying divergence theorem to the integral defining $\tilde{F}$ you get

$$ \tilde{F}(\lambda,y) = \int_{\Omega \setminus B(y,\lambda r'(y))} (\nabla G_y(z) \cdot \nabla) F(z) ~\mathrm{d}z - \int_{\partial\Omega} \partial_n G_y(z) F(z) ~\mathrm{d}\sigma(z). $$

The volume integral you can use the vector triple product formula to write

$$ (\nabla G_y \cdot \nabla)F = (\nabla\cdot F) \nabla G_y + \nabla \times (F \times \nabla G_y ) $$

Since $\nabla G_y$ blows up no faster than $1 / |z-y|^2$, which is integrable in $\mathbb{R}^3$, we can take the limit $\lambda \to 0$ of the integral. This gives

$$ F(y) = \int_{\Omega} (\nabla \cdot F) \nabla G_y + \nabla \times (F \times \nabla G_y) ~\mathrm{d}z - \int_{\partial\Omega} \partial_n G_y F ~\mathrm{d}\sigma $$

after which you can continue following exactly the derivation on Wikipedia.

  • $\begingroup$ Great, exactly what I was looking for! Thanks! $\endgroup$ Commented Oct 16, 2019 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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