Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def gausselim(a,b):
- '''gausselim a on the left, b on the right.'''
- for i in range(len(a)):
- a[i].append(b[i]*1.0)
- for j in range(len(a)):
- a[i][j] = a[i][j]*1.0 #Insert b to a and make sure these fucking numbers are float
- for k in range(len(a)-1):
- for i in range(k+1,len(a)):
- r = a[i][k]/a[k][k]
- for j in range(k,len(a)+1):
- if a[i][j]:
- a[i][j] = a[i][j] - a[k][j]*r
- #Solving phase
- x = [0]*len(a)
- for i in range(len(a)-1,-1,-1):
- for j in range(i,len(a)-1):
- a[i][len(a)] = a[i][len(a)] - a[i][j+1]*x[j+1]
- x[i] = a[i][len(a)]/a[i][i]
- return x
Add Comment
Please, Sign In to add comment