∫Atlas Matemáticas Aplicadas

Inicio › Temas › Álgebra lineal

🧮 Álgebra lineal nivel avanzado

Valores y vectores propios

Las direcciones que una matriz no gira: solo las estira o las encoge.

🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)

La idea

Casi todos los vectores cambian de dirección al aplicarles una matriz, pero algunos no: solo se estiran o se encogen. Un vector v distinto de cero que cumple A·v = λ·v se llama vector propio, y el número λ que indica cuánto se alarga es su valor propio. Esas direcciones invariantes son los ejes naturales de la transformación y revelan su comportamiento cuando se aplica muchas veces.

Para encontrarlas se observa que A·v = λ·v equivale a (A − λI)·v = 0, y ese sistema homogéneo solo tiene soluciones no nulas si la matriz A − λI es singular. La condición det(A − λI) = 0 es la ecuación característica; para una matriz 2×2 se reduce a λ² − tr(A)·λ + det(A) = 0, donde tr(A) es la traza, la suma de la diagonal. Si el discriminante es positivo hay dos valores propios reales distintos, si es cero uno doble y si es negativo dos complejos conjugados: ese último caso corresponde a una rotación, en la que no queda ninguna dirección real invariante.

Cuando existe una base formada por vectores propios la matriz se diagonaliza: A = P·D·P⁻¹, con D diagonal y P la matriz de vectores propios. Entonces calcular potencias es trivial, porque Aⁿ = P·Dⁿ·P⁻¹, y se ve de inmediato qué dirección domina cuando n crece: la del valor propio de mayor módulo. Como comprobación rápida de cualquier cálculo conviene recordar que λ₁ + λ₂ = tr(A) y λ₁·λ₂ = det(A).

Fórmulas clave

  • DefiniciónA·v = λ·v, con v ≠ 0
  • Ecuación característicadet(A − λI) = 0
  • Caso 2×2λ² − tr(A) λ + det(A) = 0, tr(A) = a + d
  • Raícesλ = [tr ± √(tr² − 4 det)] / 2
  • Relacionesλ₁ + λ₂ = tr(A), λ₁ · λ₂ = det(A)
  • DiagonalizaciónA = P·D·P⁻¹, Aⁿ = P·Dⁿ·P⁻¹

Dónde se aplica

El análisis de componentes principales comprime datos quedándose con los vectores propios de mayor valor propio de la matriz de covarianzas: son las direcciones en las que la información varía más. El algoritmo PageRank de Google ordena las páginas web calculando el vector propio dominante de una matriz de enlaces. En ingeniería, los modos de vibración y las frecuencias de resonancia de un puente o de un ala de avión son vectores y valores propios de la matriz de rigidez, y su cálculo evita catástrofes. En sistemas dinámicos, el signo de la parte real de los valores propios decide si un equilibrio es estable.

Con programación (Python)

import math

def propios_2x2(A):
    tr = A[0][0] + A[1][1]
    det = A[0][0]*A[1][1] - A[0][1]*A[1][0]
    disc = tr*tr - 4*det
    if disc < 0:
        return None, (tr/2, math.sqrt(-disc)/2)
    r = math.sqrt(disc)
    return ((tr + r)/2, (tr - r)/2), None

def vector_propio(A, lam):
    b, c = A[0][1], A[1][0]
    if abs(b) > 1e-12:
        v = (b, lam - A[0][0])
    elif abs(c) > 1e-12:
        v = (lam - A[1][1], c)
    else:
        v = (1.0, 0.0) if abs(lam - A[0][0]) < 1e-12 else (0.0, 1.0)
    n = math.hypot(v[0], v[1])
    return (v[0]/n, v[1]/n)

A = [[2, 1], [1, 2]]
print("traza =", A[0][0] + A[1][1], " det =", A[0][0]*A[1][1] - A[0][1]*A[1][0])
reales, complejos = propios_2x2(A)
for lam in reales:
    v = vector_propio(A, lam)
    Av = (A[0][0]*v[0] + A[0][1]*v[1], A[1][0]*v[0] + A[1][1]*v[1])
    print(f"lambda={lam:7.4f}  v=({v[0]:7.4f},{v[1]:7.4f})  Av=({Av[0]:7.4f},{Av[1]:7.4f})")
print("suma =", sum(reales), " producto =", round(reales[0]*reales[1], 6))
print("Rotacion de 90 grados:", propios_2x2([[0, -1], [1, 0]]))

La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.

Temas relacionados

El determinante · Matrices como transformaciones · Cadenas de Markov · Correlación

← Todos los temas