Notes: Magnetostatic multipole expansion using STF tensors

These notes are intended for students (or profs) aware of the multipole expansion for electrostatics in terms of symmetric tracefree (STF) tensors. Standard texts on electrodynamics (like Jackson) hardly mention the STF version, though it is extremely well-known to researchers in GR.

Update 2025-06-17: I am updating these notes because of two issues. First, Alan Guth pointed out to me, I missed terms that were pure gauge (I incorrectly claimed they vanished). Second, Cyril Pitrou pointed out to me this lovely paper by Damour and Iyer (1991) which does the whole dynamical case (i.e. the radiative multipole expansion), and pointed out that I had a factor which is only correct in the dipole case. Therefore I am cleaning up my error and reworking some of the discussion.

Refresher: Electrostatic STF multipole expansion

Before getting to magnetostatics, we’ll start with electrostatics. This is easier since we only need to solve for the scalar potential, which satisfies

\begin{align} \cd^2 \Phi = - \frac{\rho}{\epsilon_0} . \end{align}

We’re interested in the case where vanishes outside of a compact region. The most efficient way to get to the STF version of the multipole expansion is to start from the Green’s function solution,

\begin{align} \Phi(\bs{x}) = \frac{1}{4\pi\epsilon_0} \int \frac{\rho(\bs{x}')}{|\bs{x}-\bs{x}'|} d^3\bs{x}' . \end{align}

We then take the function and perform a multivariate Taylor series expansion about the point , since far away from the source, . This expansion is

\begin{align} \frac{1}{|\bs{x}-\bs{x}'|} &= \sum_{\ell=0}^\infty \frac{(-1)^\ell}{\ell!} x^{\prime j_1} x^{\prime j_2} \cdots x^{\prime j_\ell} \pd_{j_1} \pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} \,, \\ &= \sum_{\ell=0}^\infty \frac{(-1)^\ell}{\ell!} (r')^\ell n'^{j_1} n'^{j_2}\cdots n'^{j_\ell} \pd_{j_1} \pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} . \end{align}

In the index tensor , all indices are obviously symmetric; they are also tracefree away from the origin, where we get a delta function, owing to . Since this tensor is symmetric and tracefree (STF), we are free to take only the STF part of the product of direction vectors. We denote this with angle brackets around the relevant indices,

\begin{align} \frac{1}{|\bs{x}-\bs{x}'|} &= \sum_{\ell=0}^\infty \frac{(-1)^\ell}{\ell!} x'^{\langle j_1} x'^{j_2}\cdots x'^{j_\ell\rangle} \pd_{j_1} \pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} . \end{align}

Plugging this in to the Green’s function integral, we get

\begin{align} \Phi(\bs{x}) &= \frac{1}{4\pi\epsilon_{0}} \sum_{\ell=0}^{\infty} \frac{(-1)^\ell}{\ell!} \left( \pd_{j_1} \pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} \right) Q^{j_{1}j_{2}\cdots j_{\ell}} , \end{align}

where we have defined the th STF multipole tensor of the source as

\begin{align} Q^{j_{1}j_{2}\cdots j_{\ell}} \equiv \int \rho(\bs{x}) x^{\langle j_1} x^{j_2} \cdots x^{j_\ell \rangle} \ d^{3} \bs{x} . \end{align}

For example, the case is just the total charge ; the case is the charge dipole , and so on.

Magnetostatic multipole expansion

We can apply our results from the electrostatic multipole expansion to magnetostatics, using the potential formulation. In magnetostatics, we are trying to find a magnetic field satisfying

\begin{align} \cd\times\bs{B} &= \mu_{0} \bs{J}\,, & \text{(static)} \end{align}

where as usual , and in statics, conservation of charge demands that . Now we go to the potential formulation, , and use our gauge freedom to go to Coulomb gauge, . Plugging in, we are now trying to solve

\begin{align} \cd^{2} A^{i} = - \mu_{0} J^{i} \,. \end{align}

In Cartesian coordinates, this is just three independent copies of the Poisson equation, one for each Cartesian component . Therefore we can use the Green’s function for the scalar Laplacian’s for each component,

\begin{align} A^{i}(\bs{x}) = \frac{\mu_{0}}{4\pi} \int \frac{J^{i}(\bs{x}')}{|\bs{x}-\bs{x}'|} d^{3}\bs{x}' \,. \end{align}

Just like in the electrostatic case, we Taylor expand , pull things out of the integrals, etc. Essentially, we are just making a replacement in the electrostatic case: . This means our multipole moments get an extra index that does not participate in the STF operation. As it stands, our solution is

\begin{align} \label{eq:A-mpole-external} A^{i}(\bs{x}) &= \frac{\mu_{0}}{4\pi} \sum_{\ell=0}^{\infty} \frac{(-1)^\ell}{\ell!} \left( \pd_{j_1} \pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} \right) G^{i;j_{1}j_{2}\cdots j_{\ell}} \,, \end{align}

where we defined some moment integrals

\begin{align} \label{eq:Bstatic-mpole-tensor-def} G^{i;j_{1}j_{2}\cdots j_{\ell}} \equiv \int J^{i}(\bs{x}) x^{\langle j_1} x^{j_2} \cdots x^{j_\ell \rangle} \ d^{3} \bs{x} \,, \end{align}

which are STF only on the indices after the semicolon.

Notice that the term vanishes – no magnetic monopoles! – by conservation of charge. Integrate and use integration by parts:

\begin{align} \int (\pd_{i}J^{i})x^{j} \ d^{3} \bs{x} = -\int J^{i}\pd_{i}x^{j} \ d^{3} \bs{x} = -\int J^{i}\delta_{i}^{j} \ d^{3} \bs{x} = - G^{i} \,. \end{align}

The left hand side vanishes since in magnetostatics, . Therefore the magnetic monopole moment vanishes, . [As an exercise, try a similar approach with , and see if you can generate an identity for arbitrary .]

Before handling the arbitrary term, let’s write the dipole in the traditional form seen in e.g. Griffiths. The traditional form for a magnetic dipole is

\begin{align} \bs{A}_{\text{dip}} &= \frac{\mu_{0}}{4\pi} \frac{\bs{m}\times\bs{n}}{r^{2}} \,,\\ A^{i}_{\text{dip}} &= \frac{\mu_{0}}{4\pi} \epsilon^{ijk} m_{j} \pd_{k} \frac{-1}{r} \,. \end{align}

Here the magnetic dipole pseudo-vector is related to the 2-index magnetic dipole tensor,

\begin{align} m^{i} &= \frac{1}{2} \epsilon^{ijk} G_{k;j} \,, & G^{k;j} &= \epsilon^{jki} m_{i} \,,\\ \bs{m} &= \frac{1}{2} \int \bs{x} \times \bs{J}(\bs{x}) \ d^{3}\bs{x} \,. \end{align}

This gives the ideal dipole magnetic field

\begin{align} \bs{B}_{\text{dip}} &= \cd\times\bs{A}_{\text{dip}} \,, \\ B^{i}_{\text{dip}} &= \frac{\mu_{0}}{4\pi} m^{j} \pd_{i}\pd_{j}\frac{1}{r} \,, \end{align}

except that we have dropped a singular term.

Aside on Young tableau and STF decomposition

It seems like we’ve discarded some information — only the antisymmetric part of contributed to . What about the symmetric part? It turns out nothing has been lost.

The next step for understanding these magnetic multipole tensors requires a little knowledge of how Young diagrams classify the index symmetries of tensors (ok, maybe not strictly necessary, but this was how I first realized what to do). We know that the tensor lives in the representation labeled by the diagram of shape ,

Young tableau of shape (ell)

Now recall that when we tensor-product a vector with some tensor in a diagram with shape , we generate tensors in irreps related by adding one box at the end of any allowed row or as a new row underneath (the decomposition of tensor products into irreps is determined by the Littlewood–Richardson rule; adding one box where allowed is the simplest case. This is encapsulated in a Hasse diagram called Young’s lattice, which gives a partial order on Young diagrams, seen in here:

Young lattice

Now, since lives in the representation, we know that tensoring with can produce content in exactly two representations: the diagram, and the diagram, having shapes

Two Young tableaux, one of shape (ell+1), one of shape (ell,1)

These above statements were for Young tableaux labeling the representations of GL(3). Once we introduce our metric and go to SO(3), we can do a further trace decomposition. At the same time we’ve also introduced the Levi-Civita tensor , which lives in the irrep labeled by 3 boxes stacked vertically. We can use the Levi-Civita tensor to dualize antisymmetric indices to indices, which is how we replaced with . The ultimate goal is to decompose arbitrary tensors into combinations of STF tensors, , and .

To do this we can use a rule from Blanchet and Damour (1986) which is also in Damour and Iyer (1991). You can build the decomposition inductively starting from the tensor product of just a single vector with an -index STF tensor (here we use STF multindex notation)

\begin{align} \label{eq:vec-STF-prod-decomp} U_i \hat{T}_{L} = \hat{R}_{iL}^{(+)} + \frac{\ell}{\ell+1} \epsilon_{si\langle i_\ell} \hat{R}^{(0)}_{L-1\rangle s} + \frac{2\ell-1}{2\ell+1} \delta_{i\langle i_\ell} \hat{R}^{(-)}_{L-1\rangle} \end{align}

where everything with a hat is STF, and the three pieces on the RHS are

\begin{align} \hat{R}_{L+1}^{(+)} &= U_{\langle i_{\ell+1}} \hat{T}_{L\rangle} \,,\\ \hat{R}^{(0)}_{L} &= U_a \hat{T}_{b\langle L-1} \epsilon_{i_\ell \rangle ab} \,,\\ \hat{R}^{(-)}_{L-1} &= U_s \hat{T}_{s L-1} \,. \end{align}

This is akin to in angular momentum coupling. Let me comment here: Blanchet and Damour say that this expression (which is their (A3)) is “straightforwardly checked.” I did check it, but there is a lot of room for error! Two intermediate steps you need are:

\begin{align} \delta_{a\langle i_{\ell+1}} \hat{T}_{L\rangle} &= \delta_{a(i_{\ell+1}} \hat{T}_{L)} - \frac{\ell}{2\ell+1} \hat{T}_{a(L-1} \delta_{i_\ell i_{\ell+1})} \,,\\ \epsilon_{ab\langle i_\ell} \hat{T}_{L-1\rangle a} &= \epsilon_{ab( i_\ell} \hat{T}_{L-1) a} \quad \text{(already tracefree)} \end{align}

Getting all these -dependent coefficients requires a bit of combinatorics. For example, suppose we want to trace on the indices. There are a total of distinct terms (counting which two indices appear on the ):

\begin{align} \hat{T}_{a(L-1} \delta_{i_\ell i_{\ell+1})} = \frac{1}{(\ell+1)\ell/2} \underbrace{\left( \hat{T}_{ai_1i_2\ldots} \delta_{i_\ell i_{\ell+1}} + \hat{T}_{ai_1i_2\ldots} \delta_{i_{\ell-1} i_{\ell+1}} + \cdots + \hat{T}_{ai_3i_4\ldots} \delta_{i_1 i_2}\right)}_{\binom{\ell+1}{2}\text{ distinct terms}} \,. \end{align}

The indices are either both on the (one way), both on ( ways), or one index on and the other on . When both indices are on , we get . If both indices are on , the trace vanishes. And for each of the terms where the indices are on different tensors, we get . So, this gives

\begin{align} \delta^{i_\ell i_{\ell+1}} \hat{T}_{a(L-1} \delta_{i_\ell i_{\ell+1})} = \frac{2(2\ell+1)}{(\ell+1)\ell} \hat{T}_{aL-1} \,. \end{align}

Back to magnetostatics

We apply this to magnetostatics, decomposing into three STF pieces

\begin{align} G_{i;L} = U_{iL} - \epsilon_{ai\langle i_\ell} M_{L-1\rangle a} + \frac{2\ell-1}{2\ell+1} \delta_{i\langle i_\ell} D_{L-1\rangle} \end{align}

where

\begin{align} U_{iL} &\equiv G_{\langle i; L\rangle} \,,\\ M_L &\equiv -\frac{\ell}{\ell+1}G_{a;b\langle L-1} \epsilon_{i_\ell\rangle ab} \,,\\ D_{L-1} &\equiv G_{a;aL-1} \,. \end{align}

Now, by the parenthetical exercise I suggested before, you can show that . Meanwhile, I’ll claim without proof that if you plug the term back into the expression for , you’ll see that it’s pure gauge, and can be removed by a gauge transformation (see Damour and Iyer for all the details).

The two minus signs and placement of the factor of were chosen to agree with the traditional definition for the magnetic dipole pseudo-vector. We can write the magnetic STF multipole tensor in terms of the integral

\begin{align} M^{j_1j_2\cdots j_\ell} = \frac{\ell}{\ell+1} \int x^{\langle j_{1}} x^{j_{2}} \cdots x^{j_{\ell-1}} \mathcal{M}^{j_\ell\rangle} d^{3}x \,, \end{align}

where we have defined the magnetization density (note a factor of 1/2 difference from Jackson)

\begin{align} \boldsymbol{\mathcal{M}} \equiv \boldsymbol{x} \times \boldsymbol{J} \,. \end{align}

With these conventions, agrees with the traditional magnetic dipole pseudo-vector.

We can finally restate and in terms of these magnetic STF moments, after a bit of algebra:

\begin{align} A^{k}(\bs{x}) &= \frac{\mu_{0}}{4\pi} \sum_{\ell=0}^{\infty} \frac{(-1)^{\ell}}{\ell!} \left( \pd_{j_1} \pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} \right) \epsilon^{kp j_{1}}M^{p j_{2}\cdots j_{\ell}} \,, \\ B^{i} = \epsilon^{ijk}\pd_{j}A_{k} &= \frac{\mu_{0}}{4\pi} \sum_{\ell=0}^{\infty} \frac{(-1)^{\ell+1}}{\ell!} \left( \pd_{i} \pd_{j_{1}}\pd_{j_2} \cdots \pd_{j_\ell} \frac{1}{r} \right) M^{j_{1} j_{2}\cdots j_{\ell}} \,. \end{align}