matriz inversa por la aumentada en vb.net
Publicado por trinity_82 (1 intervención) el 01/05/2009 17:26:26
alguien me podria ayudar hacer el metodo de la matriz inversa por la aumentada se los agredecia muchisimoooo
Valora esta pregunta


0
import numpy as np
def eliminacion_gaussiana(matriz_aumentada):
n = len(matriz_aumentada)
for i in range(n):
# Dividir la fila i por el pivote
pivot = matriz_aumentada[i][i]
matriz_aumentada[i] /= pivot
# Eliminar las entradas por debajo del pivote
for j in range(i + 1, n):
factor = matriz_aumentada[j][i]
matriz_aumentada[j] -= factor * matriz_aumentada[i]
def sustitucion_hacia_atras(matriz_aumentada):
n = len(matriz_aumentada)
matriz_inversa = np.zeros((n, n))
for i in range(n - 1, -1, -1):
matriz_inversa[i] = matriz_aumentada[i, -n:] - matriz_aumentada[i, :-n] @ matriz_inversa
return matriz_inversa
def matriz_inversa_por_aumentada(matriz):
n = len(matriz)
matriz_aumentada = np.hstack([matriz, np.eye(n)])
eliminacion_gaussiana(matriz_aumentada)
return sustitucion_hacia_atras(matriz_aumentada)
# Ejemplo de uso
matriz = np.array([[1, 2, 3],
[0, 1, 0],
[2, 3, 1]])
matriz_inversa = matriz_inversa_por_aumentada(matriz)
print("Matriz inversa:")
print(matriz_inversa)