Corso
Calcolare il determinante di una matrice 3×3 - o più grande - non è così semplice come nel caso 2×2.
Non puoi limitarti a moltiplicare in croce due diagonali. Più la matrice cresce, più i calcoli diventano complicati. Senza un metodo strutturato, è facile perdere il filo. È esattamente il tipo di problema per cui è stato pensato lo sviluppo per cofattori - chiamato anche sviluppo di Laplace.
Lo sviluppo per cofattori è un metodo per calcolare il determinante di qualsiasi matrice quadrata, espandendo lungo una riga o una colonna scelta. Scompone il problema in modo ricorsivo in determinanti più piccoli che sai già risolvere.
In questo articolo vedremo la definizione dello sviluppo per cofattori, la formula che lo governa, esempi passo passo per matrici 2×2 e 3×3, le proprietà chiave e le applicazioni pratiche.
Che cos’è lo sviluppo per cofattori?
Lo sviluppo per cofattori è un metodo ricorsivo per calcolare il determinante di qualsiasi matrice quadrata.
In questo contesto, "ricorsivo" significa che, invece di calcolare il determinante di una matrice grande tutto in una volta, lo scomponi in determinanti più piccoli. Questi a loro volta si scompongono in altri ancora più piccoli. Continui finché non restano matrici 2×2, che sono banali da risolvere.
Funziona per ogni matrice quadrata - 2×2, 3×3, 4×4 e oltre. Detto questo, è più utile per le 3×3 e superiori, dove non puoi semplicemente moltiplicare due diagonali in croce.
L’idea di base è semplice. Scegli una singola riga o colonna e sviluppi lungo quella. Ogni elemento in quella riga o colonna contribuisce con un sotto-problema più piccolo. Risolvi ogni sotto-problema, combini i risultati e ottieni il tuo determinante. Tutto qui.
Minore e cofattore: le definizioni chiave
Prima di sviluppare un determinante, devi capire due mattoni fondamentali: minori e cofattori.
Il minore
Il minore M_ij è il determinante della matrice più piccola che ottieni eliminando la riga i e la colonna j dalla matrice originale.
Supponiamo di avere una matrice 3×3 A e di voler calcolare il minore M_12. Elimina la riga 1 e la colonna 2. Rimane una 2×2. Calcolane il determinante: quello è il tuo minore.
Il cofattore
Il cofattore C_ij fa un passo oltre il minore. Applica un fattore di segno basato sulla posizione (i, j):

Il cofattore
Il termine (-1)^(i+j) mantiene o ribalta il segno del minore, a seconda di dove ti trovi nella matrice.
Quando i + j è pari, (-1)^(i+j) = +1, quindi il cofattore coincide con il minore. Quando i + j è dispari, (-1)^(i+j) = -1, quindi il cofattore inverte il segno del minore.
Lo schema a scacchiera
Questa alternanza di segni crea uno schema a scacchiera sull’intera matrice:

Lo schema a scacchiera
L’angolo in alto a sinistra parte sempre con +. Da lì, i segni alternano in ogni direzione. Questo schema ti dice a colpo d’occhio se un cofattore aggiungerà o sottrarrà al tuo determinante.
La formula dello sviluppo per cofattori
Ecco la formula che stavi aspettando.
Per lo sviluppo lungo la riga i:

Sviluppo lungo la riga i
Per lo sviluppo lungo la colonna j:

Sviluppo lungo la colonna j
In parole semplici, significa che moltiplichi ogni elemento della riga o colonna scelta per il suo cofattore, poi sommi il tutto.
I termini a_ij sono i singoli elementi della matrice. I termini C_ij sono i cofattori calcolati per ogni posizione. Moltiplicali, somma i risultati e ottieni il determinante.
Non importa quale riga o colonna scegli. Lo sviluppo lungo la riga 1 dà lo stesso risultato dello sviluppo lungo la riga 3 o la colonna 2. Il determinante è una proprietà fissa della matrice: il percorso di sviluppo è solo una tua scelta.
Quella scelta influisce però sulla quantità di lavoro. Una riga o colonna con più zeri significa meno cofattori da calcolare. Se una riga ha due zeri e tre elementi non nulli, devi calcolare i cofattori solo per quei tre elementi: gli zeri non contribuiscono alla somma. Prima di scegliere riga o colonna, dai sempre un’occhiata alla matrice alla ricerca di zeri.
Passo dopo passo: come funziona lo sviluppo per cofattori
Lo sviluppo per cofattori segue sempre gli stessi 3 passaggi.
Passo 1: Scegli una riga o una colonna. Esamina la matrice e scegli la riga o colonna con il maggior numero di zeri. Meno elementi non nulli significa meno cofattori da calcolare.
Passo 2: Per ogni elemento non nullo in quella riga o colonna:
-
Calcola il minore
M_ij: elimina la rigaie la colonnaj, poi prendi il determinante di ciò che resta. -
Applica il fattore di segno
(-1)^(i+j)usando lo schema a scacchiera per ottenere il cofattoreC_ij. -
Moltiplica l’elemento
a_ijper il suo cofattoreC_ij.
Passo 3: Somma tutti i prodotti.

Il determinante
Quello è il tuo determinante.
Se una delle sottomatrici è più grande di 2×2, ripeti lo stesso processo finché non arrivi a determinanti 2×2 - che puoi risolvere direttamente con ad - bc.
Esempio 1: sviluppo per cofattori di una matrice 2×2
Colleghiamo il tutto con il caso più semplice possibile.
Prendi questa matrice 2×2:

Esempio di matrice 2x2
Sviluppa lungo la riga 1. I due elementi sono a_11 = 3 e a_12 = 1.
-
Per
a_11 = 3: elimina la riga 1 e la colonna 1. Resta solo(4). Il fattore di segno è(-1)^(1+1) = +1. QuindiC_11 = +4. -
Per
a_12 = 1: elimina la riga 1 e la colonna 2. Resta solo(2). Il fattore di segno è(-1)^(1+2) = -1. QuindiC_12 = -2.
Ora somma i prodotti:
![]()
Calcolo del determinante
Noterai che coincide con la formula standard 2×2 ad - bc = (3)(4) - (1)(2) = 10. Lo sviluppo per cofattori e la scorciatoia della moltiplicazione incrociata sono due strade per arrivare alla stessa risposta.
Esempio 2: sviluppo per cofattori di una matrice 3×3
Ora affrontiamo un esempio completo 3×3.
Considera questa matrice:

Esempio di matrice 3x3
La riga 1 ha uno zero in posizione (1,2), quindi sviluppiamo lungo la riga 1. Quello zero ci permette di saltare completamente un cofattore.
Passo 1: imposta lo sviluppo

Impostazione dello sviluppo (1)
Dato che a_12 = 0, il termine centrale scompare:

Impostazione dello sviluppo (2)
Dobbiamo calcolare solo due cofattori. È il vantaggio di aver scelto la riga giusta.
Passo 2: calcola C_11
Ora elimina la riga 1 e la colonna 1. Ecco cosa rimane:

Prima computazione
Il segno in posizione (1,1) è (-1)^(1+1) = +1, quindi C_11 = +2.
Passo 3: calcola C_13
Il passo successivo è eliminare la riga 1 e la colonna 3. Resta questo:

Seconda computazione
Il segno in posizione (1,3) è (-1)^(1+3) = +1, quindi C_13 = +11.
Passo 4: somma i prodotti
![]()
Calcolo del determinante
Questo è il tuo determinante. Scegliendo fin da subito la riga con uno zero, hai trasformato un problema con tre cofattori in uno con due. Lavora sempre in modo intelligente.
Scegliere la riga o la colonna migliore
La riga o la colonna che scegli non cambia il risultato, ma cambia quanto lavoro devi fare.
Cerca sempre prima gli zeri. Ogni zero nella riga o colonna scelta è un cofattore che non devi calcolare. Nell’esempio 3×3 sopra, uno zero ha ridotto il lavoro da tre cofattori a due. In matrici più grandi, una riga con più zeri può evitarti diversi sotto-determinanti.
Ecco alcuni punti da ricordare
- Uno zero in una riga o colonna significa un cofattore in meno da calcolare
- Due zeri significano due cofattori in meno
- Tutti zeri tranne uno significa calcolare un solo cofattore
Questo conta ancora di più al crescere della matrice. Uno sviluppo per cofattori ingenuo su una matrice n×n richiede tempo fattoriale: una 4×4 richiede di calcolare i determinanti di quattro matrici 3×3, ognuna delle quali si sviluppa in tre matrici 2×2. Sono 24 calcoli singoli prima ancora di cominciare a sommare. Per una 5×5, sono 120.
Per matrici grandi, lo sviluppo per cofattori non è lo strumento giusto. La riduzione di riga e la decomposizione LU gestiscono le matrici grandi molto più rapidamente. Lo sviluppo per cofattori è meglio riservarlo ai casi 2×2 e 3×3, o al lavoro teorico in cui serve esprimere simbolicamente il determinante.
Per qualsiasi cosa tu stia risolvendo a mano, dedica qualche secondo a cercare la riga o colonna con più zeri prima di iniziare. È il modo più semplice per ridurre gli errori di calcolo.
Sviluppo per cofattori e struttura ricorsiva
Lo sviluppo per cofattori ha una struttura ricorsiva intrinseca.
Per trovare il determinante di una matrice n×n, sviluppi lungo una riga o una colonna e calcoli i determinanti di matrici (n-1)×(n-1) . Ciascuna di queste si sviluppa in matrici (n-2)×(n-2). Continui a ridurre finché non arrivi a matrici 2×2, che risolvi direttamente.
Questa proprietà ricorsiva è ciò che definisce il determinante algebricamente. Ti dice cos’è un determinante a ogni dimensione, non solo come calcolarlo.
La ricorsione ha però un costo.
Ogni livello di sviluppo moltiplica il numero di sotto-problemi e, per matrici grandi, il calcolo cresce rapidamente. Ecco perché le librerie numeriche non usano lo sviluppo per cofattori sotto il cofano. La riduzione di riga e i metodi di fattorizzazione scalano molto meglio.
Per matrici piccole e lavori teorici, la struttura ricorsiva è proprio ciò che vuoi. Per tutto il resto, è meglio cercare un altro approccio.
Connessione con la matrice aggiunta
I cofattori sono il mattone di base dell’inversione di matrici. Non servono solo ad aiutarti a calcolare i determinanti.
Se calcoli il cofattore C_ij per ogni elemento di una matrice A, ottieni una matrice dei cofattori C. Prendine la trasposta - scambia righe e colonne - e ottieni la matrice aggiunta:

La matrice aggiunta
Da qui, l’inversa della matrice segue direttamente:

L’inversa della matrice
In parole povere, significa che devi calcolare tutti i cofattori, ordinarli in una matrice, trasporla, poi dividere per il determinante. Questa è l’inversa.
Ci sono due cose da ricordare qui:
- Funziona solo quando
det(A) ≠ 0: un determinante nullo implica che la matrice non ha inversa - Questa formula è esatta, il che la rende utile per lavori teorici e algebra simbolica. Per il calcolo numerico con matrici grandi, altri metodi sono più rapidi.
Se ti stai chiedendo il legame con lo sviluppo per cofattori, ricorda solo che ogni voce della matrice aggiunta deriva da un cofattore che calcoleresti durante lo sviluppo. Lo stesso processo che ti dà il determinante fornisce anche tutto ciò che serve per invertire la matrice.
Proprietà dello sviluppo per cofattori
Lo sviluppo per cofattori ha alcune proprietà che vale la pena conoscere. Ti eviteranno di mettere in dubbio il tuo lavoro e ti aiuteranno a individuare scorciatoie.
Ecco quattro proprietà da ricordare:
- Lo sviluppo lungo qualsiasi riga o colonna dà lo stesso risultato. Puoi sviluppare lungo la riga 2 o la colonna 3: il determinante non cambia. Scegli quella con più zeri
- Il determinante è lineare in ciascuna riga. Se moltiplichi una riga per una costante
k, anche il determinante si moltiplica perk. Ciò discende direttamente dal modo in cui i cofattori si moltiplicano per ciascun elemento - Scambiare due righe inverte il segno del determinante. Scambia le righe una volta e il determinante si nega. Scambiale due volte e torna com’era. Ecco perché devi tenere traccia con attenzione delle operazioni di riga
- Se due righe sono linearmente dipendenti, il determinante è nullo. Dipendenza lineare significa che una riga è un multiplo scalare di un’altra - o più in generale, che le righe non generano l’intero spazio. La matrice è singolare e non esiste inversa
Queste proprietà ti permettono di semplificare le matrici prima di sviluppare: ridurre le righe, individuare dipendenze ed evitare calcoli inutili.
Errori comuni
Lo sviluppo per cofattori ha alcuni punti critici che si ripresentano spesso. Ecco a cosa fare attenzione.
- Dimenticare il segno
(-1)^(i+j). È l’errore più comune. Calcoli correttamente il minore, moltiplichi per l’elemento e sbagli il risultato perché hai saltato il fattore di segno. Controlla sempre lo schema a scacchiera prima di scrivere un cofattore - Eliminare la riga o colonna sbagliata per il minore. Quando calcoli
M_ij, elimini la rigaie la colonnaj- la riga e la colonna dell’elemento su cui stai sviluppando. Uno scivolone comune è eliminare quella sbagliata, soprattutto in una 3×3 dove la matrice rimanente può sembrare simile tra cancellazioni diverse - Fermarsi troppo presto nella ricorsione. Quando la tua sottomatrice è ancora 3×3 o più grande, devi sviluppare ancora. Alcuni trattano un minore 3×3 come se fosse 2×2 e applicano direttamente
ad - bc - Errori aritmetici nei passaggi ricorsivi. Più vai in profondità nella ricorsione, più moltiplicazioni e inversioni di segno devi tenere a mente. Un singolo errore aritmetico in un sotto-determinante iniziale si propaga in tutti i passaggi successivi. Lavora con attenzione su ogni determinante 2×2 prima di combinare i risultati
Se il risultato finale ti sembra sbagliato, lo schema dei segni e l’eliminazione per il minore sono le prime due cose da ricontrollare.
Quando usare lo sviluppo per cofattori
Lo sviluppo per cofattori è lo strumento giusto in alcune situazioni specifiche.
Per matrici piccole, è l’approccio più diretto. Una 2×2 è banale, e una 3×3 è gestibile a mano in pochi minuti. Oltre la 4×4, il numero di passaggi ricorsivi cresce così velocemente che altri metodi risultano più rapidi e meno inclini agli errori.
È anche la scelta ideale per lavori teorici e simbolici. Se stai affrontando una dimostrazione, derivando una formula o calcolando un determinante con elementi variabili e non numerici, lo sviluppo per cofattori ti dà un’espressione simbolica esatta con cui lavorare. La riduzione di riga è ottima con i numeri, ma diventa complicata con i simboli.
Ecco un rapido riepilogo di quando usarlo:
- Stai lavorando con una matrice 2×2 o 3×3
- Ti serve un risultato simbolico esatto, non un’approssimazione numerica
- Stai affrontando una dimostrazione che richiede di espandere esplicitamente il determinante
- Vuoi costruire intuizione su cosa rappresenti effettivamente il determinante
Per matrici numeriche grandi, lascialo perdere. La riduzione di riga e la decomposizione LU gestiscono questi casi molto più velocemente e con un rischio di errori aritmetici molto minore. La maggior parte delle librerie numeriche usa questi metodi proprio per questo motivo.
Lo sviluppo per cofattori va visto come uno strumento per calcoli a mano e teoria, non come un algoritmo generico.
Conclusione
Lo sviluppo per cofattori ti offre un modo sistematico e ricorsivo per calcolare il determinante di qualsiasi matrice quadrata.
I due mattoni fondamentali - i minori e lo schema dei segni (-1)^(i+j) - guidano l’intero processo. Se li imposti correttamente, il resto è semplice. Scegli una riga o colonna con zeri per ridurre il lavoro, riduci a determinanti 2×2 e somma i risultati.
Oltre ai determinanti, il metodo si collega alla matrice aggiunta e alla formula dell’inversa. I cofattori che calcoli durante lo sviluppo sono gli stessi che compongono adj(A) - rendendo lo sviluppo per cofattori una base per comprendere come funziona algebricamente l’inversione di matrici.
Per matrici piccole e lavoro teorico, è il metodo più trasparente disponibile. Per matrici numeriche grandi, meglio la riduzione di riga o una libreria numerica.
Se vuoi vedere lo sviluppo per cofattori in azione, iscriviti al nostro corso Algebra lineare per la Data Science in R.
FAQ sullo sviluppo per cofattori
Che cos’è lo sviluppo per cofattori?
Lo sviluppo per cofattori - detto anche sviluppo di Laplace - è un metodo per calcolare il determinante di qualsiasi matrice quadrata. Funziona sviluppando lungo una riga o una colonna scelta, moltiplicando ogni elemento per il suo cofattore e sommando i risultati. Il processo riduce ricorsivamente matrici più grandi in altre più piccole finché non restano determinanti 2×2 che puoi risolvere direttamente.
Quando dovrei usare lo sviluppo per cofattori?
Lo sviluppo per cofattori funziona meglio per matrici piccole - 2×2 e 3×3 - e per problemi teorici o simbolici in cui serve un’espressione esatta. Per matrici numeriche grandi, la riduzione di riga e la decomposizione LU sono più veloci e meno inclini agli errori. La maggior parte delle librerie numeriche usa questi metodi sotto il cofano.
Qual è la differenza tra minore e cofattore?
Un minore M_ij è il determinante della matrice che ottieni dopo aver eliminato la riga i e la colonna j. Un cofattore C_ij prende quel minore e applica un fattore di segno (-1)^(i+j), che mantiene o inverte il segno a seconda della posizione. Il cofattore è ciò che usi effettivamente nella formula di sviluppo.
Perché la scelta della riga o colonna non influisce sul risultato?
Lo sviluppo lungo qualsiasi riga o colonna produce sempre lo stesso determinante: è una proprietà fondamentale del metodo. La scelta influisce solo sulla quantità di aritmetica, non sul risultato. Scegliere una riga o colonna con più zeri riduce il numero di cofattori da calcolare.
In che modo lo sviluppo per cofattori è collegato all’inversione di matrici?
I cofattori calcolati durante lo sviluppo sono gli stessi valori usati per costruire la matrice aggiunta adj(A), che è la trasposta della matrice dei cofattori. L’inversa di una matrice è quindi A^{-1} = (1 / det(A)) * adj(A). Ciò significa che lo sviluppo per cofattori è alla base della formula algebrica dell’inversione di matrici.


