#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.