La Eliminación de Gauss - Jupyter Notebook
La Eliminación de Gauss - Jupyter Notebook
La Eliminación de Gauss - Jupyter Notebook
In [41]:
# Eliminacion Gaussiana
import numpy as np
A=np.array([[1,2,-1,1],[-1,1,2,-1],[2,-1,2,2],[1,1,-1,2]])
print('La matriz A es: ')
print(A)
B=np.array([[6],[3],[14],[8]])
print('la B es: ')
print(B)
# PROCEDIMIENTO
casicero = 1e-15 # Considerar como 0
A = np.array(A,dtype=float)
AB = np.concatenate((A,B),axis=1)
AB0 = np.copy(AB) # Matriz aumentada
tamano = np.shape(AB)
n = tamano[0]
m = tamano[1]
AB1 = np.copy(AB)
for i in range(0,n-1,1):
pivote = AB[i,i]
adelante = i + 1
for k in range(adelante,n,1):
factor = AB[k,i]/pivote
AB[k,:] = AB[k,:] - AB[i,:]*factor
AB2 = np.copy(AB)
# elimina hacia atras
ultfila = n-1
ultcolumna = m-1
for i in range(ultfila,0-1,-1):
pivote = AB[i,i]
atras = i-1
for k in range(atras,0-1,-1):
factor = AB[k,i]/pivote
AB[k,:] = AB[k,:] - AB[i,:]*factor
# diagonal a unos
AB[i,:] = AB[i,:]/AB[i,i]
X = np.copy(AB[:,ultcolumna])
X = np.transpose([X])
# SALIDA
print('Matriz aumentada:')
print(AB0)
print('Pivoteo parcial por filas')
print(AB1)
print('La matriz triangulo superior es: ')
print(AB2)
print('eliminación hacia atrás')
print(AB)
print('solución de X: ')
print(X)
La matriz A es:
[[ 1 2 -1 1]
[-1 1 2 -1]
[ 2 -1 2 2]
[ 1 1 -1 2]]
la B es:
[[ 6]
[ 3]
[14]
[ 8]]
Matriz aumentada:
[[ 1. 2. -1. 1. 6.]
[ 2. -1. 2. 2. 14.]
[ 1. 1. -1. 2. 8.]]
[[ 2. -1. 2. 2. 14.]
[ 1. 2. -1. 1. 6.]
[ 1. 1. -1. 2. 8.]]
[[ 2. -1. 2. 2. 14. ]
[ 0. 0. 3.4 0. 10.2]
[ 0. 0. 0. 1. 4. ]]
[[1. 0. 0. 0. 1.]
[0. 1. 0. 0. 2.]
[0. 0. 1. 0. 3.]
[0. 0. 0. 1. 4.]]
solución de X:
[[1.]
[2.]
[3.]
[4.]]
In [ ]: