Matriz inversa usando Gauss

Autor: | Última modificación: 12 de abril de 2024 | Tiempo de Lectura: 2 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este artículo veremos cómo funciona una matriz inversa usando Gauss, un método empleado para un sistema de ecuaciones lineales que nos permita obtener la matriz deseada.

Matriz inversa usando Gauss

Al igual que el inverso de 5 es 1/5 = 5-1, dada la matriz A, no puedo calcular 1/A, pero sí A-¹.

La manera usual de calcular la matriz inversa, sobre todo si no es demasiado grande, es mediante determinantes, aunque hay otro modo general de calcular la matriz inversa: el método de Gauss.

  • Dada una matriz A, consideramos la matriz (A | I).
  • Mediante una serie de transformaciones, tenemos que conseguir transformarla en (I | B).
  • B = A-¹

Vamos a calcular la inversa de la siguiente matriz usando el método de Gauss, por medio del np.array:

Matriz inversa usando Gauss
Matriz inversa usando Gauss

AX = B → X = A-¹ * B

Lo primero que vamos a hacer es añadir a la derecha de la matriz A una matriz identidad y obtendremos (A | I):

AI = np.array ([[0, 1, 2, 1, 0, 0],
                          [1, 0, 3, 0, 1, 0],
                          [4, -3, 8, 0, 0, 1]])

AI
Matriz inversa usando Gauss

Buscamos hacer transformaciones de modo que obtengamos una matriz con la forma (I | B), donde B será la inversa de A. Lo primero que hacemos es intercambiar la segunda fila con la primera fila:

Matriz inversa usando Gauss
#Matriz inversa usando Gauss
AI = np.array ([AI[1], AI[0], AI[2]])
AI
Matriz inversa usando Gauss
#Matriz inversa usando Gauss
fila_1 = np.array ([1,  0,  3,  0,  1,  0])
fila_3 = np.array ([4,  -3,  8,  0,  0,  1])

fila_nueva_3 = -4 * fila_1 + fila_3
print (-4 * fila_1 + fila_3)

AI_ = np.array ([AI[0],
                            AI[1],
                            (-4 * AI[0] + AI[2])])

AI_

[0 -3 -4 0 -4 1]

Matriz inversa usando Gauss

Queremos hacer 0 el primer elemento de la tercera fila. Para ello, la tercera fila se convertirá en el resultado de multiplicar -4 por la primera fila y sumarle la tercera fila → tercera fila = -4 * (primera fila) + (tercera fila)

Matriz inversa usando Gauss
AI_ = np.array ([AI_[0],
                            AI_[1],
                            (3 * AI_[1] + AI_[2])])

AI_
Matriz inversa usando Gauss

El siguiente paso es hacer 0 el tercer elemento de la primera fila, para ello haremos → primera fila = (primera fila) – 3 * 2 * (tercera fila)

Matriz inversa usando Gauss
#Matriz inversa usando Gauss
AI: = np.array ([(AI_[0] * 3/2 * AI_[2]),
                            AI_[1],
                            AI_[2]])

AI_
Matriz inversa usando Gauss

Ahora tenemos que hacer 0 el tercer elemento de la segunda fila → segunda fila = (segunda fila) – (tercera fila)

Matriz inversa usando Gauss
AI_ = np.array ([AI_[0],
                         (AI_[1] - AI_[2]),
                          AI_[2]])

AI_
Matriz inversa usando Gauss

Debemos hacer 1 el tercer elemento de la última fila → (tercera fila) = (1/2) * (tercera fila)

Matriz inversa usando Gauss
AI_ = np.array ([AI_[0],
                           AI_[1],
                           (AI_[2] * 1/2)])

AI_
Matriz inversa usando Gauss

Por tanto, después de todo, la matriz inversa usando Gauss queda así:

Matriz inversa usando Gauss

Es decir A-¹:

Matriz inversa usando Gauss

¿Qué sigue?

Si quieres seguir aprendiendo sobre estas interesantes temáticas, puedes seguir nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, donde adquirirás todos los conocimientos necesarios para convertirte en un gran data scientist profesional en poco tiempo. ¡Aprovecha esta oportunidad de triunfar en el mundo IT y solicita más información ahora!

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado