Nugroho's blog.: Gauss Naif in Python

## Thursday, April 27, 2017

### Gauss Naif in Python

Okay, we've done the manual one, how about automatize it?

It's actually just a matter of finding the pattern on that code and after we found the loop, we just have to well... loop it, :)

Here's the automatic code, it could be used on any size of matrices.
```from random import uniform

def showIt(a):
print 'The matrix'
print a, a,a, a
print a, a,a, a
print a, a,a, a
a = []
x = []
for i in range (3):
a.append([])
x.append(0.)
for j in range (4):
a[i].append(uniform(.1,10))

showIt(a)

#Elimination of lower triangle
print ''
print 'lower triangle elimination'
for i in range(3):
for j in range(0,i+1):
temp = a[i][j]
for k in range(4):
if (i==j):
a[i][k] /= temp
else:
a[i][k] =a[i][k]/temp - a[j][k]

showIt(a)

#back subtitution
for i in range(2,-1,-1):
x[i] = a[i]
for j in range(2,i,-1):
x[i] -= x[j]*a[i][j]

print ''
print x

```

And the result is

```Nugrohos-MacBook-Air:blog nugroho\$ python gaussAuto.py
The matrix
2.9253100656 5.50024585256 7.54933211423 0.802045271906
7.46608768407 7.19037200354 4.96635482944 5.77225324671
4.34208584906 9.64108592095 6.96107863057 0.5016396771

lower triangle elimination
The matrix
1.0 1.88022661845 2.58069467678 0.274174447809
-0.0 1.0 2.08852903767 -0.544024465595
-0.0 -0.0 1.0 -0.0156447726138

[1.2760025294980237, -0.5113499037034588, -0.015644772613790357]
Nugrohos-MacBook-Air:blog nugroho\$
```
.