There are no explanations on this page. Solve the problems in order and you'll have rebuilt the core of a first course in linear algebra yourself, from "what is a dependence" to the spectral theorem.
This is how R. L. Moore taught at Texas: hand out the theorems, forbid the textbook, and make the students prove everything. It's slow, and it's the only way I know to make the ideas really yours. Each problem has hints you can reveal one at a time, and a solution sketch for when you're properly stuck. Try to hold out for it. The shaded boxes define every term before the problems use it. The lines on the left show which earlier problems each one leans on. Once you've solved a problem, mark it and you'll find out what you just proved.
Vectors are columns in $\mathbb R^n$ unless a problem says otherwise. You're allowed to use anything from an earlier problem, even one you skipped.
New to proofs? The start-here page has a quick check and a free book to warm up with.
Spaces
When is a vector one you already had?
Let $v_1 = (1,2,3)$, $v_2 = (4,5,6)$ and $v_3 = (7,8,9)$. Find numbers $a, b, c$, not all zero, with $av_1 + bv_2 + cv_3 = 0$. Then find a vector in $\mathbb R^3$ that can't be written as $av_1 + bv_2 + cv_3$ for any $a, b, c$.
Compute $v_2 - v_1$ and $v_3 - v_2$.
For the second part, find a single equation $px + qy + rz = 0$ that all three vectors satisfy. Every combination of them satisfies it too.
$v_1 - 2v_2 + v_3 = 0$, and every combination satisfies $x - 2y + z = 0$, so $(1,0,0)$ is out of reach.
$v_2 - v_1 = v_3 - v_2 = (3,3,3)$, so $v_1 - 2v_2 + v_3 = 0$. Each $v_i$ satisfies $x - 2y + z = 0$ (for example $1 - 4 + 3 = 0$), so every combination does too. $(1,0,0)$ gives $1 \neq 0$, so it's out of reach.
Three vectors in three dimensions that only reach a plane. Being dependent and failing to span turned out to be the same defect. Problem 12 says why that's no coincidence.
Suppose $v_1, \dots, v_k$ are dependent: some combination $c_1v_1 + \dots + c_kv_k$ with not all $c_i = 0$ equals $0$. Show that some $v_j$ is a combination of $v_1, \dots, v_{j-1}$, the ones before it.
Let $j$ be the largest index with $c_j \neq 0$.
Move $c_jv_j$ to the other side and divide by $c_j$. What if $j = 1$?
Let $j$ be the largest index with $c_j \neq 0$. Then $c_1v_1 + \dots + c_jv_j = 0$, so $v_j = -\frac{c_1}{c_j}v_1 - \dots - \frac{c_{j-1}}{c_j}v_{j-1}$. If $j = 1$ this says $v_1 = 0$, which counts as the empty combination of the vectors before it.
This is the linear dependence lemma. It turns "these vectors are dependent" into "one of them is redundant, and you can say which".
Show that each of these operations on a system of linear equations leaves the set of solutions unchanged: swapping two equations, multiplying an equation by a non-zero number, and adding a multiple of one equation to another.
Any solution of the old system clearly solves the new one. That's only half.
Each operation can be undone by an operation of the same kind.
Each new equation is a combination of old ones, so every solution of the old system solves the new one. Each operation can be undone by one of the same kind (swap back, multiply by $1/c$, subtract the multiple back), so the same argument run backwards shows every solution of the new system solves the old one.
This is why Gaussian elimination is allowed. Everything computational in linear algebra rests on it.
A homogeneous system has every right-hand side equal to $0$. Show that a homogeneous system with more unknowns than equations has a solution that isn't all zeros.
Induct on the number of equations. One equation with two or more unknowns is easy.
If some unknown appears with a non-zero coefficient, use that equation to eliminate it from all the others. You're left with one fewer equation and one fewer unknown. If no unknown appears at all, it's even easier.
Induct on the number of equations $m$. If no unknown appears with a non-zero coefficient, anything is a solution. Otherwise pick an equation where, say, $x_1$ has a non-zero coefficient, solve it for $x_1$, and substitute into the other $m - 1$ equations. That leaves $m - 1$ homogeneous equations in $n - 1 > m - 1$ unknowns, which have a non-zero solution by induction, and the first equation then fixes $x_1$. The base case $m = 1$ is the same argument with nothing left over: set one of the other unknowns to $1$.
A small lemma with a big job. It's the engine behind every statement about dimension that follows.
Show that any $n + 1$ vectors in $\mathbb R^n$ are dependent.
Write out $c_1v_1 + \dots + c_{n+1}v_{n+1} = 0$ one coordinate at a time. What are the unknowns?
Writing $c_1v_1 + \dots + c_{n+1}v_{n+1} = 0$ coordinate by coordinate gives $n$ homogeneous equations in the $n + 1$ unknowns $c_1, \dots, c_{n+1}$. Problem 4 gives a solution that isn't all zeros, which is exactly a dependence.
You now know that $\mathbb R^n$ can't hold more than $n$ independent directions. Next you'll show it can't hold fewer either.
Suppose $u_1, \dots, u_m$ are independent and every $u_j$ lies in the span of $w_1, \dots, w_n$. Show that $m \le n$. Deduce that any two bases of the same subspace have the same number of vectors.
By problem 4 there are $c_1, \dots, c_m$, not all zero, with $\sum_j a_{ij}c_j = 0$ for every $i$. What is $\sum_j c_ju_j$?
For bases $B$ and $B'$ of the same space, apply the first part both ways round.
If $m > n$, the $n$ equations $\sum_j a_{ij}c_j = 0$ in $m$ unknowns have a non-zero solution by problem 4. Then
$$\sum_j c_ju_j = \sum_j c_j\sum_i a_{ij}w_i = \sum_i\Big(\sum_j a_{ij}c_j\Big)w_i = 0,$$
contradicting the independence of the $u_j$. For two bases $B$ and $B'$ of $V$: $B$ is independent and lies in the span of $B'$, so $|B| \le |B'|$, and the same argument the other way round gives $|B'| \le |B|$.
This is the Steinitz exchange lemma, and the deduction makes dimension well defined. Every basis of a space has the same size, so the size belongs to the space.
Let $V$ be a subspace of $\mathbb R^n$. Show that any independent list in $V$ can be extended to a basis of $V$, and that any list spanning $V$ can be cut down to a basis of $V$.
To extend: while the list doesn't span $V$, add a vector of $V$ outside its span. Why is the list still independent, and why must this stop?
To cut down: go through the list and throw out every vector that's a combination of the ones before it. Problem 2 says what's left is independent.
To extend: if an independent list $L$ doesn't span $V$, add some $v \in V$ outside its span. The new list is still independent, because in any dependence the coefficient of $v$ must be $0$ (otherwise $v$ would be in the span of $L$), which leaves a dependence among $L$. By problem 5 an independent list in $\mathbb R^n$ has at most $n$ vectors, so this stops, and it can only stop once the list spans $V$. To cut down: delete every vector that's a combination of the ones before it. The span doesn't change, and by problem 2 what's left is independent.
Every subspace of $\mathbb R^n$ has a basis, and you can build one from whatever you've got. This is the tool that the proof of rank–nullity needs.
Maps
Matrices are what linear functions look like once you pick coordinates.
Call $T : \mathbb R^n \to \mathbb R^m$ linear if $T(x + y) = T(x) + T(y)$ and $T(cx) = cT(x)$. Let $e_1, \dots, e_n$ be the standard basis. Show that $T$ is completely determined by $T(e_1), \dots, T(e_n)$, and that $T(x) = Ax$ where $A$ is the matrix whose columns are $T(e_1), \dots, T(e_n)$.
$x = x_1e_1 + \dots + x_ne_n$.
Write $x = x_1e_1 + \dots + x_ne_n$. Linearity gives $T(x) = x_1T(e_1) + \dots + x_nT(e_n)$, so $T$ is determined by the $T(e_j)$. That combination of the columns $T(e_j)$ with coefficients $x_j$ is exactly what $Ax$ means.
Every linear map is a matrix, and you can read the matrix off: column $j$ is where $e_j$ goes. So an $m \times n$ matrix eats $\mathbb R^n$ and returns $\mathbb R^m$.
Let $S : \mathbb R^p \to \mathbb R^n$ have matrix $B$ and $T : \mathbb R^n \to \mathbb R^m$ have matrix $A$. Find the matrix of $T \circ S$, meaning "do $S$, then $T$". Explain why its $(i, j)$ entry is row $i$ of $A$ dotted with column $j$ of $B$.
By problem 8, column $j$ of the answer is $T(S(e_j))$.
$S(e_j)$ is column $j$ of $B$. Now apply $A$ to it.
Column $j$ of the matrix of $T \circ S$ is $T(S(e_j)) = A(Be_j)$, and $Be_j$ is column $j$ of $B$. The $i$th entry of $A$ times a vector is row $i$ of $A$ dotted with that vector.
Matrix multiplication is composition. The row-times-column rule isn't a convention anyone chose. It's forced, and it's why $AB$ means "$B$ first".
Find $2 \times 2$ matrices $A$ and $B$ with $AB \neq BA$. Find a non-zero $A$ with $A^2 = 0$. Find $A \neq \pm I$ with $A^2 = I$. For the first, can you pick $A$ to be a rotation and $B$ a reflection, and see the answer without multiplying?
Try matrices with a single $1$ and the rest zeros.
For $A^2 = I$, think of a map that undoes itself.
$E = \begin{pmatrix}0&1\\0&0\end{pmatrix}$ and $F = \begin{pmatrix}0&0\\1&0\end{pmatrix}$ give $EF = \begin{pmatrix}1&0\\0&0\end{pmatrix}$ but $FE = \begin{pmatrix}0&0\\0&1\end{pmatrix}$. $E^2 = 0$. The reflection $\begin{pmatrix}1&0\\0&-1\end{pmatrix}$ squares to $I$. With $R$ a quarter turn and $M$ the reflection in the $x$-axis, $RM$ sends $e_1$ to $e_2$ while $MR$ sends it to $-e_2$.
Matrices are not numbers. These are the rules that stop working, and they're behind a good share of the most-viewed confusions in the questions guide.
For a linear map $T$, the kernel $\ker T$ is the set of $x$ with $T(x) = 0$, and the image $\operatorname{im} T$ is the set of all outputs $T(x)$. Show that both are subspaces. Then show that $T$ is one-to-one exactly when $\ker T = \{0\}$.
If $T(x) = T(y)$, what is $T(x - y)$?
$T(0) = 0$, and if $T(x) = T(y) = 0$ then $T(x + y) = 0$ and $T(cx) = 0$, so the kernel is a subspace. $T(x) + T(y) = T(x + y)$ and $cT(x) = T(cx)$, so the image is too. If the kernel is $\{0\}$ and $T(x) = T(y)$, then $T(x - y) = 0$, so $x = y$. Conversely, if $T$ is one-to-one and $T(x) = 0 = T(0)$, then $x = 0$.
To check that a linear map never sends two inputs to the same place, you only have to check what it sends to zero.
Let $T : \mathbb R^n \to \mathbb R^m$ be linear. Show that
$$\dim \ker T + \dim \operatorname{im} T = n.$$
Start with a basis $u_1, \dots, u_k$ of $\ker T$ and extend it to a basis $u_1, \dots, u_k, w_1, \dots, w_r$ of $\mathbb R^n$ (problem 7).
Show that $T(w_1), \dots, T(w_r)$ is a basis of $\operatorname{im} T$. Spanning is easy. For independence, if $\sum c_iT(w_i) = 0$ then $\sum c_iw_i$ is in the kernel.
Take a basis $u_1, \dots, u_k$ of $\ker T$ and extend it to a basis $u_1, \dots, u_k, w_1, \dots, w_r$ of $\mathbb R^n$, so $k + r = n$. The image is spanned by the images of the basis, and $T(u_i) = 0$, so the $T(w_i)$ span it. If $\sum c_iT(w_i) = 0$ then $\sum c_iw_i$ is in the kernel, so it equals some $\sum d_ju_j$. Independence of the whole basis forces every $c_i = 0$. So $\dim \operatorname{im} T = r = n - k$.
This is rank–nullity. Each input direction is either crushed or survives, and none go missing. It's the reason problem 1's vectors could fail two ways at once.
Show that a linear map $\mathbb R^n \to \mathbb R^n$ is one-to-one exactly when it's onto. Use this to prove that if $A$ and $B$ are $n \times n$ with $AB = I$, then $BA = I$.
If $AB = I$ and $Bx = 0$, then $x = ABx = 0$. So $B$ is one-to-one.
So $B$ is onto too, and has an inverse map $C$ with $BC = CB = I$. Now compute $A = A(BC)$ in two ways.
For $T : \mathbb R^n \to \mathbb R^n$: one-to-one means $\dim\ker T = 0$, which by rank–nullity means $\dim\operatorname{im}T = n$, which means the image is all of $\mathbb R^n$ (a subspace of dimension $n$ contains a basis of $\mathbb R^n$). Now if $AB = I$ and $Bx = 0$, then $x = ABx = 0$, so $B$ is one-to-one, hence onto, hence has an inverse $C$ with $BC = CB = I$. Then $A = A(BC) = (AB)C = C$, so $BA = CB = I$.
Square matrices can't have a one-sided inverse. This question has 411 votes on Math Stack Exchange, because for infinite-dimensional spaces it's false. The shift map on sequences is one-to-one but not onto.
The row rank of a matrix is the dimension of the span of its rows, and the column rank is the dimension of the span of its columns. Show that they're equal.
Show that a row operation changes neither number. For the row rank, the new rows are combinations of the old ones and the other way round.
For the column rank: a row operation doesn't change the solutions of $Ax = 0$ (problem 3), so it doesn't change $\ker A$. Now use rank–nullity.
In reduced row echelon form, count both.
A row operation is multiplication on the left by an invertible matrix $E$. The rows of $EA$ are combinations of the rows of $A$, and the other way round using $E^{-1}$, so the row space doesn't change. $EAx = 0$ has the same solutions as $Ax = 0$ (problem 3), so the kernel doesn't change, and by rank–nullity neither does the column rank. In reduced row echelon form, the non-zero rows are independent and there's one per pivot, and the pivot columns are independent and every other column is a combination of them. So both ranks equal the number of pivots.
This is row rank = column rank. The rows and columns of a matrix look like they have nothing to do with each other, but they always carry the same amount of information.
Volume
Build the determinant from three rules instead of memorising a formula.
Suppose $D$ takes $n \times n$ matrices to numbers and obeys three rules:
(a) $D$ is linear in each column when the others are held fixed. (b) $D(A) = 0$ whenever two columns of $A$ are equal. (c) $D(I) = 1$.
Show that swapping two columns multiplies $D$ by $-1$, and that adding a multiple of one column to another doesn't change $D$.
Put $u + v$ in both of the two positions and expand using (a). Two of the four terms vanish by (b).
Put $u + v$ in both slots and expand with rule (a):
$$0 = D(\dots u \dots u \dots) + D(\dots u \dots v \dots) + D(\dots v \dots u \dots) + D(\dots v \dots v \dots).$$
The first and last terms are $0$ by (b), so swapping $u$ and $v$ flips the sign. Adding $c$ times one column to another changes $D$ by $c\,D(\dots u \dots u \dots) = 0$.
The sign flip under a swap isn't an extra rule. It's forced, and it's why the determinant measures orientation as well as size.
For $2 \times 2$ matrices, show that the three rules force
$$D\begin{pmatrix}a&b\\c&d\end{pmatrix} = ad - bc.$$
Write the first column as $ae_1 + ce_2$ and the second as $be_1 + de_2$. Expand with (a) into four terms.
The columns are $ae_1 + ce_2$ and $be_1 + de_2$. Expanding in both columns gives
$$ab\,D(e_1, e_1) + ad\,D(e_1, e_2) + cb\,D(e_2, e_1) + cd\,D(e_2, e_2) = 0 + ad - cb + 0.$$
The $2 \times 2$ determinant formula comes from the rules. In general they force the familiar $n \times n$ formula too.
Show that $D(A) = 0$ if the columns of $A$ are dependent, and $D(A) \neq 0$ if they're independent. Explain why this means there's at most one function satisfying the three rules.
Dependent: one column is a combination of the others. Expand it using (a). Every term has a repeated column.
Independent: you can turn $A$ into $I$ by swapping columns, scaling columns by non-zero numbers, and adding multiples of one column to another. Track what each step does to $D$.
That process computes $D(A)$ using nothing but the rules.
If the columns are dependent, one column is a combination of the others. Expand $D$ in that column using (a), and every term has two equal columns, so it's $0$. If they're independent, $A$ is invertible, and you can reach $I$ using column swaps (each multiplies $D$ by $-1$), scaling a column by $c \neq 0$ (multiplies by $c$), and adding a multiple of one column to another (no change). So $D(I) = 1$ is a non-zero multiple of $D(A)$. The same steps compute $D(A)$ from the rules alone, so any two functions obeying the rules agree.
$\det A \neq 0$ exactly when $A$ is invertible, and the determinant is unique. From here on, call $D$ by its name, $\det$.
Show that $\det(BA) = \det B \det A$.
If $\det B = 0$, show $BA$ can't be invertible either.
Otherwise, fix $B$ and check that $A \mapsto \det(BA)/\det B$ obeys rules (a), (b) and (c). Column $j$ of $BA$ is $B$ times column $j$ of $A$.
If $\det B = 0$, then $B$ isn't invertible, so its image isn't everything, so neither is the image of $BA$. Then $\det(BA) = 0 = \det B\det A$. Otherwise let $D(A) = \det(BA)/\det B$. Column $j$ of $BA$ is $B$ times column $j$ of $A$, so $D$ is linear in each column, $D$ vanishes when two columns of $A$ are equal, and $D(I) = 1$. By uniqueness (problem 17), $D = \det$.
The determinant is multiplicative. Doing two things in a row scales volume by the product of the two factors.
Show that $|ad - bc|$ is the area of the parallelogram whose sides are the columns $(a, c)$ and $(b, d)$.
Adding a multiple of one side to the other slides the parallelogram along itself without changing its area, and problem 15 says it doesn't change $D$ either.
Use such slides to turn the parallelogram into a rectangle with sides along the axes.
Adding a multiple of one side to the other shears the parallelogram along that side. The base and height stay the same, so the area does, and by problem 15 so does $D$. Swapping the sides changes neither the area nor $|D|$. Using these moves you can make the matrix diagonal, $\begin{pmatrix}p&0\\0&q\end{pmatrix}$, which is a rectangle of area $|pq| = |D|$. If the columns are dependent, both sides of the equation are $0$.
The determinant is volume. This is the answer to the most upvoted linear algebra question on Math Stack Exchange (851 votes).
Eigenvectors
The directions a matrix doesn't turn.
Let $A = \begin{pmatrix}2&1\\1&2\end{pmatrix}$. Find every non-zero $v$ such that $Av$ is a multiple of $v$. Use what you find to compute $A^{10}$ without multiplying ten matrices.
Try $v = (1, 1)$ and $v = (1, -1)$.
Write any $x$ as a combination of those two, and apply $A$ ten times.
$A(1,1) = (3,3)$ and $A(1,-1) = (1,-1)$, so those are eigenvectors with eigenvalues $3$ and $1$, and every other eigenvector is a multiple of one of them. Write $x = \frac{x_1 + x_2}{2}(1,1) + \frac{x_1 - x_2}{2}(1,-1)$. Applying $A$ ten times multiplies the first part by $3^{10}$ and leaves the second alone, which gives the matrix in the check.
Eigenvectors and diagonalisation. In the right basis, $A$ is just "multiply by 3 in one direction and by 1 in the other".
The Fibonacci numbers satisfy $F_0 = 0$, $F_1 = 1$ and $F_{n+1} = F_n + F_{n-1}$. Show that
$$\begin{pmatrix}F_{n+1}\\F_n\end{pmatrix} = \begin{pmatrix}1&1\\1&0\end{pmatrix}^n\begin{pmatrix}1\\0\end{pmatrix},$$
and use eigenvectors to find a closed formula for $F_n$.
If $(x, 1)$ is an eigenvector with eigenvalue $\lambda$, then $x = \lambda$ and $\lambda^2 = \lambda + 1$.
$\begin{pmatrix}1&1\\1&0\end{pmatrix}\begin{pmatrix}F_n\\F_{n-1}\end{pmatrix} = \begin{pmatrix}F_{n+1}\\F_n\end{pmatrix}$, so induction gives the power formula. The eigenvalues solve $\lambda^2 = \lambda + 1$, so they're $\varphi$ and $\psi$, with eigenvectors $(\varphi, 1)$ and $(\psi, 1)$. Since $\varphi - \psi = \sqrt5$, $(1, 0) = \frac{1}{\sqrt5}\big((\varphi, 1) - (\psi, 1)\big)$. Applying the matrix $n$ times and reading off the second coordinate gives $F_n = (\varphi^n - \psi^n)/\sqrt5$.
This is Binet's formula. The $\sqrt5$ that looks so out of place in a formula for whole numbers is just the eigenvalues showing through.
Show that eigenvectors of $A$ with different eigenvalues are independent.
Suppose not, and take a dependence $c_1v_1 + \dots + c_kv_k = 0$ using as few vectors as possible, with every $c_i \neq 0$.
Apply $A - \lambda_1I$ to it. You get a shorter dependence.
Take a dependence $c_1v_1 + \dots + c_kv_k = 0$ with every $c_i \neq 0$ and $k$ as small as possible. $k \ge 2$, because eigenvectors aren't $0$. Apply $A - \lambda_1I$: you get $\sum_{i \ge 2} c_i(\lambda_i - \lambda_1)v_i = 0$. The eigenvalues are different, so these coefficients aren't zero, and this is a shorter dependence. Contradiction.
An $n \times n$ matrix with $n$ different eigenvalues is always diagonalisable. Trouble only comes from repeats.
Show that the rotation $R = \begin{pmatrix}0&-1\\1&0\end{pmatrix}$ has no real eigenvectors, but has two if you allow complex numbers. Show that the shear $S = \begin{pmatrix}1&1\\0&1\end{pmatrix}$ has only one eigenvector direction, even over the complex numbers.
For $R$, try $(1, \pm i)$. For $S$, write out $Sv = \lambda v$ and look at the second coordinate first.
$R(x, y) = (-y, x)$. If that's $\lambda(x, y)$, then $x = \lambda y = -\lambda^2x$ and similarly for $y$, so $\lambda^2 = -1$ unless $x = y = 0$. No real $\lambda$ works. Over $\mathbb C$: $R(1, -i) = (i, 1) = i(1, -i)$ and $R(1, i) = -i(1, i)$. For $S(x, y) = (x + y, y) = \lambda(x, y)$: if $y \neq 0$ then $\lambda = 1$ from the second coordinate, and then $x + y = x$ forces $y = 0$. So $y = 0$, and the only eigen direction is $(1, 0)$, whatever the scalars are.
Not every matrix is diagonalisable. Rotations are fixed by moving to $\mathbb C$. Shears never are. Both are pinned in the field guide.
Show that $\lambda$ is an eigenvalue of $A$ exactly when $\det(A - \lambda I) = 0$. For $A = \begin{pmatrix}a&b\\c&d\end{pmatrix}$, show the two eigenvalues (counted with repeats, possibly complex) add to $a + d$ and multiply to $ad - bc$.
$Av = \lambda v$ with $v \neq 0$ says the columns of $A - \lambda I$ are dependent.
Expand $\det(A - \lambda I)$ into $\lambda^2 - (\ ?\ )\lambda + (\ ?\ )$ and compare with $(\lambda - \lambda_1)(\lambda - \lambda_2)$.
$Av = \lambda v$ for some $v \neq 0$ means $(A - \lambda I)v = 0$, which means the columns of $A - \lambda I$ are dependent, which by problem 17 means $\det(A - \lambda I) = 0$. For $2 \times 2$, $\det(A - \lambda I) = (a - \lambda)(d - \lambda) - bc = \lambda^2 - (a + d)\lambda + (ad - bc)$. Compare it with $(\lambda - \lambda_1)(\lambda - \lambda_2) = \lambda^2 - (\lambda_1 + \lambda_2)\lambda + \lambda_1\lambda_2$.
This is the characteristic polynomial. The trace is the sum of the eigenvalues and the determinant is their product. Both are among the most viewed proofs on Math Stack Exchange, and this is the $2 \times 2$ case of each.
Let $A$ and $B$ be $n \times n$. Show that $AB$ and $BA$ have the same eigenvalues.
If $ABv = \lambda v$ with $\lambda \neq 0$ and $v \neq 0$, then $Bv \neq 0$. Apply $BA$ to $Bv$.
For $\lambda = 0$, use determinants.
If $ABv = \lambda v$ with $\lambda \neq 0$ and $v \neq 0$, then $Bv \neq 0$ (otherwise $\lambda v = 0$), and $BA(Bv) = B(ABv) = \lambda Bv$. So $\lambda$ is an eigenvalue of $BA$, and the same argument works the other way round. For $\lambda = 0$: $0$ is an eigenvalue of $AB$ exactly when $\det(AB) = \det A\det B = 0$, which is also when $\det(BA) = 0$.
$AB$ and $BA$ can be different matrices, but they stretch the same amounts. In fact they have the same characteristic polynomial, which is harder to prove.
Perpendicular
Add a way to measure angles and the best theorem in the subject arrives.
Show that non-zero vectors $u_1, \dots, u_k$ that are pairwise perpendicular ($u_i \cdot u_j = 0$ for $i \neq j$) are independent.
Dot both sides of $\sum c_iu_i = 0$ with $u_j$.
Dot $\sum_i c_iu_i = 0$ with $u_j$. Every term but one vanishes, leaving $c_j(u_j \cdot u_j) = 0$. Since $u_j \neq 0$, $u_j \cdot u_j > 0$, so $c_j = 0$.
Orthogonal means independent, and you can read off the coefficients with a dot product instead of solving a system.
Given independent $v_1, v_2, v_3$, construct $u_1, u_2, u_3$ of length $1$ and pairwise perpendicular, such that $u_1, \dots, u_k$ spans the same subspace as $v_1, \dots, v_k$ for each $k$.
$u_1 = v_1/\|v_1\|$. For $u_2$, take $v_2$ and subtract the part of it that points along $u_1$, namely $(v_2 \cdot u_1)u_1$.
Why isn't what's left zero?
$u_1 = v_1/\|v_1\|$. Let $w_2 = v_2 - (v_2 \cdot u_1)u_1$. Then $w_2 \cdot u_1 = v_2 \cdot u_1 - v_2 \cdot u_1 = 0$, and $w_2 \neq 0$ because $v_2$ isn't a multiple of $v_1$. Set $u_2 = w_2/\|w_2\|$. Then $w_3 = v_3 - (v_3 \cdot u_1)u_1 - (v_3 \cdot u_2)u_2$ is perpendicular to both, and it isn't $0$ because $v_3$ isn't in the span of $v_1, v_2$, which is also the span of $u_1, u_2$. Set $u_3 = w_3/\|w_3\|$. At each stage the $u$'s are combinations of the $v$'s and the other way round, so the spans match.
This is Gram–Schmidt, and the same steps work for any number of vectors. Every subspace has an orthonormal basis.
Let $A$ be $m \times n$ and $b \in \mathbb R^m$. Show that $x$ makes $\|Ax - b\|$ as small as possible exactly when $A^T(Ax - b) = 0$.
$A^T(Ax - b) = 0$ says $Ax - b$ is perpendicular to every column of $A$.
If $Ax - b$ is perpendicular to the columns and $y$ is anything else, write $Ay - b = (Ax - b) + A(y - x)$ and use Pythagoras.
Suppose $A^T(Ax - b) = 0$, so $Ax - b$ is perpendicular to every column of $A$. For any $y$, $Ay - b = (Ax - b) + A(y - x)$, and $A(y - x)$ is a combination of columns, so Pythagoras gives $\|Ay - b\|^2 = \|Ax - b\|^2 + \|A(y - x)\|^2 \ge \|Ax - b\|^2$. Conversely, if $x$ is best, then for every $z$ and every number $t$, $\|Ax - b + tAz\|^2 \ge \|Ax - b\|^2$. That says $2t\,(Az) \cdot (Ax - b) + t^2\|Az\|^2 \ge 0$ for all $t$, which forces $(Az) \cdot (Ax - b) = 0$ for every $z$. That's $A^T(Ax - b) = 0$.
This is least squares, the maths under every line of best fit. The best approximation is the perpendicular projection.
Let $A$ be a real symmetric matrix, $A^T = A$. Show that its eigenvalues are all real, and that eigenvectors with different eigenvalues are perpendicular.
Let $Av = \lambda v$ with $v$ complex and non-zero. Compute $\bar v^TAv$ in two ways: as $\bar v^T(Av)$, and as $(A\bar v)^Tv$.
For the second part, compute $u^TAw$ two ways when $Au = \lambda u$ and $Aw = \mu w$.
With $Av = \lambda v$: $\bar v^TAv = \lambda\,\bar v^Tv = \lambda\|v\|^2$. Because $A$ is real and symmetric, also $\bar v^TAv = (A\bar v)^Tv = \overline{(Av)}^Tv = \bar\lambda\|v\|^2$. So $\lambda = \bar\lambda$. For the second part, with $Au = \lambda u$ and $Aw = \mu w$: $u^TAw = \mu\,u \cdot w$, and also $u^TAw = (Au)^Tw = \lambda\,u \cdot w$. Since $\lambda \neq \mu$, $u \cdot w = 0$.
Symmetric matrices have real eigenvalues and perpendicular eigenvectors. This is the eighth most viewed linear algebra question on Math Stack Exchange.
Show that every real symmetric matrix has an orthonormal basis of eigenvectors. In other words, $A = QDQ^T$ with $Q$ orthogonal and $D$ diagonal.
By problem 29 and the fundamental theorem of algebra, $A$ has at least one real eigenvector. Scale it to a unit vector $u$.
Let $W$ be everything perpendicular to $u$. Show that if $w \in W$ then $Aw \in W$. Symmetry is exactly what you need.
So $A$ acts on $W$, which has dimension $n - 1$, and is still symmetric there. Induct.
$\det(A - \lambda I)$ has a root, which is real by problem 29. Then $A - \lambda I$ is a real matrix with dependent columns, so there's a real eigenvector, which you can scale to a unit vector $u$. Let $W$ be everything perpendicular to $u$, a subspace of dimension $n - 1$. For $w \in W$, $(Aw) \cdot u = w \cdot (Au) = \lambda\,w \cdot u = 0$, so $A$ maps $W$ into $W$. In an orthonormal basis of $W$ (problem 27), $A$ acting on $W$ has a symmetric matrix, because its entries $w_i \cdot Aw_j = Aw_i \cdot w_j$. By induction $W$ has an orthonormal basis of eigenvectors. Add $u$.
This is the spectral theorem. Every symmetric matrix is just stretching along perpendicular axes. PCA, the second derivative test, quantum mechanics and vibrating strings all run on this one fact. You built it from problem 1.