Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. def my_det(X):
  2. '''
  3. Parameters
  4. ----------
  5. X : array_like
  6.  
  7. Returns
  8. -------
  9. det : float
  10. Determinant of `a`.
  11. '''
  12. if(len(X)!=len(X[0])):
  13. return 0
  14. change = 0
  15. det = 1
  16. for i in range(len(X)):
  17. j=i
  18. while X[i][j] == 0:
  19. j+=1
  20. if j>=len(X):
  21. return 0
  22. if i!=j:
  23. for k in range(len(X)):
  24. X[i][k], X[j][k]=X[j][k], X[i][k]
  25. change+=1
  26. j+=1
  27. while(j!=len(X)):
  28. for k in range(len(X)):
  29. X[j][k]-=X[i][k]*(X[j][i]/X[i][i])
  30. j+=1
  31. for i in range(len(X)):
  32. det *= X[i][i]
  33. if(change % 2 == 1):
  34. det*=-1
  35. return det
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement