Linear Algebra·Unidad 7

LA-07 — Eigenvalues, eigenvectors, diagonalization

Los eigenvectors de la covariance matrix son las direcciones principales de tus datos — eso es PCA (LA-10). Los eigenvalues de la Hessian dicen si un punto crítico es mínimo, máximo o silla (Calc-06/10). Google's PageRank, cadenas de Markov, análisis de estabilidad: todo es eigen-cosas. Es el concepto más "poderoso" del pilar.

Why this matters for ML

Los eigenvectors de la covariance matrix son las direcciones principales de tus datos — eso es PCA (LA-10). Los eigenvalues de la Hessian dicen si un punto crítico es mínimo, máximo o silla (Calc-06/10). Google's PageRank, cadenas de Markov, análisis de estabilidad: todo es eigen-cosas. Es el concepto más "poderoso" del pilar.

Concepts covered

  • Eigenvalue y eigenvector: definición y significado geométrico
  • Characteristic equation det(AλI)=0\det(A-\lambda I)=0
  • Cómo calcular eigenvalues/eigenvectors a mano
  • Eigendecomposition y diagonalization A=PDP1A=PDP^{-1}
  • Potencias de matrices vía diagonalization
  • Cuándo una matriz es diagonalizable

Intuition first

🎬 3Blue1Brown E.o.L.A. cap. 14 ("Eigenvectors and eigenvalues"). La idea: los eigenvectors son las direcciones que la transformación no gira, solo estira por un factor λ\lambda.

Theory & key results

Definición: v0\mathbf{v}\neq\mathbf{0} es eigenvector de AA con eigenvalue λ\lambda si Av=λv.A\mathbf{v} = \lambda\mathbf{v}. Es decir: aplicar AA a v\mathbf{v} solo lo escala (no cambia su dirección). λ\lambda es cuánto.

Cómo encontrarlos: Av=λv(AλI)v=0A\mathbf{v}=\lambda\mathbf{v}\Rightarrow (A-\lambda I)\mathbf{v}=\mathbf{0}. Para tener v0\mathbf{v}\neq\mathbf{0}, (AλI)(A-\lambda I) debe ser singular: det(AλI)=0(characteristic equation).\boxed{\det(A-\lambda I)=0}\quad\text{(characteristic equation)}. Resuelves ese polinomio en λ\lambda (los eigenvalues), y para cada λ\lambda resuelves (AλI)v=0(A-\lambda I)\mathbf{v}=\mathbf{0} (el eigenvector, hasta escala).

Datos útiles: iλi=trace(A)\sum_i\lambda_i=\text{trace}(A) (suma de la diagonal) y iλi=det(A)\prod_i\lambda_i=\det(A). Buenos checks.

Eigendecomposition / diagonalization: si AA (n×nn\times n) tiene nn eigenvectors independientes, junta los eigenvectors como columnas de PP y los eigenvalues en una diagonal DD: A=PDP1.A = P D P^{-1}. Significa: cambia a la base de eigenvectors (P1P^{-1}), escala cada eje (DD), regresa (PP). En esa base, AA es diagonal — la forma más simple posible.

Potencias baratas: Ak=PDkP1A^k = P D^k P^{-1}, y DkD^k es solo elevar la diagonal. Clave para dinámicas (Markov, iteraciones).

Diagonalizable ⟺ hay nn eigenvectors independientes. No todas lo son (ej.: shears defectuosos). Pero las symmetric matrices siempre lo son, con eigenvectors ortogonales — eso es LA-08 y la razón de que PCA funcione tan limpio.

Worked example

A=[2112]A=\begin{bmatrix}2&1\1&2\end{bmatrix}. Characteristic: det ⁣[2λ112λ]=(2λ)21=0\det!\begin{bmatrix}2-\lambda&1\1&2-\lambda\end{bmatrix} = (2-\lambda)^2-1 = 0. (2λ)2=12λ=±1λ=1,3(2-\lambda)^2=1\Rightarrow 2-\lambda=\pm1\Rightarrow \lambda=1,,3.

  • λ=3\lambda=3: (A3I)v=0[1111]v=0v=(1,1)(A-3I)\mathbf{v}=0\Rightarrow \begin{bmatrix}-1&1\1&-1\end{bmatrix}\mathbf{v}=0\Rightarrow \mathbf{v}=(1,1).
  • λ=1\lambda=1: v=(1,1)\mathbf{v}=(1,-1).

Check: λ1+λ2=4=trace\lambda_1+\lambda_2=4=\text{trace}; λ1λ2=3=det\lambda_1\lambda_2=3=\det. ✓ Los eigenvectors (1,1)(1,1)(1,1)\perp(1,-1) (porque AA es simétrica).

Notebook exercises (by hand)

  1. Eigenvalues/eigenvectors de [2003]\begin{bmatrix}2&0\0&3\end{bmatrix} (diagonal: casi trivial — interpreta).
  2. Eigenvalues de [0123]\begin{bmatrix}0&1\-2&-3\end{bmatrix} vía la characteristic equation.
  3. Verifica trace y determinant con tus eigenvalues del ej. 2.
  4. Diagonaliza A=[2112]A=\begin{bmatrix}2&1\1&2\end{bmatrix}: escribe PP, DD y comprueba A=PDP1A=PDP^{-1}.
  5. Usa la diagonalization para calcular A3A^3 sin multiplicar AA tres veces.
  6. Da un ejemplo de matriz 2×22\times2 no diagonalizable y explica por qué.
  7. Explica por qué "las direcciones que no giran" es útil para entender datos.

Python lab

import numpy as np

A = np.array([[2.,1.],[1.,2.]])
vals, vecs = np.linalg.eig(A)
print("eigenvalues:", vals)              # ~ [3, 1]
print("eigenvectors (columnas):\n", vecs)

# verifica A v = lambda v para la primera pareja
i = 0
print(np.allclose(A @ vecs[:,i], vals[i]*vecs[:,i]))  # True

# checks
print("trace:", np.trace(A), " sum(vals):", vals.sum())
print("det:", np.linalg.det(A), " prod(vals):", vals.prod())

# diagonalization y potencia
P = vecs; D = np.diag(vals)
A3 = P @ np.diag(vals**3) @ np.linalg.inv(P)
print("A^3 ok:", np.allclose(A3, np.linalg.matrix_power(A,3)))

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. Eigenvalues y eigenvectors de [4123]\begin{bmatrix}4&1\2&3\end{bmatrix} vía la characteristic equation.
  2. Verifica tus eigenvalues del ej. 1 con trace y determinant.

🟠 Medio-difícil

  1. Diagonaliza A=[3102]A=\begin{bmatrix}3&1\0&2\end{bmatrix}: da PP, DD y verifica A=PDP1A=PDP^{-1}.
  2. Usa la diagonalization para calcular A5A^{5} de una matriz con eigenvalues 22 y 0.50.5 sin multiplicar 5 veces.

🔴 Difícil

  1. Una cadena de Markov tiene matriz de transición M=[0.90.20.10.8]M=\begin{bmatrix}0.9&0.2\0.1&0.8\end{bmatrix}. Encuentra su distribución estacionaria como el eigenvector de eigenvalue 1 (normalizado a sumar 1) y explica por qué MkM^k converge.
  2. Da un ejemplo de matriz 2×22\times2 real no diagonalizable (defective), muestra que tiene un eigenvalue repetido con un solo eigenvector independiente, y explica por qué falla la diagonalization.
✅ Soluciones
  1. det[4λ123λ]=(4λ)(3λ)2=λ27λ+10=0λ=2,5\det\begin{bmatrix}4-\lambda&1\2&3-\lambda\end{bmatrix}=(4-\lambda)(3-\lambda)-2=\lambda^2-7\lambda+10=0\Rightarrow\lambda=2,5. Para λ=5\lambda=5: (A5I)v=0v=(1,1)(A-5I)\mathbf v=0\Rightarrow \mathbf v=(1,1). Para λ=2\lambda=2: v=(1,2)\mathbf v=(1,-2).
  2. trace =7=2+5=7=2+5 ✓; det=10=25\det=10=2\cdot5 ✓.
  3. Triangular ⇒ eigenvalues 3,23,2. λ=3\lambda=3: v=(1,0)\mathbf v=(1,0); λ=2\lambda=2: (A2I)v=0v=(1,1)(A-2I)\mathbf v=0\Rightarrow \mathbf v=(1,-1). P=[1101]P=\begin{bmatrix}1&1\0&-1\end{bmatrix}, D=diag(3,2)D=\text{diag}(3,2). Verifica PDP1=APDP^{-1}=A.
  4. A5=Pdiag(25,0.55)P1=Pdiag(32,0.03125)P1A^5=P,\text{diag}(2^5,0.5^5),P^{-1}=P,\text{diag}(32,,0.03125),P^{-1}.
  5. Eigenvector de λ=1\lambda=1: (MI)v=00.1v1+0.2v2=0v1=2v2(M-I)\mathbf v=0\Rightarrow -0.1v_1+0.2v_2=0\Rightarrow v_1=2v_2; normalizado (2/3,1/3)(2/3,1/3). El otro eigenvalue es 0.7<10.7<1, así que MkM^k = Pdiag(1,0.7k)P1P,\text{diag}(1,0.7^k),P^{-1}\to proyección sobre el estacionario (0.7k00.7^k\to0).
  6. A=[2102]A=\begin{bmatrix}2&1\0&2\end{bmatrix}: characteristic (2λ)2=0λ=2(2-\lambda)^2=0\Rightarrow\lambda=2 (doble). Pero (A2I)=[0100](A-2I)=\begin{bmatrix}0&1\0&0\end{bmatrix} tiene null space 1-dim ⇒ un solo eigenvector (1,0)(1,0). Faltan eigenvectors para formar un PP invertible ⇒ no diagonalizable.