Understanding Eigenvalues and Eigenvectors: A Geometric and Algebraic Primer

A deep dive into eigenvalues, eigenvectors, characteristic polynomials, and their geometric intuition in linear transformations.

Understanding Eigenvalues and Eigenvectors

In linear algebra, linear transformations warp and stretch vector spaces. When matrix AA acts upon most vectors x\mathbf{x}, the resulting vector AxA\mathbf{x} changes both its length and its direction.

However, certain special vectors maintain their exact directional orientation under the transformation, experiencing only scalar stretching or shrinking. These vectors are eigenvectors, and their corresponding scale factors are eigenvalues.


1. Mathematical Formulation

Let VV be a vector space over a field F\mathbb{F} (typically R\mathbb{R} or C\mathbb{C}), and let A∈Fn×nA \in \mathbb{F}^{n \times n} be an n×nn \times n square matrix representing a linear operator T:V→VT: V \to V.

Definition— Eigenvalues and Eigenvectors

A non-zero vector v∈V∖{0}\mathbf{v} \in V \setminus \{\mathbf{0}\} is said to be an eigenvector of AA corresponding to eigenvalue λ∈F\lambda \in \mathbb{F} if and only if:

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

Rearranging this equation yields a homogeneous linear system:

(A−λI)v=0(A - \lambda I)\mathbf{v} = \mathbf{0}

where II denotes the n×nn \times n identity matrix.

Notice that while an eigenvector v\mathbf{v} must be strictly non-zero (v≠0\mathbf{v} \neq \mathbf{0}), the eigenvalue λ\lambda itself may very well be zero (λ=0\lambda = 0).


2. The Characteristic Equation

For non-trivial solutions (v≠0\mathbf{v} \neq \mathbf{0}) to exist, the null space null⁡(A−λI)\operatorname{null}(A - \lambda I) must be non-trivial. By the fundamental properties of invertible matrices, this requires the operator (A−λI)(A - \lambda I) to be singular:

det⁡(A−λI)=0\det(A - \lambda I) = 0

The determinant expansion p(λ)=det⁡(A−λI)p(\lambda) = \det(A - \lambda I) defines an nn-th degree polynomial in λ\lambda, known as the characteristic polynomial:

p(λ)=(−1)nλn+(−1)n−1tr⁡(A)λn−1+⋯+det⁡(A)p(\lambda) = (-1)^n \lambda^n + (-1)^{n-1}\operatorname{tr}(A)\lambda^{n-1} + \dots + \det(A)
Theorem1.1(Spectral Invariants)

For any square matrix A∈Cn×nA \in \mathbb{C}^{n \times n} with eigenvalues λ1,…,λn\lambda_1, \dots, \lambda_n counted with algebraic multiplicity:

tr⁡(A)=∑i=1nλi,det⁡(A)=∏i=1nλi\operatorname{tr}(A) = \sum_{i=1}^n \lambda_i, \quad \det(A) = \prod_{i=1}^n \lambda_i
Proof.

The roots of the characteristic polynomial p(λ)=det⁡(A−λI)p(\lambda) = \det(A - \lambda I) are precisely λ1,…,λn\lambda_1, \dots, \lambda_n. Factoring p(λ)=∏i=1n(λi−λ)p(\lambda) = \prod_{i=1}^n (\lambda_i - \lambda) and equating polynomial coefficients of degrees n−1n-1 and 00 to the determinant expansion yields the identity.

∎

Computation Flowchart

The overall procedural pipeline for solving an eigensystem by hand or symbolically:

Rendering diagram...

3. Concrete Example: A 2 × 2 System

Consider the real matrix:

A=(4123)A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}

We formulate the characteristic determinant:

det⁡(4−λ123−λ)=(4−λ)(3−λ)−(1)(2)=λ2−7λ+10\det\begin{pmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{pmatrix} = (4 - \lambda)(3 - \lambda) - (1)(2) = \lambda^2 - 7\lambda + 10

Factoring the polynomial:

λ2−7λ+10=(λ−5)(λ−2)=0\lambda^2 - 7\lambda + 10 = (\lambda - 5)(\lambda - 2) = 0

Hence, the eigenvalues are λ1=5\lambda_1 = 5 and λ2=2\lambda_2 = 2.

Interactive Spectrum Plot

Below is an interactive graph of the characteristic curve p(λ)=λ2−7λ+10p(\lambda) = \lambda^2 - 7\lambda + 10. The roots along the horizontal axis correspond to the eigenvalues:

f(x)
Characteristic Polynomial p(λ) = λ² - 7λ + 10
y = x^2 - 7*x + 10
Drag to pan • Scroll to zoom

4. Computational Verification in Python

Using numpy.linalg, we can compute and verify the eigensystem numerically:

python
import numpy as np

# Define matrix A
A = np.array([
    [4.0, 1.0],
    [2.0, 3.0]
])

# Compute eigenvalues and right eigenvectors
eigenvalues, eigenvectors = np.linalg.eig(A)

for i, (val, vec) in enumerate(zip(eigenvalues, eigenvectors.T)):
    print(f"Eigenvalue {i+1}: {val:.4f}")
    print(f"Eigenvector {i+1}: {vec}")
    
    # Verify A * v == lambda * v
    Av = A @ vec
    lv = val * vec
    assert np.allclose(Av, lv), "Eigensystem equality invariant violated!"

In the next article, we will examine spectral decomposition and symmetric positive-definite matrices!