Visual walkthrough — Symmetric matrices — spectral theorem (real eigenvalues, orthogonal eigenvectors)
Before we start, three words that will appear on every figure. Say them slowly, look at the picture, then read on.
Step 1 — What a matrix does to every arrow
WHAT. Pick the symmetric matrix (notice : the two off-diagonal 's match). Take the unit circle — every arrow of length , pointing in every direction — and apply to each one.
WHY. A theorem about "what does to space" only makes sense if we first watch act. We are not deriving anything yet; we are collecting evidence.
PICTURE. The blue unit circle becomes the orange ellipse. Look carefully: most input arrows come out pointing in a different direction than they went in — the arrow twisted. But two special directions (the red and green arrows) come out pointing the exact same way, only longer or shorter. Those are the eigenvectors.

Step 2 — Naming the special arrows: the eigen-equation
WHAT. For those two non-twisting directions, write the defining rule.
WHY. We need one clean equation to hang the whole proof on. Every symbol earns its place.
Read it aloud: " acting on gives back times the same ." The output stays on the input's line. big long stretch; negative the arrow flips to point backwards.
PICTURE. The green arrow is stretched by (three times longer, same direction). The red arrow is barely changed, (same length, same direction). Neither rotated — that is the whole point.

Step 3 — Could secretly be an imaginary number?
WHAT. We must rule out complex eigenvalues, not just hope they're real. To even ask the question we need one new tool.
WHY this tool and not another? We want a quantity we can compute two different ways and force to be real. Length-squared is guaranteed real and positive — perfect for trapping .
PICTURE. A complex arrow is drawn as its real and imaginary parts; collapses them into one honest positive length, shown as a filled bar.

Step 4 — Trapping : it must be real
WHAT. Sandwich the machine between and and compute the number two ways.
Way 1 — use the eigen-equation on the right:
Way 2 — take the conjugate transpose of that single number. A number equals its own conjugate transpose, and because is real and symmetric:
Compare. Way 1 says the number is ; conjugating gives . If a number equals its own conjugate it is real, so:
WHY. literally means "imaginary part ." A number equalling its own mirror-in-the-real-axis must sit on the real axis.
PICTURE. In the complex plane, and its conjugate are mirror images across the real axis. The equation forces them to coincide — the only place that happens is on the real line.

Step 5 — Why the eigen-axes meet at exactly
WHAT. Take two eigenvectors with different eigenvalues . Compute the single number two ways.
The dot product measures alignment: it is exactly when the arrows are perpendicular. That is the quantity we want to prove is zero.
Way A — let hit :
Way B — slide over to using symmetry ():
Equate: , so Since , the other factor must vanish: . Perpendicular. ∎
WHY symmetry is the hero. Way B only works because let us move the machine from to . Kill symmetry and this bridge collapses — that is why non-symmetric matrices have skewed eigenvectors.
PICTURE. The two eigen-directions of , and , drawn meeting at a clean right angle, with the dot product shown collapsing to .

Step 6 — Edge case: what if an eigenvalue repeats?
WHAT. Steps 5's trick needed . What about , where shows up twice?
WHY worry. For a general matrix, a repeated eigenvalue can be "defective" — too few eigenvectors, no full basis. We must show symmetry forbids that.
The rescue. A symmetric matrix is never defective: a -fold eigenvalue always comes with a full -dimensional eigenspace — a whole flat plane (or higher) of eigenvectors. Any two vectors from different eigenspaces are still perpendicular (Step 5). Within the repeated plane you are free to pick any two vectors; run the Gram-Schmidt Process to make them orthonormal. So you can always assemble a full perpendicular set.
PICTURE. For the eigenspace is a whole plane; two chosen orthogonal arrows sit inside it, and the eigenvector sticks out perpendicular to that plane.

Step 7 — Packing it into
WHAT. Line up the unit eigenvectors as the columns of a matrix . Because they are perpendicular and length (orthonormal), is an orthogonal matrix: , which means .
Stack all eigen-equations side by side: Column of the left side is ; column of the right is — exactly the eigen-equation. Now multiply on the right by :
WHY it's better than . Any diagonalizable matrix gives , but computing is work. Symmetry upgrades to the free-of-charge transpose . That is the orthogonality bonus.
PICTURE. Read right-to-left as a three-step journey of an arrow: rotates into eigen-coordinates, stretches along the axes by , rotates back. No shear ever happens.

The one-picture summary
Everything on one canvas: a symmetric matrix takes the unit circle to an ellipse whose axes are the perpendicular eigenvectors, stretched by the real eigenvalues — and that stretch-along-perpendicular-axes is .

Recall Feynman retelling — say it to a friend with no equations
A symmetric matrix is a gentle machine: hand it any arrow and it comes back stretched, never sheared, never spun into imaginary land. To see this, watch the unit circle become an ellipse — the ellipse's own two axes are the arrows the machine refuses to twist. Those axes are the eigenvectors and their stretch factors are the eigenvalues. Two facts fall out and both come straight from the mirror-symmetry . First, the stretch factors are honest real numbers: sandwich the machine inside a length-squared (which is always positive real) and it forces the factor to equal its own mirror image across the real axis — the only numbers that do that are real ones. Second, the axes cross at a perfect right angle: slide the machine from one eigenvector to the other (only symmetry lets you do this slide), and the two different stretch factors can only agree if the arrows' dot product is zero — perpendicular. Even when a stretch factor repeats, symmetry hands you a whole flat plane of eigenvectors, so you can always straighten them into a right-angle set. Bundle those perpendicular unit arrows as columns of ; then the machine is literally "rotate into the good axes, stretch, rotate back" — that sentence is exactly .