#Eliminación Gauss-Jordan en python paso a paso para una mtriz 5x5, expandia con b, A|b
#Autor: Alexander Arias
#Fecha: 22 de octubre de 2018
import numpy as np
A=np.array([[9.0,8.0,4.0,2.0,1.0,6.0],\
[5.0,2.0,7.0,0.5,5.0,4.5],\
[5.0,1.6666,0.3333,2.0,5.0,2.0],\
[0.75,3.0,1.5,5.0,9.0,8.0],\
[3.0,9.0,2.0,6.0,1.0,9.0]])
print(A)
print("-----------------------")
print("k=0")
print("-----------------------")
A[0]=A[0]/A[0,0]
print("A[0]=A[0]/A[0,0]")
print(A)
A[1]=A[1]-A[1,0]*A[0]
print("A[1]=A[1]-A[1,0]*A[0]")
print(A)
A[2]=A[2]-A[2,0]*A[0]
print("A[2]=A[2]-A[2,0]*A[0]")
print(A)
A[3]=A[3]-A[3,0]*A[0]
print("A[3]=A[3]-A[3,0]*A[0]")
print(A)
A[4]=A[4]-A[4,0]*A[0]
print("A[4]=A[4]-A[4,0]*A[0]")
print(A)
print("-----------------------")
print("k=1")
print("-----------------------")
A[1]=A[1]/A[1,1]
print("A[1]=A[1]/A[1,1]")
print(A)
A[2]=A[2]-A[2,1]*A[1]
print("A[2]=A[2]-A[2,1]*A[1]")
print(A)
A[3]=A[3]-A[3,1]*A[1]
print("A[3]=A[3]-A[3,1]*A[1]")
print(A)
A[4]=A[4]-A[4,1]*A[1]
print("A[4]=A[4]-A[4,1]*A[1]")
print(A)
print("-----------------------")
print("k=2")
print("-----------------------")
A[2]=A[2]/A[2,2]
print("A[2]=A[2]/A[2,2]")
print(A)
A[3]=A[3]-A[3,2]*A[2]
print("A[3]=A[3]-A[3,2]*A[2]")
print(A)
A[4]=A[4]-A[4,2]*A[2]
print("A[4]=A[4]-A[4,2]*A[2]")
print(A)
print("-----------------------")
print("k=3")
print("-----------------------")
A[3]=A[3]/A[3,3]
print("A[3]=A[3]/A[3,3]")
print(A)
A[4]=A[4]-A[4,3]*A[3]
print("A[4]=A[4]-A[4,3]*A[3]")
print(A)
Los resultados despues de ejecutar el programa son:
[[ 9. 8. 4. 2. 1. 6. ]
[ 5. 2. 7. 0.5 5. 4.5 ]
[ 5. 1.6666 0.3333 2. 5. 2. ]
[ 0.75 3. 1.5 5. 9. 8. ]
[ 3. 9. 2. 6. 1. 9. ]]
-----------------------
k=0
-----------------------
A[0]=A[0]/A[0,0]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[ 5. 2. 7. 0.5 5. 4.5 ]
[ 5. 1.6666 0.3333 2. 5. 2. ]
[ 0.75 3. 1.5 5. 9. 8. ]
[ 3. 9. 2. 6. 1. 9. ]]
A[1]=A[1]-A[1,0]*A[0]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[ 0. -2.44444444 4.77777778 -0.61111111 4.44444444 1.16666667]
[ 5. 1.6666 0.3333 2. 5. 2. ]
[ 0.75 3. 1.5 5. 9. 8. ]
[ 3. 9. 2. 6. 1. 9. ]]
A[2]=A[2]-A[2,0]*A[0]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[ 0. -2.44444444 4.77777778 -0.61111111 4.44444444 1.16666667]
[ 0. -2.77784444 -1.88892222 0.88888889 4.44444444 -1.33333333]
[ 0.75 3. 1.5 5. 9. 8. ]
[ 3. 9. 2. 6. 1. 9. ]]
A[3]=A[3]-A[3,0]*A[0]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[ 0. -2.44444444 4.77777778 -0.61111111 4.44444444 1.16666667]
[ 0. -2.77784444 -1.88892222 0.88888889 4.44444444 -1.33333333]
[ 0. 2.33333333 1.16666667 4.83333333 8.91666667 7.5 ]
[ 3. 9. 2. 6. 1. 9. ]]
A[4]=A[4]-A[4,0]*A[0]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[ 0. -2.44444444 4.77777778 -0.61111111 4.44444444 1.16666667]
[ 0. -2.77784444 -1.88892222 0.88888889 4.44444444 -1.33333333]
[ 0. 2.33333333 1.16666667 4.83333333 8.91666667 7.5 ]
[ 0. 6.33333333 0.66666667 5.33333333 0.66666667 7. ]]
-----------------------
k=1
-----------------------
A[1]=A[1]/A[1,1]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[-0. 1. -1.95454545 0.25 -1.81818182 -0.47727273]
[ 0. -2.77784444 -1.88892222 0.88888889 4.44444444 -1.33333333]
[ 0. 2.33333333 1.16666667 4.83333333 8.91666667 7.5 ]
[ 0. 6.33333333 0.66666667 5.33333333 0.66666667 7. ]]
A[2]=A[2]-A[2,1]*A[1]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[-0. 1. -1.95454545 0.25 -1.81818182 -0.47727273]
[ 0. 0. -7.31834545 1.58335 -0.60618182 -2.65912273]
[ 0. 2.33333333 1.16666667 4.83333333 8.91666667 7.5 ]
[ 0. 6.33333333 0.66666667 5.33333333 0.66666667 7. ]]
A[3]=A[3]-A[3,1]*A[1]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111
0.66666667]
[ -0. 1. -1.95454545 0.25 -1.81818182
-0.47727273]
[ 0. 0. -7.31834545 1.58335 -0.60618182
-2.65912273]
[ 0. 0. 5.72727273 4.25 13.15909091
8.61363636]
[ 0. 6.33333333 0.66666667 5.33333333 0.66666667 7. ]]
A[4]=A[4]-A[4,1]*A[1]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111
0.66666667]
[ -0. 1. -1.95454545 0.25 -1.81818182
-0.47727273]
[ 0. 0. -7.31834545 1.58335 -0.60618182
-2.65912273]
[ 0. 0. 5.72727273 4.25 13.15909091
8.61363636]
[ 0. 0. 13.04545455 3.75 12.18181818
10.02272727]]
-----------------------
k=2
-----------------------
A[2]=A[2]/A[2,2]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111
0.66666667]
[ -0. 1. -1.95454545 0.25 -1.81818182
-0.47727273]
[ -0. -0. 1. -0.21635355 0.08283045
0.36335026]
[ 0. 0. 5.72727273 4.25 13.15909091
8.61363636]
[ 0. 0. 13.04545455 3.75 12.18181818
10.02272727]]
A[3]=A[3]-A[3,2]*A[2]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111
0.66666667]
[ -0. 1. -1.95454545 0.25 -1.81818182
-0.47727273]
[ -0. -0. 1. -0.21635355 0.08283045
0.36335026]
[ 0. 0. 0. 5.48911577 12.68469835
6.53263033]
[ 0. 0. 13.04545455 3.75 12.18181818
10.02272727]]
A[4]=A[4]-A[4,2]*A[2]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111
0.66666667]
[ -0. 1. -1.95454545 0.25 -1.81818182
-0.47727273]
[ -0. -0. 1. -0.21635355 0.08283045
0.36335026]
[ 0. 0. 0. 5.48911577 12.68469835
6.53263033]
[ 0. 0. 0. 6.57243037 11.10125736
5.28265797]]
-----------------------
k=3
-----------------------
A[3]=A[3]/A[3,3]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111
0.66666667]
[ -0. 1. -1.95454545 0.25 -1.81818182
-0.47727273]
[ -0. -0. 1. -0.21635355 0.08283045
0.36335026]
[ 0. 0. 0. 1. 2.31088191
1.19010613]
[ 0. 0. 0. 6.57243037 11.10125736
5.28265797]]
A[4]=A[4]-A[4,3]*A[3]
[[ 1. 0.88888889 0.44444444 0.22222222 0.11111111 0.66666667]
[-0. 1. -1.95454545 0.25 -1.81818182 -0.47727273]
[-0. -0. 1. -0.21635355 0.08283045 0.36335026]
[ 0. 0. 0. 1. 2.31088191 1.19010613]
[ 0. 0. 0. 0. -4.0868531 -2.5392317 ]]