6.1 The Vector Potential A
Since $\nabla \cdot \mathbf{B} = 0$, we can always write $\mathbf{B} = \nabla \times \mathbf{A}$for a vector potential $\mathbf{A}$. Substituting into Ampere's law:
Choosing the Coulomb gauge $\nabla \cdot \mathbf{A} = 0$:
This is a vector Poisson equation โ identical in form to the scalar Poisson equation for $V$. The solution is:
Derivation: Existence of the Vector Potential A
Starting from $\nabla \cdot \mathbf{B} = 0$, we prove that a vector potential $\mathbf{A}$ with $\mathbf{B} = \nabla \times \mathbf{A}$ always exists.
Step 1: The mathematical theorem (Helmholtz decomposition)
Any vector field can be decomposed into a curl-free part and a divergence-free part. The Helmholtz theorem states that a divergence-free field ($\nabla \cdot \mathbf{B} = 0$) can always be written as the curl of some other vector field.
Step 2: Direct construction from Biot-Savart
From the Biot-Savart law, write $\hat{\mathscr{r}}/\mathscr{r}^2 = -\nabla(1/\mathscr{r})$:
$$\mathbf{B} = \frac{\mu_0}{4\pi}\int \mathbf{J}(\mathbf{r}') \times \frac{\hat{\mathscr{r}}}{\mathscr{r}^2}\,d\tau' = -\frac{\mu_0}{4\pi}\int \mathbf{J}(\mathbf{r}') \times \nabla\!\left(\frac{1}{\mathscr{r}}\right)d\tau'$$
Step 3: Use the product rule for curl
Since $\mathbf{J}(\mathbf{r}')$ does not depend on $\mathbf{r}$, apply $\mathbf{F} \times \nabla g = \nabla \times (g\mathbf{F}) - g(\nabla \times \mathbf{F})$. With $\nabla \times \mathbf{J}(\mathbf{r}') = 0$ (since $\mathbf{J}$ depends on $\mathbf{r}'$, not $\mathbf{r}$):
$$\mathbf{J} \times \nabla\!\left(\frac{1}{\mathscr{r}}\right) = -\nabla \times \left(\frac{\mathbf{J}}{\mathscr{r}}\right)$$
Step 4: Factor the curl out of the integral
Since the curl acts on $\mathbf{r}$ but the integration is over $\mathbf{r}'$:
$$\mathbf{B} = \frac{\mu_0}{4\pi}\nabla \times \int \frac{\mathbf{J}(\mathbf{r}')}{\mathscr{r}}\,d\tau'$$
Step 5: Identify A
This is precisely $\mathbf{B} = \nabla \times \mathbf{A}$ with:
$$\boxed{\mathbf{A}(\mathbf{r}) = \frac{\mu_0}{4\pi}\int \frac{\mathbf{J}(\mathbf{r}')}{|\mathbf{r} - \mathbf{r}'|}\,d\tau'}$$
The existence of $\mathbf{A}$ is guaranteed whenever $\nabla \cdot \mathbf{B} = 0$, which is always true in electrodynamics.
Derivation: Coulomb Gauge and Poisson's Equation for A
Starting from $\nabla \times \mathbf{B} = \mu_0\mathbf{J}$ and $\mathbf{B} = \nabla \times \mathbf{A}$, we derive the Coulomb gauge condition and Poisson's equation for $\mathbf{A}$.
Step 1: Substitute B = curl A into Ampere's law
$$\nabla \times (\nabla \times \mathbf{A}) = \mu_0 \mathbf{J}$$
Step 2: Expand using the BAC-CAB identity
The vector identity $\nabla \times (\nabla \times \mathbf{A}) = \nabla(\nabla \cdot \mathbf{A}) - \nabla^2\mathbf{A}$ gives:
$$\nabla(\nabla \cdot \mathbf{A}) - \nabla^2\mathbf{A} = \mu_0 \mathbf{J}$$
Step 3: Exploit gauge freedom
The potential $\mathbf{A}$ is not unique: if $\mathbf{A}$ works, so does $\mathbf{A}' = \mathbf{A} + \nabla\lambda$ for any scalar $\lambda$, since $\nabla \times (\nabla\lambda) = 0$. Under this transformation:
$$\nabla \cdot \mathbf{A}' = \nabla \cdot \mathbf{A} + \nabla^2\lambda$$
Step 4: Choose the Coulomb gauge
We can always find a $\lambda$ such that $\nabla^2\lambda = -\nabla \cdot \mathbf{A}$ (a Poisson equation for $\lambda$, which always has a solution). This makes:
$$\boxed{\nabla \cdot \mathbf{A} = 0} \qquad \text{(Coulomb gauge)}$$
Step 5: Simplify Ampere's law in the Coulomb gauge
With $\nabla \cdot \mathbf{A} = 0$, the first term vanishes and we obtain:
$$\boxed{\nabla^2\mathbf{A} = -\mu_0\mathbf{J}}$$
Step 6: Solution by analogy with Poisson's equation for V
This is three uncoupled scalar Poisson equations ($\nabla^2 A_x = -\mu_0 J_x$, etc.). By direct analogy with $\nabla^2 V = -\rho/\epsilon_0$ whose solution is $V = \frac{1}{4\pi\epsilon_0}\int\frac{\rho}{\mathscr{r}}\,d\tau'$, the solution is:
$$\mathbf{A}(\mathbf{r}) = \frac{\mu_0}{4\pi}\int \frac{\mathbf{J}(\mathbf{r}')}{|\mathbf{r}-\mathbf{r}'|}\,d\tau'$$
Step 7: Verify the Coulomb gauge is satisfied
Taking the divergence of $\mathbf{A}$: $\nabla \cdot \mathbf{A} = \frac{\mu_0}{4\pi}\int \mathbf{J}(\mathbf{r}') \cdot \nabla\!\left(\frac{1}{\mathscr{r}}\right)d\tau'$. Integrating by parts and using $\nabla' \cdot \mathbf{J} = 0$ (steady currents), this vanishes, confirming self-consistency.
6.1.1 Gauge Freedom
The vector potential is not unique: we can add the gradient of any scalar function$\lambda$ without changing $\mathbf{B}$:
Physical quantities ($\mathbf{E}$, $\mathbf{B}$) are gauge-invariant. Common gauge choices:
Coulomb gauge
Natural for magnetostatics and radiation
Lorenz gauge
Manifestly relativistic; best for wave equations
6.2 Magnetic Multipole Expansion
For a localized current loop, the vector potential at large distances expands as:
The leading term is the magnetic dipole with moment:
The magnetic field of a pure magnetic dipole $\mathbf{m} = m\hat{z}$ at large distances is:
Note: there is no magnetic monopole term (since $\nabla \cdot \mathbf{B} = 0$ always). The dipole is the lowest non-vanishing term.
Derivation: Vector Potential for a Magnetic Dipole
Starting from the general expression for $\mathbf{A}$, we perform a multipole expansion for a localized current distribution viewed from far away ($r \gg r'$).
Step 1: Expand 1/|r - r'| for r >> r'
Using the standard multipole expansion of the separation distance:
$$\frac{1}{|\mathbf{r}-\mathbf{r}'|} = \frac{1}{r}\sum_{n=0}^{\infty}\left(\frac{r'}{r}\right)^n P_n(\cos\alpha)$$
where $\alpha$ is the angle between $\mathbf{r}$ and $\mathbf{r}'$, and $P_n$ are Legendre polynomials.
Step 2: Write A as a multipole series (for a line current)
For a current loop, $\mathbf{A} = \frac{\mu_0 I}{4\pi}\oint \frac{d\boldsymbol{\ell}'}{|\mathbf{r}-\mathbf{r}'|}$. Substituting the expansion:
$$\mathbf{A} = \frac{\mu_0 I}{4\pi}\sum_{n=0}^{\infty}\frac{1}{r^{n+1}}\oint (r')^n P_n(\cos\alpha)\,d\boldsymbol{\ell}'$$
Step 3: The monopole term (n = 0) vanishes
For $n = 0$: $P_0 = 1$, so the integral is $\oint d\boldsymbol{\ell}' = 0$ for any closed loop. There is no magnetic monopole contribution to $\mathbf{A}$.
Step 4: The dipole term (n = 1)
For $n = 1$: $P_1(\cos\alpha) = \cos\alpha = \hat{r}\cdot\hat{r}' = \hat{r}\cdot\mathbf{r}'/r'$. The integral becomes:
$$\mathbf{A}_{\text{dip}} = \frac{\mu_0 I}{4\pi r^2}\oint (\hat{r}\cdot\mathbf{r}')\,d\boldsymbol{\ell}'$$
Step 5: Apply the vector identity for closed loop integrals
There is a useful identity: for any closed loop, $\oint(\mathbf{c}\cdot\mathbf{r}')d\boldsymbol{\ell}' = -\mathbf{c} \times \int d\mathbf{a}' = \mathbf{a} \times \mathbf{c}$, where $\mathbf{a} = \int d\mathbf{a}'$ is the vector area of the loop. With $\mathbf{c} = \hat{r}$:
$$\oint(\hat{r}\cdot\mathbf{r}')d\boldsymbol{\ell}' = -\hat{r} \times \int d\mathbf{a}'$$
Step 6: Identify the magnetic dipole moment
Defining $\mathbf{m} = I\int d\mathbf{a}' = I\mathbf{a}$ (current times the vector area of the loop):
$$\mathbf{A}_{\text{dip}} = \frac{\mu_0 I}{4\pi r^2}(-\hat{r} \times \mathbf{a}) = \frac{\mu_0}{4\pi}\frac{\mathbf{m} \times \hat{r}}{r^2}$$
Step 7: Final result
$$\boxed{\mathbf{A}_{\text{dip}}(\mathbf{r}) = \frac{\mu_0}{4\pi}\frac{\mathbf{m} \times \hat{r}}{r^2}}$$
In spherical coordinates with $\mathbf{m} = m\hat{z}$: $\mathbf{A}_{\text{dip}} = \frac{\mu_0 m \sin\theta}{4\pi r^2}\hat{\phi}$.
Derivation: The Magnetic Dipole Moment
Starting from the definition for a current loop, we generalize the magnetic dipole moment to an arbitrary volume current distribution.
Step 1: Flat current loop
For a planar loop carrying current $I$ enclosing area $\mathbf{a}$ (vector area with direction given by the right-hand rule):
$$\mathbf{m} = I\mathbf{a} = IA\,\hat{n}$$
Step 2: Generalize to volume currents
Replace $I\,d\boldsymbol{\ell}' \to \mathbf{J}\,d\tau'$. The dipole term in the multipole expansion of $\mathbf{A}$ for a volume current is:
$$\mathbf{A}_{\text{dip}} = \frac{\mu_0}{4\pi r^2}\int (\hat{r}\cdot\mathbf{r}')\,\mathbf{J}(\mathbf{r}')\,d\tau'$$
Step 3: Use the vector identity for volume integrals
For a steady current distribution ($\nabla \cdot \mathbf{J} = 0$), one can show that:
$$\int (\mathbf{c}\cdot\mathbf{r}')\mathbf{J}\,d\tau' = -\frac{1}{2}\mathbf{c}\times\int(\mathbf{r}'\times\mathbf{J})\,d\tau'$$
for any constant vector $\mathbf{c}$. This identity requires integration by parts and the continuity equation.
Step 4: Substitute with c = r-hat
Setting $\mathbf{c} = \hat{r}$:
$$\mathbf{A}_{\text{dip}} = \frac{\mu_0}{4\pi r^2}\left(-\frac{1}{2}\hat{r}\times\int \mathbf{r}'\times\mathbf{J}\,d\tau'\right) = \frac{\mu_0}{4\pi}\frac{\mathbf{m}\times\hat{r}}{r^2}$$
Step 5: Identify the general magnetic dipole moment
$$\boxed{\mathbf{m} = \frac{1}{2}\int \mathbf{r}' \times \mathbf{J}(\mathbf{r}')\,d\tau'}$$
Step 6: Verify consistency with the loop formula
For a thin wire carrying current $I$, replace $\mathbf{J}\,d\tau' \to I\,d\boldsymbol{\ell}'$:
$$\mathbf{m} = \frac{I}{2}\oint \mathbf{r}' \times d\boldsymbol{\ell}' = I\mathbf{a}$$
since $\frac{1}{2}\oint \mathbf{r}' \times d\boldsymbol{\ell}'$ is precisely the vector area enclosed by the loop.
Derivation: Force and Torque on a Magnetic Dipole
Starting from the Lorentz force on a current loop in a non-uniform external field, we derive the torque $\mathbf{N} = \mathbf{m}\times\mathbf{B}$ and force $\mathbf{F} = \nabla(\mathbf{m}\cdot\mathbf{B})$.
Step 1: Torque on a rectangular current loop in a uniform field
Consider a rectangular loop (sides $a$ and $b$) carrying current $I$ in a uniform field $\mathbf{B}$. The forces on opposite sides are equal and opposite, but they create a couple. For sides of length $a$ perpendicular to $\mathbf{B}$, each experiences force $F = IaB$. The lever arm is $(b/2)\sin\theta$ on each side, so:
$$N = 2 \cdot IaB \cdot \frac{b}{2}\sin\theta = Iab\,B\sin\theta = mB\sin\theta$$
Step 2: Write the torque in vector form
The torque tends to align $\mathbf{m}$ with $\mathbf{B}$. In vector notation:
$$\boxed{\mathbf{N} = \mathbf{m} \times \mathbf{B}}$$
This result generalizes to any shape of loop and any orientation.
Step 3: Energy of a dipole in an external field
The work done rotating the dipole from angle $\theta_0$ to $\theta$ against the torque gives the potential energy:
$$U = -\int N\,d\theta = -mB\cos\theta = -\mathbf{m}\cdot\mathbf{B}$$
Step 4: Force from a non-uniform field
In a non-uniform field, the force is the negative gradient of the potential energy. For a rigid dipole (fixed $\mathbf{m}$):
$$\mathbf{F} = -\nabla U = \nabla(\mathbf{m}\cdot\mathbf{B})$$
Step 5: Expand using the vector identity
Using $\nabla(\mathbf{m}\cdot\mathbf{B}) = (\mathbf{m}\cdot\nabla)\mathbf{B} + \mathbf{m}\times(\nabla\times\mathbf{B}) + \cdots$. Since $\mathbf{m}$ is constant and in free space $\nabla\times\mathbf{B} = 0$ (away from free currents):
$$\mathbf{F} = (\mathbf{m}\cdot\nabla)\mathbf{B}$$
Step 6: Component form
For a dipole $\mathbf{m} = m\hat{z}$ in an axially symmetric field:
$$F_z = m\frac{\partial B_z}{\partial z}$$
$$\boxed{\mathbf{F} = \nabla(\mathbf{m}\cdot\mathbf{B})}$$
The dipole is attracted toward regions of stronger field if $\mathbf{m}$ is parallel to $\mathbf{B}$ (paramagnets), and repelled if antiparallel (diamagnets).
Simulation: Magnetic Dipole Vector Potential
Computes the vector potential $\mathbf{A}$ of a magnetic dipole, derives $\mathbf{B} = \nabla \times \mathbf{A}$numerically, and verifies against the analytic dipole field.
Vector Potential of a Magnetic Dipole
Visualizes A_y for a magnetic dipole, computes B = curl A numerically, and compares with the analytic result.
Click Run to execute the Python code
First run will download Python environment (~15MB)
Video Lectures & Demonstrations
MIT lecture on the magnetic vector potential โ why we need it, gauge freedom, and its role in quantum mechanics (Aharonov-Bohm effect).
Intuitive explanation of gauge invariance โ why adding a gradient to A doesn't change the physics, and why this freedom is deeply connected to symmetry principles.
Fortran Implementation
Fortran computation of the magnetic vector potential for an ideal solenoid โ a key example illustrating that $\mathbf{A}$ exists even where $\mathbf{B} = 0$ (outside the solenoid). This has profound implications in quantum mechanics through the Aharonov-Bohm effect.
Solenoid Vector Potential
FortranComputes the magnetic vector potential inside and outside an ideal solenoid
Click Run to execute the Fortran code
Code will be compiled with gfortran and executed on the server
Griffiths Problem Solutions
Video walkthroughs of Griffiths problems on potential formulations, Laplace equation in various coordinate systems, and boundary value problems.
Problem 3.13
Problem 3.14
Problem 3.15
Problem 3.16
Problem 3.17
Problem 3.18