Skip to content

Determinant and Trace

Before factoring a matrix it helps to have a couple of numbers that summarise it. This page gives two: the determinant, which is a signed volume and decides invertibility, and the trace, which is the sum of the diagonal.

Both are cheap, both are single numbers, and — the property that makes them worth defining — both are invariant under a change of basis. They describe the linear mapping, not the particular matrix you happened to write down for it.

  • The determinant for n=1,2,3n = 1, 2, 3, the Laplace expansion for general nn, and the triangular shortcut.
  • Why detA0\det\mathbf{A} \neq 0, invertibility, and full rank are the same condition (Theorems 4.1 and 4.3).
  • The determinant as a signed volume, verified on the book’s Example 4.2 where the answer is 186186.
  • The seven properties of the determinant, each measured.
  • The trace, its four defining properties, and the cyclic-permutation identity that makes it useful.
  • Equation 4.21: the trace of a linear mapping is basis independent, measured over two thousand random changes of basis.
  • The characteristic polynomial, whose constant term is the determinant and whose next coefficient is the trace.

Intuition: how much does this map stretch space?

Section titled “Intuition: how much does this map stretch space?”

Feed the unit square through a 2×22\times2 matrix and you get a parallelogram. Its area is detA\lvert\det\mathbf{A}\rvert. Feed the unit cube through a 3×33\times3 matrix and you get a parallelepiped, whose volume is again detA\lvert\det\mathbf{A}\rvert.

That one sentence explains most of the determinant’s behaviour before any algebra:

  • det=0\det = 0 means the volume collapsed, so the map squashed space into a lower dimension, so it threw information away, so it cannot be inverted.
  • det(AB)=detAdetB\det(\mathbf{A}\mathbf{B}) = \det\mathbf{A}\det\mathbf{B} because applying two maps in sequence multiplies their stretch factors.
  • det(λA)=λndetA\det(\lambda\mathbf{A}) = \lambda^n\det\mathbf{A} because scaling all nn edges of a box by λ\lambda scales its volume by λn\lambda^n.
  • The sign records orientation: whether the map preserved handedness or mirrored it.

The trace has no such picture in general — it is a sum of diagonal entries, which are basis-dependent quantities. What makes it meaningful is that the sum is not.

diagram Diagram mermaid

The 2×22\times2 case is not arbitrary. Example 4.1 derives it: the inverse of a 2×22\times2 matrix is

A1=1a11a22a12a21[a22a12a21a11]\mathbf{A}^{-1} = \frac{1}{a_{11}a_{22} - a_{12}a_{21}}\begin{bmatrix} a_{22} & -a_{12}\\ -a_{21} & a_{11}\end{bmatrix}

so the matrix is invertible exactly when that denominator is nonzero. The determinant is not a formula someone invented; it is the quantity that has to be nonzero for the inverse to exist, extracted and named.

This is the whole practical algorithm. Gaussian elimination brings a matrix to triangular form using only operations whose effect on the determinant is known — adding a multiple of one row to another changes nothing, scaling a row by λ\lambda multiplies by λ\lambda, swapping two rows flips the sign — so you eliminate, multiply the diagonal, and correct for what you did.

The recursion is correct and unusable. Expanding an n×nn\times n determinant needs nn sub-determinants of size n1n-1, so the count satisfies L(n)=nL(n1)+nL(n) = n\,L(n-1) + n — which grows like n!n!. Measured against Gaussian elimination’s n3/3n^3/3:

nnLaplace multiplicationsGaussian eliminationratio
39910100.90.9
520520544444.74.7
106.24×1066.24\times10^{6}3393391.8×1041.8\times10^{4}
152.25×10122.25\times10^{12}113411342.0×1092.0\times10^{9}
204.18×10184.18\times10^{18}267926791.6×10151.6\times10^{15}

At n=3n = 3 the recursion is actually cheaper, which is why hand calculation uses it and why it feels reasonable. By n=20n = 20 it is fifteen orders of magnitude worse.

For ARn×n\mathbf{A} \in \mathbb{R}^{n\times n}:

propertystatementmeasured gap
multiplicativedet(AB)=detAdetB\det(\mathbf{A}\mathbf{B}) = \det\mathbf{A}\,\det\mathbf{B}5.3×10155.3\times10^{-15}
transpose-invariantdetA=detA\det\mathbf{A} = \det\mathbf{A}^\top2.7×10152.7\times10^{-15}
inversedet(A1)=1detA\det(\mathbf{A}^{-1}) = \dfrac{1}{\det\mathbf{A}}5.6×10175.6\times10^{-17}
similarity-invariantsimilar matrices have the same determinantsee the figure
row additionadding a multiple of a row to another leaves det\det unchanged3.6×10153.6\times10^{-15}
row scalingscaling a row by λ\lambda scales det\det by λ\lambda; so det(λA)=λndetA\det(\lambda\mathbf{A}) = \lambda^n\det\mathbf{A}exact ratio 4.04.0 and λ5\lambda^5
row swapswapping two rows flips the signexact ratio 1-1

All measured on random 5×55\times5 matrices. The last three are what license Gaussian elimination as a determinant algorithm.

The fourth property is stranger than it looks: AB\mathbf{A}\mathbf{B} is n×nn\times n and BA\mathbf{B}\mathbf{A} is k×kk\times k, so those are matrices of different sizes with the same trace. Measured on a 4×64\times6 times a 6×46\times4: both traces come to 0.1133701535-0.1133701535, from a 4×44\times4 and a 6×66\times6 respectively.

It generalises to invariance under cyclic permutation (Equation 4.19):

tr(AKL)=tr(KLA)\mathrm{tr}(\mathbf{A}\mathbf{K}\mathbf{L}) = \mathrm{tr}(\mathbf{K}\mathbf{L}\mathbf{A})

and specialises, for vectors, to Equation 4.20:

tr(xy)=tr(yx)=yxR\mathrm{tr}(\mathbf{x}\mathbf{y}^\top) = \mathrm{tr}(\mathbf{y}^\top\mathbf{x}) = \mathbf{y}^\top\mathbf{x} \in \mathbb{R}

That last identity is the one you will actually use. It turns the trace of an n×nn\times n outer product into a single dot product, and it is how every “trace trick” derivation in machine learning starts.

The proof is one application of cyclic invariance. This is the property that promotes both quantities from “facts about a matrix” to “facts about a mapping”, and the reason they belong in the same section as the eigenvalues, which share it.

Set λ=0\lambda = 0 and the first identity is immediate. The second takes a little more work and is worth knowing because it means the determinant and the trace are two coefficients of the same polynomial — the bottom one and the top-but-one. §4.2 will show that the polynomial’s roots are the eigenvalues, at which point det=λi\det = \prod\lambda_i and tr=λi\mathrm{tr} = \sum\lambda_i follow as Theorems 4.16 and 4.17.

A=[123312001]\mathbf{A} = \begin{bmatrix} 1 & 2 & 3\\ 3 & 1 & 2\\ 0 & 0 & 1\end{bmatrix}

Expand along the first row, so j=1j = 1 in Equation 4.13:

123312001=(1)1+111201+(1)1+223201+(1)1+333100\begin{vmatrix} 1 & 2 & 3\\ 3 & 1 & 2\\ 0 & 0 & 1\end{vmatrix} = (-1)^{1+1}\cdot 1 \begin{vmatrix} 1 & 2\\ 0 & 1\end{vmatrix} + (-1)^{1+2}\cdot 2 \begin{vmatrix} 3 & 2\\ 0 & 1\end{vmatrix} + (-1)^{1+3}\cdot 3 \begin{vmatrix} 3 & 1\\ 0 & 0\end{vmatrix}

Each 2×22\times2 by Equation 4.6:

minorworkingvalue
1201\begin{vmatrix}1&2\\0&1\end{vmatrix}1(1)2(0)1(1) - 2(0)11
3201\begin{vmatrix}3&2\\0&1\end{vmatrix}3(1)2(0)3(1) - 2(0)33
3100\begin{vmatrix}3&1\\0&0\end{vmatrix}3(0)1(0)3(0) - 1(0)00
detA=1(1)2(3)+3(0)=16=5\det\mathbf{A} = 1(1) - 2(3) + 3(0) = 1 - 6 = -5

Cross-check with Sarrus’ rule (Equation 4.17):

111+303+022013102321=16=51\cdot1\cdot1 + 3\cdot0\cdot3 + 0\cdot2\cdot2 - 0\cdot1\cdot3 - 1\cdot0\cdot2 - 3\cdot2\cdot1 = 1 - 6 = -5

Both routes give 5-5, matching Equations 4.16 and 4.17.

A third route is faster than either. The third row is (0,0,1)(0, 0, 1), so expanding along that row leaves one term:

detA=(1)3+311231=16=5\det\mathbf{A} = (-1)^{3+3}\cdot 1 \begin{vmatrix}1&2\\3&1\end{vmatrix} = 1 - 6 = -5

Laplace lets you choose the row or column, and choosing the one with the most zeros is free.

r=[208],g=[610],b=[141]A=[r,g,b]=[261014801]\mathbf{r} = \begin{bmatrix}2\\0\\-8\end{bmatrix}, \quad \mathbf{g} = \begin{bmatrix}6\\1\\0\end{bmatrix}, \quad \mathbf{b} = \begin{bmatrix}1\\4\\-1\end{bmatrix} \qquad\Longrightarrow\qquad \mathbf{A} = [\mathbf{r}, \mathbf{g}, \mathbf{b}] = \begin{bmatrix}2&6&1\\0&1&4\\-8&0&-1\end{bmatrix}

Sarrus:

2(1)(1)+0(0)(1)+(8)(6)(4)(8)(1)(1)2(0)(4)0(6)(1)=2+0192+800=1862(1)(-1) + 0(0)(1) + (-8)(6)(4) - (-8)(1)(1) - 2(0)(4) - 0(6)(-1) = -2 + 0 - 192 + 8 - 0 - 0 = -186

so V=detA=186V = \lvert\det\mathbf{A}\rvert = 186, which is Equation 4.11. The determinant itself is 186-186: the three vectors form a left-handed frame.

determinants_worked.py
import numpy as np
 
# Example 4.3
A = np.array([[1.0, 2.0, 3.0], [3.0, 1.0, 2.0], [0.0, 0.0, 1.0]])
print("det:", float(np.linalg.det(A)))
print("Laplace, first row: 1*(1) - 2*(3) + 3*(0) =", 1 * 1 - 2 * 3 + 3 * 0)
print("Laplace, third row: 1*(1*1 - 2*3)         =", 1 * (1 * 1 - 2 * 3))
 
# Example 4.2
r, g, b = np.array([2.0, 0, -8]), np.array([6.0, 1, 0]), np.array([1.0, 4, -1])
V = np.stack([r, g, b], axis=1)
print("det [r, g, b] =", float(np.linalg.det(V)), " volume =", abs(float(np.linalg.det(V))))
 
# The seven properties, measured on random 5x5 matrices.
rng = np.random.default_rng(11)
X, Y = rng.normal(size=(5, 5)), rng.normal(size=(5, 5))
dX = float(np.linalg.det(X))
print("det(XY) - det(X)det(Y):", f"{abs(float(np.linalg.det(X @ Y)) - dX * float(np.linalg.det(Y))):.3e}")
print("det(X)  - det(X^T)    :", f"{abs(dX - float(np.linalg.det(X.T))):.3e}")
print("det(inv X) - 1/det(X) :", f"{abs(float(np.linalg.det(np.linalg.inv(X))) - 1 / dX):.3e}")
print("det(2.7 X)/det(X) =", round(float(np.linalg.det(2.7 * X)) / dX, 6), " 2.7^5 =", round(2.7 ** 5, 6))
 
Z = X.copy(); Z[1] += 3.4 * Z[0]
print("row addition changes det by:", f"{abs(float(np.linalg.det(Z)) - dX):.3e}")
Z = X.copy(); Z[[0, 2]] = Z[[2, 0]]
print("row swap det ratio:", round(float(np.linalg.det(Z)) / dX, 12))
Z = X.copy(); Z[2] *= 4.0
print("row scaling det ratio:", round(float(np.linalg.det(Z)) / dX, 10))
 
# Triangular shortcut.
T = np.triu(rng.normal(size=(6, 6)))
print("det(T):", f"{float(np.linalg.det(T)):.10f}", " prod(diag):", f"{float(np.prod(np.diag(T))):.10f}")
output
det: -5.000000000000001
Laplace, first row: 1*(1) - 2*(3) + 3*(0) = -5
Laplace, third row: 1*(1*1 - 2*3)         = -5
det [r, g, b] = -185.99999999999991  volume = 185.99999999999991
det(XY) - det(X)det(Y): 5.329e-15
det(X)  - det(X^T)    : 2.665e-15
det(inv X) - 1/det(X) : 5.551e-17
det(2.7 X)/det(X) = 143.48907  2.7^5 = 143.48907
row addition changes det by: 3.553e-15
row swap det ratio: -1.0
row scaling det ratio: 4.0
det(T): -0.1289325988  prod(diag): -0.1289325988

Two things in that output. The determinant of the integer matrix comes out at 5.000000000000001-5.000000000000001, not 5-5, because np.linalg.det runs an LU factorisation in floating point; Sarrus’ rule on integers would give exactly 5-5. And the volume prints as 185.99999999999991185.99999999999991 for the same reason — the book’s 186186 is the exact answer and this is the computed one.

The first sketch is the determinant as a signed area, with the sign flip visible.

sketch The determinant as signed area p5.js
Drag either column vector. The shaded parallelogram is the image of the unit square, its area is the absolute determinant, and the shading colour is the sign. Cross one vector past the other and the sign flips: the map has started mirroring rather than merely stretching.

The second sketch is the three row operations, each with its known effect on the determinant. This is the justification for computing determinants by elimination.

sketch Row operations, and what each does to the determinant p5.js
A fixed 3 by 3 matrix with three operations you can apply. Adding a multiple of one row to another leaves the determinant untouched; scaling a row multiplies it; swapping two rows flips its sign. Those three facts are exactly what makes Gaussian elimination a determinant algorithm.

And the matrix stepper, which reports the determinant and the trace alongside the geometry:

matrixOne matrix, two summary numberslinear map on R^2
-505-505x1x2
2-111.50
columns of A = images of e1, e2
det A 4area factor 4orientation preserved
det A4A e1(2, 1)A e2(-1, 1.50)
basisThe plane before anything happens, with the standard basis e1 = (1, 0) and e2 = (0, 1) and the unit square they span.
1/8

Watch the unit square's image: its area is the absolute determinant. The eigenvalues the stepper reports multiply to that determinant and add to the trace, which is section 4.2's Theorems 4.16 and 4.17.

det_and_trace_from_scratch.py
import numpy as np
 
def det_laplace(A):
    """Theorem 4.2, recursively. Correct, and never use it beyond n = 4."""
    A = np.asarray(A, dtype=float)
    n = A.shape[0]
    if n == 1:
        return A[0, 0]
    total = 0.0
    for k in range(n):                       # expand along column 0
        minor = np.delete(np.delete(A, k, axis=0), 0, axis=1)
        total += (-1) ** k * A[k, 0] * det_laplace(minor)
    return total
 
def det_elimination(A):
    """The practical route: eliminate, then multiply the diagonal."""
    M = np.array(A, dtype=float)
    n = M.shape[0]
    sign = 1.0
    for c in range(n):
        piv = int(np.argmax(np.abs(M[c:, c]))) + c
        if abs(M[piv, c]) < 1e-14:
            return 0.0                        # a zero column: singular
        if piv != c:
            M[[c, piv]] = M[[piv, c]]
            sign = -sign                      # row swap flips the sign
        for r in range(c + 1, n):
            M[r] -= (M[r, c] / M[c, c]) * M[c]   # row addition: no change
    return sign * float(np.prod(np.diag(M)))
 
rng = np.random.default_rng(4)
print(f"{'n':>3} {'laplace':>14} {'elimination':>14} {'numpy':>14} {'largest gap':>12}")
for n in (2, 3, 4, 5, 6):
    A = rng.integers(-4, 5, size=(n, n)).astype(float)
    dl, de, dn = det_laplace(A), det_elimination(A), float(np.linalg.det(A))
    print(f"{n:>3} {dl:>14.4f} {de:>14.4f} {dn:>14.4f} "
          f"{max(abs(dl - de), abs(de - dn)):>12.2e}")
 
# The trace identity that actually gets used: Equation 4.20.
x, y = rng.normal(size=400), rng.normal(size=400)
outer_trace = float(np.trace(np.outer(x, y)))      # builds a 400x400 matrix
dot = float(y @ x)                                  # builds nothing
print()
print("tr(x y^T) =", round(outer_trace, 10), "  y^T x =", round(dot, 10))
print("gap:", f"{abs(outer_trace - dot):.2e}",
      " and the second route never allocates the 400x400 outer product")
 
# Different-sized products, same trace (the fourth trace property).
A46 = rng.normal(size=(4, 6))
B64 = rng.normal(size=(6, 4))
print("tr(AB) on a 4x4:", round(float(np.trace(A46 @ B64)), 10))
print("tr(BA) on a 6x6:", round(float(np.trace(B64 @ A46)), 10))
output
  n        laplace    elimination          numpy  largest gap
  2       -12.0000       -12.0000       -12.0000     0.00e+00
  3        28.0000        28.0000        28.0000     3.55e-15
  4         0.0000         0.0000         0.0000     0.00e+00
  5     -1008.0000     -1008.0000     -1008.0000     5.68e-13
  6     -5634.0000     -5634.0000     -5634.0000     8.19e-12
 
tr(x y^T) = 32.7253247421   y^T x = 32.7253247421
gap: 7.11e-15  and the second route never allocates the 400x400 outer product
tr(AB) on a 4x4: 2.7234365498
tr(BA) on a 6x6: 2.7234365498

Note the last two lines: two matrices of different sizes4×44\times4 and 6×66\times6 — with the same trace to ten decimals. The three determinant routes agree at every size while the gap grows with nn, which is accumulating floating-point error rather than a disagreement about the answer. And the n=4n = 4 row happens to be a random integer matrix with determinant exactly 00 — a singular matrix found by accident, which all three routes report identically.

figure The determinant is the volume matplotlib
Left: three shaded parallelograms sharing one edge vector, each labelled with its absolute determinant, shrinking as the second vector turns towards the first. Right: a three-dimensional wireframe parallelepiped spanned by three labelled vectors, titled with a volume of 186. Left: three shaded parallelograms sharing one edge vector, each labelled with its absolute determinant, shrinking as the second vector turns towards the first. Right: a three-dimensional wireframe parallelepiped spanned by three labelled vectors, titled with a volume of 186.
On the left the same vector b is paired with three different g, and the area falls from 2.92 to 1.82 to 0.02 as g swings towards b. On the right the book's Example 4.2: det = -186, so the volume is 186 and the frame is left-handed.
figure Why the determinant is a theoretical tool matplotlib
A log-scale plot of multiplication counts against matrix size for the Laplace recursion and Gaussian elimination, with reference curves for n factorial and n cubed over three, annotated with the ratio at three sizes. A log-scale plot of multiplication counts against matrix size for the Laplace recursion and Gaussian elimination, with reference curves for n factorial and n cubed over three, annotated with the ratio at three sizes.
The Laplace recursion tracks n factorial and elimination tracks n cubed over three. At n = 3 the recursion is actually cheaper, which is why it feels reasonable; by n = 20 it needs 4.18e18 multiplications against 2679.
figure Equation 4.21, measured matplotlib
Left: a histogram of a single matrix entry across two thousand random changes of basis, spread over a wide range. Right: a scatter of the trace against the determinant for the same conjugations, zoomed to floating-point scale, showing a tight cluster on the original values. Left: a histogram of a single matrix entry across two thousand random changes of basis, spread over a wide range. Right: a scatter of the trace against the determinant for the same conjugations, zoomed to floating-point scale, showing a tight cluster on the original values.
1730 conjugations S-inverse A S. The (1,1) entry ranges over -31.9 to 62.0 and the largest single entry seen anywhere is 142.9, while the trace never moves by more than 1.4e-14 and the determinant by more than 1.5e-12.

From the volume figure. The left panel is the collapse. One vector is held fixed and the other is swung towards it: the areas measure 2.922.92, 1.821.82, 0.020.02. At exact parallelism the determinant is 0.00.0 to machine zero, and the matrix is singular — not “nearly singular”, singular, because the two columns are then linearly dependent and the rank drops.

The right panel is Example 4.2 verified, and it is worth reading the sign. The determinant is 186-186, not +186+186; the book quotes V=detA=186V = \lvert\det\mathbf{A}\rvert = 186 because volume is unsigned. The negative sign says (r,g,b)(\mathbf{r},\mathbf{g},\mathbf{b}) is a left-handed frame — swap any two of them and it becomes right-handed with determinant +186+186.

From the cost figure. Read the ratio column of the table above, not the curves. The crossover is at n=4n = 4: below that the Laplace recursion is genuinely competitive, which is why hand calculation uses it and why it does not feel like a bad idea. The reference lines confirm the asymptotics — the Laplace curve sits just above n!n! and the elimination curve just above n3/3n^3/3.

From the basis-change figure. This is the one to take seriously. The left histogram shows a single entry of S1AS\mathbf{S}^{-1}\mathbf{A}\mathbf{S} ranging from 31.9-31.9 to +62.0+62.0, against an original value of 33; somewhere in the sample an entry reached 142.9142.9. The matrix is being scrambled beyond recognition.

The right panel is the same 17301730 matrices plotted by trace and determinant, zoomed until floating-point noise is visible. Every point is on top of the original: the trace moved by at most 1.4×10141.4\times10^{-14} and the determinant by at most 1.5×10121.5\times10^{-12}.

So “invariant under a change of basis” is not a mild statement. Under conjugation the matrix retains almost nothing recognisable, and these two numbers retain everything. That is why the chapter opens with them, and it is the same argument that will promote the eigenvalues in §4.2.

determinanttrace
definitionsigned volume, Equation 4.1sum of the diagonal, Equation 4.18
defined forsquare matrices onlysquare matrices only
on a sumno simple ruleadditive: tr(A+B)=trA+trB\mathrm{tr}(\mathbf{A}+\mathbf{B}) = \mathrm{tr}\mathbf{A} + \mathrm{tr}\mathbf{B}
on a productmultiplicative: detAdetB\det\mathbf{A}\det\mathbf{B}cyclic: tr(AB)=tr(BA)\mathrm{tr}(\mathbf{A}\mathbf{B}) = \mathrm{tr}(\mathbf{B}\mathbf{A})
on a scalar multipleλndetA\lambda^n \det\mathbf{A}λtrA\lambda\,\mathrm{tr}\mathbf{A}
basis independent?yesyes
in terms of eigenvaluesiλi\prod_i \lambda_i (Thm 4.16)iλi\sum_i \lambda_i (Thm 4.17)
costO(n3)O(n^3) by eliminationO(n)O(n)
tests invertibility?yes, in principleno
overflows?routinely, past n150n \approx 150no
pch.quizTag Check your understanding
  1. The book derives the 2x2 determinant from the formula for the inverse. Why is that the right way round?

    pch.quizShowAnswer

    B — Because the determinant is precisely the quantity that has to be nonzero for the inverse to exist — Equation 4.2 has it as a denominator, and Equation 4.3 names the condition — Theorem 4.1 then generalises it: A is invertible if and only if det A is nonzero, and Theorem 4.3 adds that this is the same as having full rank.

  2. Which three determinant properties license Gaussian elimination as a determinant algorithm?

    pch.quizShowAnswer

    B — Adding a multiple of a row to another leaves it unchanged, scaling a row scales it, and swapping two rows flips its sign — so you can reach triangular form while tracking exactly what happened — Measured on random 5x5 matrices: row addition changed the determinant by 3.6e-15, a row swap gave a ratio of exactly -1, and scaling a row by 4 gave exactly 4.

  3. tr(AB) = tr(BA) for A of shape 4x6 and B of shape 6x4. What is odd about that statement?

    pch.quizShowAnswer

    B — AB is 4x4 and BA is 6x6 — two matrices of different sizes with the same trace, measured here as -1.5121771480 for both — It generalises to invariance under cyclic permutation, and specialises for vectors to tr(x y-transpose) = y-transpose x — the identity that lets you avoid building an outer product at all.

  4. Under two thousand random changes of basis, one entry of the matrix ranged over -31.9 to 62.0 while the trace moved by at most 1.4e-14. What is the significance?

    pch.quizShowAnswer

    B — The matrix retains almost nothing recognisable under conjugation, and the trace and determinant retain everything — so they are properties of the linear mapping rather than of its representation — Equation 4.21 proves it in one line from cyclic invariance. It is also the argument that promotes the eigenvalues in section 4.2, which are invariant for the same reason.

Exercise 2 – Verify the seven properties

Section titled “Exercise 2 – Verify the seven properties”

Exercise 3 – Laplace against elimination

Section titled “Exercise 3 – Laplace against elimination”

Exercise 4 – The trace identity worth memorising

Section titled “Exercise 4 – The trace identity worth memorising”

Exercise 5 – Basis independence, measured

Section titled “Exercise 5 – Basis independence, measured”
  • The determinant is a signed volume: the absolute value is the volume of the parallelepiped spanned by the columns, and the sign records orientation.
  • det A nonzero, invertible, and full rank are the same condition — Theorems 4.1 and 4.3.
  • For a triangular matrix the determinant is the product of the diagonal, which is why Gaussian elimination is the practical algorithm.
  • The Laplace expansion is correct and costs about n factorial. At n = 20 that is 4.2e18 multiplications against 2679 for elimination — the book says numerical methods superseded the explicit determinant, and this is the size of the reason.
  • Three row operations have known effects: adding a multiple of a row changes nothing, scaling a row scales the determinant, swapping two rows flips its sign.
  • The trace is the sum of the diagonal, is additive rather than multiplicative, and is the only function satisfying its four listed properties.
  • The trace is invariant under cyclic permutation, so tr(AB) equals tr(BA) even when the two products have different sizes; for vectors it collapses to tr(x y-transpose) = y-transpose x.
  • Both the determinant and the trace survive a change of basis — measured, a single entry roamed over a range of 94 while the trace held to fourteen decimals.
  • They are two coefficients of the characteristic polynomial: the constant term is the determinant and the next-to-leading one is plus or minus the trace.

Next: Eigenvalues and Eigenvectors — the roots of that polynomial, and what they mean.

pch.coffeeTagline

pch.coffeeCta

pch.feedbackHeading

pch.feedbackSubheading