Nugroho's blog.: Gauss Jordan in Python.

## Tuesday, May 2, 2017

### Gauss Jordan in Python.

Yeah, it's basically Gauss elimination (or we could call it Gauss Naif :) ) but with slight modification at the end.

So, instead using back substitutions after zeroing the lower triangle, we straight on and zeroing upper triangle as well. As addition, we could normalize the diagonal elements so we have identity matrice.

And all is well, :)

```
from random import uniform

def showIt(a):

print 'The matrix'

print a[0][0], a[0][1],a[0][2], a[0][3]

print a[1][0], a[1][1],a[1][2], a[1][3]

print a[2][0], a[2][1],a[2][2], a[2][3]

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(1,-1,-1):

for j in range(2,i-1,-1):

temp = a[i][j]

for k in range (i,4):

if(i==j):

a[i][k] /= temp

else:

a[i][k] = a[i][k]/temp - a[j][k]

print ''

showIt(a)
```
.

Here's the result