Calcola il determinante con la regola di Laplace.
Utilizza, ricorsivamente, i determinanti delle sottomatrici.
Sottomatrice
Crea una sottomatrice di m
Copia tutto tranne la riga er e la colonna ec
def sottoMatrice(m, er, ec):
n=len(m)
mm=[]
for r in range(n):
if(r != er):
riga=[]
for c in range(n):
if(c != ec):
riga.append(m[r][c])
mm.append(riga)
return mm
Determinante
Sviluppa la prima riga della matrice.
def determinante(m):
n=len(m)
if(n == 1): return m[0][0]
if(n == 2): return m[0][0]*m[1][1]-m[0][1]*m[1][0]
somma=0
segno=+1
for c in range(n):
mm = sottomatrice(m, 0, c)
somma += segno * m[0][c] * determinante(mm)
segno *= -1
return somma