Advertisement
Linver

Funzione Determinante Matrice (Laplace)

Oct 25th, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.57 KB | None | 0 0
  1. #------------------------------------------
  2. #Funzione per il calcolo del determinante
  3. #di una matrice quadrata
  4. #@pam Matrice
  5. def TrovaDeterminante(Matrice):
  6.     Determinante=0
  7.  
  8.     if len(Matrice) == 1:
  9.         Determinante=Matrice[0][0]
  10.     elif len(Matrice) == 2:
  11.         Determinante=Matrice[0][0]*Matrice[1][1]+((-1)*(Matrice[0][1]*Matrice[1][0]))
  12.     else:
  13.         for i in range(0,len(Matrice)):
  14.             if Matrice[0][i] != 0:
  15.                 if i%2 == 0 or i == 0:
  16.                     Determinante+=Matrice[0][i]*TrovaDeterminante(TrovaSubMatrice(Matrice,i))
  17.                 else:
  18.                     Determinante+=((-1)*Matrice[0][i])*TrovaDeterminante(TrovaSubMatrice(Matrice,i))
  19.                
  20.     return Determinante
  21. #------------------------------------------
  22.  
  23. #------------------------------------------
  24. #Funzione che trova la sotto matrice di una
  25. #altra matrice più grande escludendo
  26. #la prima riga e la colonna designata nel
  27. #parametro RigaDaTagliare
  28. #@pam Matrice, RigaDaTagliare
  29. def TrovaSubMatrice(Matrice,RigaDaTagliare):
  30.     SubMatrice = [[0 for i in range(0,(len(Matrice)-1))] for j in range(len(Matrice)-1)]
  31.     Riga = [0 for i in range(0,(len(SubMatrice)))]
  32.     Index = 0
  33.     for i in range(1,len(Matrice)):
  34.         for k in range(0,len(Matrice)):
  35.             if k != RigaDaTagliare:
  36.                 Riga[Index]=Matrice[i][k]
  37.                 Index+=1
  38.         for k in range(0,len(SubMatrice)):
  39.             SubMatrice[i-1][k]=Riga[k]
  40.         Index=0
  41.                    
  42.     return SubMatrice
  43. #------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement