determin.ant
06-eigenvalues / 6.1

Module 6: Eigenvalues

Eigenvectors — the Intuition

Where you'll see this: Google's original PageRank algorithm finds the eigenvector of a link matrix — the "most important" direction in the graph. PCA in ML finds eigenvectors of a covariance matrix. Quantum mechanics is entirely built on eigenstates. These are everywhere.

Most vectors, when you apply a matrix to them, change both their length and their direction. But a few special vectors only change their length. Those are eigenvectors.

The key idea

An eigenvector of a matrix A is any non-zero vector v where:

Av=λvA\mathbf{v} = \lambda \mathbf{v}

Applying A to v gives back the same direction — just scaled by a number λ (the eigenvalue). The transformation stretches or flips the vector, but doesn't rotate it.

Visualizing it

Imagine shooting many arrows in all directions from the origin. Apply a matrix to all of them. Most will rotate. But a few will land on the same line they started on — those are the eigenvectors.

If λ > 1: the eigenvector gets stretched.
If 0 < λ < 1: it gets squashed.
If λ < 0: it gets flipped and scaled.
If λ = 0: it gets sent to zero — this is the null space direction.

Eigenvectors reveal the "natural axes" of a transformation — the directions along which the matrix is just multiplication.

Not always real

A rotation matrix has no real eigenvectors — it rotates every direction. The eigenvalues are complex numbers in that case. Try the rotation preset to see.

Try it

The interactive shows 16 radial vectors (faint) and their images (solid) after applying the matrix. The highlighted vectors are the eigenvectors — they land on the same line they started on.

Pick a preset or edit the matrix. Watch which directions stay in place.

In NumPy:
import numpy as np
A = np.array([[3, 1], [1, 3]])
eigenvalues, eigenvectors = np.linalg.eig(A)
print(eigenvalues)    # [4., 2.]
print(eigenvectors)   # columns are the eigenvectors
Change of BasisThe Characteristic Polynomial
[
]
î → [2, 0]ĵ → [0, 3]

λ₁ = 3, λ₂ = 2

Purple arrows = eigenvector directions (they only stretch, not rotate)