#Andrew Samuels
#Gaussian Elimination
#performs gaussian elimination on a 3 by 4 matrix
#import scipy module
from scipy import *
from pdb import *
#construct the matrix
matrix = zeros((3,4))
matrix[0,0] = 1
matrix[0,1] = 1
matrix[0,2] = 1
matrix[0,3] = 0
matrix[1,0] = 1
matrix[1,1] = -2
matrix[1,2] = 2
matrix[1,3] = 4
matrix[2,0] = 1
matrix[2,1] = 2
matrix[2,2] = -1
matrix[2,3] = -1
pivot = 0
ncols = 4
nrows = 3
#for all pivots
for col in range(ncols-1):
#divide pivot by itself to make it 1
matrix[pivot,:] = matrix[pivot,:]/matrix[pivot,pivot]
#for all pivots that haven't been done yet
for row in range(pivot+1,nrows):
matrix[row,:] = matrix[row,:] - matrix[pivot,:]
pivot = pivot + 1
print matrix
I am a software engineer with a computational physics focus. The purpose of this blog is to showcase my ideas and works. I can create value and reduce costs for your company.
20111228
Fun with Python: Gaussian Elimination
Here is my python program that does Gaussian Elimination on a 3 x 4 matrix. Of course, there are existing modules with functions that could do this automatically, but this was a good learning exercise doing it the hard way.