simonli2575

Gaussian Elimination: Python

Jan 29th, 2016
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.58 KB | None | 0 0
  1. def gausselim(a,b):
  2.     '''gausselim a on the left, b on the right.'''
  3.     for i in range(len(a)):
  4.         a[i].append(b[i]*1.0)
  5.         for j in range(len(a)):
  6.             a[i][j] = a[i][j]*1.0 #Insert b to a and make sure these fucking numbers are float
  7.     for k in range(len(a)-1):
  8.         for i in range(k+1,len(a)):
  9.             r = a[i][k]/a[k][k]
  10.             for j in range(k,len(a)+1):
  11.                 if a[i][j]:
  12.                     a[i][j] = a[i][j] - a[k][j]*r
  13.     #Solving phase
  14.     x = [0]*len(a)
  15.     for i in range(len(a)-1,-1,-1):
  16.         for j in range(i,len(a)-1):
  17.             a[i][len(a)] = a[i][len(a)] - a[i][j+1]*x[j+1]
  18.         x[i] = a[i][len(a)]/a[i][i]
  19.     return x
Add Comment
Please, Sign In to add comment