Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.71 KB | None | 0 0
  1.  
  2. swit=10
  3. j=0
  4. det=0
  5. import numpy
  6.  
  7. matrix=numpy.random.rand(swit,swit)
  8. print matrix
  9. a= matrix
  10. print numpy.linalg.det(matrix)
  11.  
  12. def get_minor(a, Iind, Jind):
  13.     b = []
  14.     for i in xrange(len(a)):
  15.         if i == Iind:
  16.             continue
  17.         b.append([])
  18.         for j in xrange(len(a)):
  19.             if j == Jind:
  20.                 continue
  21.             b[-1].append(a[i][j])
  22.     return b
  23.  
  24. def get_det(a):
  25.     if len(a) == 2:
  26.         return a[0][0] * a[1][1] - a[0][1] * a[1][0]
  27.     res = 0.0
  28.     mn = 1.0
  29.     for i in xrange(len(a)):
  30.         val = a[0][i]
  31.         minor = get_minor(a, 0, i)
  32.         res += mn * val * get_det(minor)
  33.         mn = -mn
  34.     return res
  35.  
  36. print get_det(matrix)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement