Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def thomas(aa,bb,cc,n):
- import math
- import numpy
- n = input('Enter the dimension')
- print 'Matrix size',n
- dd = [
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,
- ]
- k,l,m = input ("enter vectors")
- aa=[]
- bb=[]
- cc=[]
- for i in range(n+1):
- bb.append(l)
- for i in range(n):
- aa.append(k)
- cc.append(m)
- a = numpy.array(aa)
- b = numpy.array(bb)
- c = numpy.array(cc)
- d = numpy.array(dd)
- c[0] = c[0]/ b[0]
- d[0] = d[0]/ b[0]
- for i in range(1,n,1):
- c[i] = c[i]/(b[i] - a[i] * c[i-1])
- for i in range(1,n,1):
- d[i] = (d[i] - a[i] * d[i-1])/(b[i] - a[i] * c[i-1])
- d[-1] = (d[-1] - a[-1] * d[-2])/( b[-1] - a[-1] * c[-2])
- x = numpy.zeros(n)
- x[-1] = d[-1]
- for i in range(-2, -n, -1):
- x[i] = d[i] - c[i] * x[i + 1]
- print x
- return x
Advertisement
Add Comment
Please, Sign In to add comment