∫Atlas Matemáticas Aplicadas

Inicio › Temas › Álgebra lineal

🧮 Álgebra lineal nivel medio

La matriz inversa

Deshacer una transformación: existencia, Gauss-Jordan y resolución de sistemas.

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

La idea

La matriz inversa A⁻¹ es la que deshace lo que hace A: al componerlas se obtiene la identidad, la transformación que deja cada vector donde estaba. No toda matriz cuadrada la tiene; solo las regulares o invertibles, aquellas cuyo determinante es distinto de cero. Si det(A) = 0 la transformación aplasta el plano sobre una recta y muchos vectores distintos acaban en el mismo punto: no existe ninguna regla que permita volver atrás.

Para el caso 2×2 hay una fórmula cerrada: se intercambian los elementos de la diagonal principal, se cambia el signo a los de la otra diagonal y se divide todo por el determinante. Para tamaños mayores el método práctico es Gauss-Jordan: se escribe la matriz ampliada [A | I] y se aplican operaciones elementales de fila hasta que el bloque izquierdo sea la identidad; lo que queda a la derecha es A⁻¹. Cada paso puede leerse como «la misma operación que simplifica A, aplicada también a I», y por eso el resultado acumula justamente la transformación inversa.

Con la inversa, resolver A·x = b es inmediato: x = A⁻¹·b. Sin embargo, en cálculo numérico casi nunca se invierte una matriz para eso, porque la eliminación de Gauss es más rápida y más estable. La inversa sirve sobre todo para razonar: la identidad (A·B)⁻¹ = B⁻¹·A⁻¹ dice que para deshacer una composición hay que deshacer los pasos en orden inverso, igual que al quitarse la ropa. Cuando el determinante es muy pequeño en relación con el tamaño de los coeficientes, la matriz está mal condicionada y errores diminutos en b producen cambios enormes en x.

Fórmulas clave

  • DefiniciónA·A⁻¹ = A⁻¹·A = I
  • Inversa 2×2A⁻¹ = (1/det A) · [[d, −b], [−c, a]]
  • Gauss-Jordan[A | I] → [I | A⁻¹]
  • Solución del sistemax = A⁻¹·b
  • Inversa de un producto(A·B)⁻¹ = B⁻¹·A⁻¹
  • Número de condiciónκ(A) = ‖A‖ · ‖A⁻¹‖ ≥ 1

Dónde se aplica

En criptografía clásica, el cifrado de Hill multiplica bloques de letras por una matriz y el descifrado aplica su inversa módulo 26. En economía, el modelo de Leontief calcula la producción necesaria como (I − A)⁻¹·d, donde d es la demanda final. En computación gráfica, pasar de coordenadas de pantalla a coordenadas del mundo —por ejemplo para saber qué objeto ha señalado el ratón— exige invertir la matriz de cámara. Y en los filtros de Kalman que estabilizan un GPS o un dron, cada actualización resuelve un sistema con la inversa de una matriz de covarianzas.

Con programación (Python)

def inversa(A):
    n = len(A)
    M = [fila[:] + [1.0 if i == j else 0.0 for j in range(n)] for i, fila in enumerate(A)]
    for c in range(n):
        p = max(range(c, n), key=lambda r: abs(M[r][c]))
        if abs(M[p][c]) < 1e-12:
            return None
        M[c], M[p] = M[p], M[c]
        piv = M[c][c]
        M[c] = [v / piv for v in M[c]]
        for r in range(n):
            if r != c and M[r][c] != 0:
                f = M[r][c]
                M[r] = [M[r][k] - f * M[c][k] for k in range(2 * n)]
    return [fila[n:] for fila in M]

A = [[2, -1, 0], [-1, 2, -1], [0, -1, 2]]
Ai = inversa(A)
print("Inversa (filas):")
for fila in Ai:
    print("  ", [round(v, 4) for v in fila])

b = [1, 0, 1]
x = [sum(Ai[i][j] * b[j] for j in range(3)) for i in range(3)]
print("x = A^-1 b =", [round(v, 4) for v in x])
print("A x =", [round(sum(A[i][j] * x[j] for j in range(3)), 6) + 0 for i in range(3)])
print("Singular:", inversa([[1, 2], [2, 4]]))

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

Temas relacionados

El determinante · Sistemas lineales y eliminación de Gauss · Matrices como transformaciones · Métodos iterativos: Jacobi y Gauss-Seidel

← Todos los temas