Tutorials / Why the Determinant Is a Volume — Three Proofs

Why the Determinant Is a Volume — Three Proofs

September 5, 2026

Linear AlgebraDeterminantVolumeQR DecompositionMathematics for Machine Learning

Why the Determinant Is a Volume — Three Proofs

The claim

Let A=[a1an]A = [\mathbf{a}_1 \cdots \mathbf{a}_n] be an n×nn \times n matrix whose columns are the vectors a1,,anRn\mathbf{a}_1, \dots, \mathbf{a}_n \in \mathbb{R}^n. The parallelepiped spanned by these columns is the set

P(A)={i=1ntiai  :  0ti1}.P(A) = \left\{ \sum_{i=1}^n t_i \mathbf{a}_i \;:\; 0 \le t_i \le 1 \right\}.

Theorem (MML Example 4.2, Section 4.1). The signed nn-dimensional volume of P(A)P(A) equals detA\det A. Taking absolute values,

vol(P(A))=detA.\operatorname{vol}\bigl(P(A)\bigr) = |\det A|.

The book states this as a fact and illustrates it with a numeric example, but does not prove it. This page gives three proofs, from the most elementary to the most intrinsic.


Proof 1 — Column operations (the elementary version)

The cleanest way to see the identity is to notice that elementary column operations change volume and determinant in exactly the same way. Since every invertible matrix is a product of such operations applied to the identity matrix (whose column-parallelepiped is the unit cube, volume 11, and detI=1\det I = 1), the two quantities must agree.

There are three moves.

1. Swap two columns. This reflects the parallelepiped across a hyperplane, flipping its orientation. The signed volume changes sign, VVV \to -V. Swapping two columns of a matrix also flips the sign of the determinant, detAdetA\det A \to -\det A. Same.

Swap two columns: the parallelepiped is reflected, volume unchanged, orientation (sign) flips

Before: A=[10.50.3010.4001], detA=1After (swap a2a3): A=[10.30.500.41010], detA=1\text{Before: } A = \begin{bmatrix} 1 & 0.5 & 0.3 \\ 0 & 1 & 0.4 \\ 0 & 0 & 1 \end{bmatrix},\ \det A = 1 \qquad \text{After (swap } a_2 \leftrightarrow a_3\text{): } A' = \begin{bmatrix} 1 & 0.3 & 0.5 \\ 0 & 0.4 & 1 \\ 0 & 1 & 0 \end{bmatrix},\ \det A' = -1

2. Add a scalar multiple of one column to another (a shear): replace aj\mathbf{a}_j by aj+cai\mathbf{a}_j + c\,\mathbf{a}_i. Geometrically this is a shear along the direction of ai\mathbf{a}_i. It does not change the perpendicular height of the parallelepiped onto the remaining n1n-1 directions, so the volume is unchanged. Algebraically, this is right-multiplication by an elementary matrix EE with detE=1\det E = 1, so det(AE)=detA\det(AE) = \det A. Same.

Shear: a3 → a3 + 0.8·a1 slants the box but leaves its volume unchanged

Before: A=[10.50.3010.4001], detA=1After (shear a3a3+0.8a1): A=[10.51.1010.4001], detA=1\text{Before: } A = \begin{bmatrix} 1 & 0.5 & 0.3 \\ 0 & 1 & 0.4 \\ 0 & 0 & 1 \end{bmatrix},\ \det A = 1 \qquad \text{After (shear } a_3 \to a_3 + 0.8\,a_1\text{): } A' = \begin{bmatrix} 1 & 0.5 & 1.1 \\ 0 & 1 & 0.4 \\ 0 & 0 & 1 \end{bmatrix},\ \det A' = 1

3. Multiply a column by a scalar cc. This stretches one edge of the parallelepiped by c|c|, scaling the volume by c|c|. Multiplying a column of a matrix by cc scales the determinant by cc. Same.

Scale: a2 → 1.6·a2 stretches one edge, scaling the volume by 1.6

Before: A=[10.50.3010.4001], detA=1After (scale a21.6a2): A=[10.80.301.60.4001], detA=1.6\text{Before: } A = \begin{bmatrix} 1 & 0.5 & 0.3 \\ 0 & 1 & 0.4 \\ 0 & 0 & 1 \end{bmatrix},\ \det A = 1 \qquad \text{After (scale } a_2 \to 1.6\,a_2\text{): } A' = \begin{bmatrix} 1 & 0.8 & 0.3 \\ 0 & 1.6 & 0.4 \\ 0 & 0 & 1 \end{bmatrix},\ \det A' = 1.6

Because the only move that ever changes the shape of the box (the shear) changes neither quantity, the volume of P(A)P(A) and detA|\det A| are the same function of AA. \blacksquare

Why this is rigorous. The three moves generate the full general linear group: any invertible AA can be reduced to II by a sequence of shears and column scalings (and, if needed, swaps). Each step preserves the equality “volume =det= |\det|”, and at II both sides equal 11. Hence the equality holds for every invertible AA. For singular AA the parallelepiped is flat (zero volume) and detA=0\det A = 0, so the identity holds there too.


Proof 2 — QR factorization (the most computational)

Factor A=QRA = QR, where QQ is orthogonal (QQ=IQ^\top Q = I, so detQ=1|\det Q| = 1) and RR is upper triangular. Then

detA=detQdetR,detA=detR.\det A = \det Q \cdot \det R, \qquad |\det A| = |\det R|.

Now look at what the columns of AA actually are. Since QQ is orthogonal, it is a rigid motion: it preserves lengths and angles, hence it preserves the volume of any parallelepiped. Therefore the parallelepiped of AA‘s columns is a rigid rotation of the parallelepiped of RR‘s columns:

vol(P(A))=vol(P(R)).\operatorname{vol}\bigl(P(A)\bigr) = \operatorname{vol}\bigl(P(R)\bigr).

But RR is upper triangular, so its columns are

r1=(r1100),r2=(r12r220),,rn=(r1nrnn).\mathbf{r}_1 = \begin{pmatrix} r_{11} \\ 0 \\ \vdots \\ 0 \end{pmatrix},\quad \mathbf{r}_2 = \begin{pmatrix} r_{12} \\ r_{22} \\ \vdots \\ 0 \end{pmatrix},\quad \dots,\quad \mathbf{r}_n = \begin{pmatrix} r_{1n} \\ \vdots \\ r_{nn} \end{pmatrix}.

The column-parallelepiped of an upper-triangular matrix is an orthogonal box aligned with the coordinate axes, with edge lengths r11,r22,,rnn|r_{11}|, |r_{22}|, \dots, |r_{nn}|. Its volume is the product of those lengths:

vol(P(R))=r11r22rnn=detR.\operatorname{vol}\bigl(P(R)\bigr) = |r_{11} r_{22} \cdots r_{nn}| = |\det R|.

(The diagonal entries rii|r_{ii}| are exactly the lengths that the Gram–Schmidt process produces when it orthogonalizes the columns of AA.) Combining the two equalities,

vol(P(A))=detR=detA.\operatorname{vol}\bigl(P(A)\bigr) = |\det R| = |\det A|. \qquad \blacksquare

Reference note. The QR factorization is built from the Gram–Schmidt orthogonalization, which MML covers in Section 3.8.3. (MML’s Chapter 4 covers determinants, eigenvalues, Cholesky, eigendecomposition, and the SVD, but does not itself introduce QR; the factorization is standard and appears in any linear-algebra text, e.g. Strang, Linear Algebra and Its Applications.)


Proof 3 — Wedge products and the volume form (the intrinsic reason)

The deepest statement is that the determinant is the signed volume functional. On Rn\mathbb{R}^n there is a unique alternating multilinear form ω\omega that sends the standard basis to 11 — the volume form — and it is exactly the determinant:

ω(a1,,an)=det[a1an].\omega(\mathbf{a}_1, \dots, \mathbf{a}_n) = \det[\mathbf{a}_1 \cdots \mathbf{a}_n].

Equivalently, in the language of exterior algebra,

a1a2an=det[a1an]    (e1en).\mathbf{a}_1 \wedge \mathbf{a}_2 \wedge \cdots \wedge \mathbf{a}_n = \det[\mathbf{a}_1 \cdots \mathbf{a}_n] \;\cdot\; (\mathbf{e}_1 \wedge \cdots \wedge \mathbf{e}_n).

For a parallelepiped (as opposed to an arbitrary nn-chain), this alternating form measures exactly the signed hypervolume of the cell spanned by the ai\mathbf{a}_i. That single identity is the whole theorem — it is a theorem, not a definition, and it is precisely what Example 4.2 is illustrating numerically.

Reference note. The volume-form / wedge-product viewpoint is standard differential geometry and exterior algebra, not covered in MML. See e.g. Spivak, Calculus on Manifolds (Chapter 4, “Integration on Chains”), or any introduction to exterior algebra.


The geometric idea in one line

A shear (add c×c \times one column to another) changes neither the perpendicular height nor the determinant. Only genuine scaling and reflection change both — and they change them by the same factor. So volume and det|\det| must be the same function of AA.


Why this matters in machine learning

The identity “volume =det= |\det|” is the reason the determinant appears everywhere in the book and in practice:

  • Change of variables in integration. The substitution rule for multiple integrals is

    f(x)dx=f(ϕ(u))detJϕ(u)du,\int f(\mathbf{x})\,d\mathbf{x} = \int f\bigl(\phi(\mathbf{u})\bigr)\,|\det J_\phi(\mathbf{u})|\,d\mathbf{u},

    where JϕJ_\phi is the Jacobian. The factor detJϕ|\det J_\phi| is precisely the local volume-scaling factor of the map ϕ\phi — the same “volume of the image of the unit cube” idea.

  • Eigenvalues. For a diagonalizable AA, detA=iλi\det A = \prod_i \lambda_i. The volume of the image of the unit cube is the product of the stretch factors along the eigen-directions.

  • The SVD. The singular values σ1,,σn\sigma_1, \dots, \sigma_n are the edge lengths of the box that the unit cube maps to, so detA=σ1σ2σn|\det A| = \sigma_1 \sigma_2 \cdots \sigma_n. This is why the SVD “factorizes” the volume distortion into independent one-dimensional stretches.

  • Probability. The density of a transformed random variable picks up a det|\det| Jacobian factor for exactly the same geometric reason.


References

  1. Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong, Mathematics for Machine Learning, Cambridge University Press, 2020. Example 4.2 (“Determinants as Measures of Volume”) and the surrounding discussion are in Section 4.1, “Determinant and Trace”. Free PDF: mml-book.github.io.
  2. Gram–Schmidt orthogonalization (the engine behind the QR factorization used in Proof 2): MML Section 3.8.3.
  3. QR factorization as a standard matrix decomposition: see any linear-algebra text, e.g. Gilbert Strang, Linear Algebra and Its Applications.
  4. Volume form / wedge products (Proof 3): Michael Spivak, Calculus on Manifolds, Chapter 4, “Integration on Chains”.

Comments