← Mathematics

July 2026

The Jacobian - Fortney §3.3

Carl Jacobi C. G. Jacob Jacobi

1. The Jacobian

Every time you change variables in an integral you get a factor for the new form you're integrating. The standard explanation is an argument about small parallelepipeds getting stretched. Personally, I never really felt satisfied with that description. It works, but it never really explains why the answer is a determinant rather than some other combination of derivatives, unless you've taken linear algebra.

I got a much nicer answer when studying J. Fortney's A Visual Introduction to Differential Forms. Once you work through the wedging of the forms and some messy algebra it actually comes out very intuitively as a determinant because of the antisymmetric properties of forms. So let's start from the case everyone already knows, then do two and three dimensions with every term written out. The three-dimensional case is quite messy, but its mostly straightforward algebra.

1.1 One dimension

Okay, the easy case. To integrate something awkward you set \(u = f(x)\), and then you write down the line

\[du = f'(x) dx \tag{1}\]

and carry on. Nobody calls \(f'(x)\) a Jacobian, but it is very much one! The Jacobian is the matrix of first partial derivatives of the new coordinates with respect to the old ones, and in one dimension there's only one partial derivative to collect, so the matrix is

\[J = \begin{pmatrix} f'(x) \end{pmatrix}, \qquad \det J = f'(x) \tag{2}\]

A \(1\times1\) determinant is just its single entry.

Two dimensions is where that becomes a little more difficult. Set \(u = f(x,y)\) and \(v = g(x,y)\) and now there are four partial derivatives, and the area element \(du \wedge dv\) has to come out as some combination of those four multiplying \(dx \wedge dy\). Sums of products, products of sums, all sorts of things are dimensionally plausible. The claim is that it's specifically the determinant, and the rest of this post is finding out why.

One more interesting thing. In one dimension you never write \(|f'(x)|\) during a substitution. If \(f\) is decreasing you swap the limits of integration instead, and the minus sign gets absorbed there. But actually, that swap is orientation, just in one dimension.

1.2 What we need

Two objects and two rules.

A one-form is what you get by differentiating a function. For \(f:\mathbb{R}^2\to\mathbb{R}\),

\[df = \partial_x f dx + \partial_y f dy \tag{3}\]

and the \(dx\), \(dy\) are a basis for the cotangent space \(\Lambda^1_p M\) at each point.

The wedge product is bilinear, associative, and antisymmetric:

\[\alpha \wedge \beta = -\beta \wedge \alpha \tag{4}\]

Antisymmetry immediately gives \(\alpha \wedge \alpha = 0\) for any one-form \(\alpha\), since a thing equal to its own negative is zero.

Geometrically, \(dx \wedge dy\) is a machine that eats two vectors and returns the signed area of the parallelogram they span. That's why it's the right object for an area element, and the sign is just telling you its orientation.

1.3 Two dimensions

Let's start in 2D. Let \(M\) be some nicely behaved (smooth, differentiable, etc.) manifold. Take \(f, g : M \to \mathbb{R}\) with \(M \cong \mathbb{R}^2\) (these are the two new coordinates from before, \(u = f\) and \(v = g\)). We claim that the area element made from them takes the form:

\[df \wedge dg = \begin{vmatrix} \partial_x f & \partial_y f \\\\ \partial_x g & \partial_y g \end{vmatrix} dx \wedge dy \tag{5}\]

First, expand both one-forms and multiply out, using bilinearity:

\[\begin{aligned} df \wedge dg &= (\partial_x f dx + \partial_y f dy) \wedge (\partial_x g dx + \partial_y g dy) \\ &= \partial_x f dx \wedge (\partial_x g dx + \partial_y g dy) + \partial_y f dy \wedge (\partial_x g dx + \partial_y g dy) \end{aligned}\tag{6}\]

Distribute again to get all four terms:

\[\begin{aligned} df \wedge dg &= \partial_x f \partial_x g (dx \wedge dx) + \partial_x f \partial_y g (dx \wedge dy) \\ &\quad + \partial_y f \partial_x g (dy \wedge dx) + \partial_y f \partial_y g (dy \wedge dy) \end{aligned}\tag{7}\]

Two of those are already dead, since \(dx \wedge dx = dy \wedge dy = 0\):

\[df \wedge dg = \partial_x f \partial_y g (dx \wedge dy) + \partial_y f \partial_x g (dy \wedge dx) \tag{8}\]

Now antisymmetry on the second term, \(dy \wedge dx = -dx \wedge dy\), so both are on the same basis element:

\[\begin{aligned} df \wedge dg &= \partial_x f \partial_y g (dx \wedge dy) - \partial_y f \partial_x g (dx \wedge dy) \\ &= \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) dx \wedge dy \end{aligned}\tag{9}\]

And that bracket is the determinant:

\[\begin{vmatrix} \partial_x f & \partial_y f \\\\ \partial_x g & \partial_y g \end{vmatrix} = \partial_x f \partial_y g - \partial_y f \partial_x g \tag{10}\]

so

\[df \wedge dg = \begin{vmatrix} \partial_x f & \partial_y f \\\\ \partial_x g & \partial_y g \end{vmatrix} dx \wedge dy \tag{11}\]

which is what we wanted.

1.4 Three dimensions

Now \(f, g, h : \mathbb{R}^3 \to \mathbb{R}\), with volume element \(df \wedge dg \wedge dh\). The one-forms are

\[\begin{aligned} df &= \partial_x f dx + \partial_y f dy + \partial_z f dz \\ dg &= \partial_x g dx + \partial_y g dy + \partial_z g dz \\ dh &= \partial_x h dx + \partial_y h dy + \partial_z h dz \end{aligned}\tag{12}\]

Associativity lets us do this in two stages, \((df \wedge dg) \wedge dh = df \wedge dg \wedge dh\), so start with \(df \wedge dg\). Multiplying out gives nine terms:

\[\begin{aligned} df \wedge dg &= \partial_x f \partial_x g (dx \wedge dx) + \partial_x f \partial_y g (dx \wedge dy) + \partial_x f \partial_z g (dx \wedge dz) \\ &\quad + \partial_y f \partial_x g (dy \wedge dx) + \partial_y f \partial_y g (dy \wedge dy) + \partial_y f \partial_z g (dy \wedge dz) \\ &\quad + \partial_z f \partial_x g (dz \wedge dx) + \partial_z f \partial_y g (dz \wedge dy) + \partial_z f \partial_z g (dz \wedge dz) \end{aligned}\tag{13}\]

The three diagonal terms vanish. Of the six left, three are written in reversed order, so flip them with antisymmetry: \(dy \wedge dx = -dx \wedge dy\), \(dz \wedge dx = -dx \wedge dz\), and \(dz \wedge dy = -dy \wedge dz\). Collecting onto \(dx \wedge dy\), \(dy \wedge dz\) and \(dx \wedge dz\):

\[\begin{aligned} df \wedge dg &= \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) (dx \wedge dy) \\ &\quad + \left( \partial_y f \partial_z g - \partial_z f \partial_y g \right) (dy \wedge dz) \\ &\quad + \left( \partial_x f \partial_z g - \partial_z f \partial_x g \right) (dx \wedge dz) \end{aligned}\tag{14}\]

Three two-forms, each with its own \(2\times2\) determinant. Which is already a hint about what the answer is going to look like.

Now wedge that against \(dh\). Three two-forms times three terms in \(dh\) gives nine terms, and here they all are:

\[\begin{aligned} df \wedge dg \wedge dh &= \partial_x h \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) (dx \wedge dy \wedge dx) \\ &\quad + \partial_y h \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) (dx \wedge dy \wedge dy) \\ &\quad + \partial_z h \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) (dx \wedge dy \wedge dz) \\ &\quad + \partial_x h \left( \partial_y f \partial_z g - \partial_z f \partial_y g \right) (dy \wedge dz \wedge dx) \\ &\quad + \partial_y h \left( \partial_y f \partial_z g - \partial_z f \partial_y g \right) (dy \wedge dz \wedge dy) \\ &\quad + \partial_z h \left( \partial_y f \partial_z g - \partial_z f \partial_y g \right) (dy \wedge dz \wedge dz) \\ &\quad + \partial_x h \left( \partial_x f \partial_z g - \partial_z f \partial_x g \right) (dx \wedge dz \wedge dx) \\ &\quad + \partial_y h \left( \partial_x f \partial_z g - \partial_z f \partial_x g \right) (dx \wedge dz \wedge dy) \\ &\quad + \partial_z h \left( \partial_x f \partial_z g - \partial_z f \partial_x g \right) (dx \wedge dz \wedge dz) \end{aligned}\tag{15}\]

Six of those nine contain a repeated basis one-form, so they're zero. Going down the list: rows one and seven repeat \(dx\), rows two and five repeat \(dy\), rows six and nine repeat \(dz\). What's left is rows three, four and eight:

\[\begin{aligned} df \wedge dg \wedge dh &= \partial_z h \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) (dx \wedge dy \wedge dz) \\ &\quad + \partial_x h \left( \partial_y f \partial_z g - \partial_z f \partial_y g \right) (dy \wedge dz \wedge dx) \\ &\quad + \partial_y h \left( \partial_x f \partial_z g - \partial_z f \partial_x g \right) (dx \wedge dz \wedge dy) \end{aligned}\tag{16}\]

Three survivors out of nine, each on a different ordering of the same three basis forms. To add them we need them all on \(dx \wedge dy \wedge dz\).

The first is already there. The second, \(dy \wedge dz \wedge dx\), is a cyclic shift of \(dx \wedge dy \wedge dz\), and a cyclic shift of three things is two swaps, so it's even and the sign is positive. The third, \(dx \wedge dz \wedge dy\), is one swap of the last two, so it's odd and the sign flips:

\[\begin{aligned} dx \wedge dy \wedge dz &= + dx \wedge dy \wedge dz \\ dy \wedge dz \wedge dx &= + dx \wedge dy \wedge dz \\ dx \wedge dz \wedge dy &= - dx \wedge dy \wedge dz \end{aligned}\tag{17}\]

Substituting those in:

\[\begin{aligned} df \wedge dg \wedge dh = \big[ &\partial_z h \left( \partial_x f \partial_y g - \partial_y f \partial_x g \right) \\ &+ \partial_x h \left( \partial_y f \partial_z g - \partial_z f \partial_y g \right) \\ &- \partial_y h \left( \partial_x f \partial_z g - \partial_z f \partial_x g \right) \big] (dx \wedge dy \wedge dz) \end{aligned}\tag{18}\]

Expand the three brackets to get six terms:

\[\begin{aligned} df \wedge dg \wedge dh = \big( &\partial_x f \partial_y g \partial_z h - \partial_y f \partial_x g \partial_z h \\ &+ \partial_y f \partial_z g \partial_x h - \partial_z f \partial_y g \partial_x h \\ &- \partial_x f \partial_z g \partial_y h + \partial_z f \partial_x g \partial_y h \big) (dx \wedge dy \wedge dz) \end{aligned}\tag{19}\]

1.5 Matching the determinant

Now expand the \(3\times3\) determinant separately, by cofactors along the top row, and see whether it agrees. The matrix has the gradients of \(f\), \(g\), \(h\) as its rows:

\[\begin{aligned} \begin{vmatrix} \partial_x f & \partial_y f & \partial_z f \\ \partial_x g & \partial_y g & \partial_z g \\ \partial_x h & \partial_y h & \partial_z h \end{vmatrix} = &\partial_x f \begin{vmatrix} \partial_y g & \partial_z g \\ \partial_y h & \partial_z h \end{vmatrix} \\ &- \partial_y f \begin{vmatrix} \partial_x g & \partial_z g \\ \partial_x h & \partial_z h \end{vmatrix} \\ &+ \partial_z f \begin{vmatrix} \partial_x g & \partial_y g \\ \partial_x h & \partial_y h \end{vmatrix} \end{aligned}\tag{20}\]

Expanding each of the three \(2\times2\) minors gives six terms:

\[\begin{aligned} = &\partial_x f \partial_y g \partial_z h - \partial_x f \partial_z g \partial_y h \\ &- \partial_y f \partial_x g \partial_z h + \partial_y f \partial_z g \partial_x h \\ &+ \partial_z f \partial_x g \partial_y h - \partial_z f \partial_y g \partial_x h \end{aligned}\tag{21}\]

Here's what we get:

\[\begin{aligned} \text{From the wedge} \quad & \quad \text{From the determinant} \\ + \partial_x f \partial_y g \partial_z h \quad & \quad + \partial_x f \partial_y g \partial_z h \\ - \partial_y f \partial_x g \partial_z h \quad & \quad - \partial_y f \partial_x g \partial_z h \\ + \partial_y f \partial_z g \partial_x h \quad & \quad + \partial_y f \partial_z g \partial_x h \\ - \partial_z f \partial_y g \partial_x h \quad & \quad - \partial_z f \partial_y g \partial_x h \\ - \partial_x f \partial_z g \partial_y h \quad & \quad - \partial_x f \partial_z g \partial_y h \\ + \partial_z f \partial_x g \partial_y h \quad & \quad + \partial_z f \partial_x g \partial_y h \end{aligned}\tag{22}\]

Every term matches, signs included. So

\[df \wedge dg \wedge dh = \begin{vmatrix} \partial_x f & \partial_y f & \partial_z f \\\\ \partial_x g & \partial_y g & \partial_z g \\\\ \partial_x h & \partial_y h & \partial_z h \end{vmatrix} dx \wedge dy \wedge dz \tag{23}\]

1.6 Why it actually has to be a determinant

Look at what produced the answer both times. It wasn't any facts about integration, nothing about volumes, nothing about limits of small boxes. Just the idea that repeated basis forms vanish, and swapping two of them flips the sign.

Those two facts are the definition of a determinant. A determinant is the unique multilinear function that's antisymmetric under swapping arguments and normalised to one on the identity, so the moment you write your area element as an antisymmetric product, you've already required the answer to be a determinant.

Which also tells you the general case without doing the calculation. Wedging \(n\) one-forms in \(n\) dimensions gives \(n^n\) terms, and only the ones with no repeated index survive, so exactly \(n!\) make it through (one for each permutation of the coordinates, each carrying the sign of that permutation). A signed sum over all permutations is the Leibniz formula for the determinant. In three dimensions that's \(3! = 6\), which is exactly the six terms we found above, and the six that died to repeats plus the diagonal casualties earlier account for everything else.

One last note on the change of variables formula, where the Jacobian appears inside absolute value bars. That's because a wedge product tracks orientation and an integral of a scalar doesn't. Swap two coordinates and the wedge product flips sign while the volume doesn't, so if all you want is size, you take the modulus. I actually very strongly urge you to write out this proof. It's very satisfying, gets you comfortable with the wedge product, and is nice and straightforward!