Eliminazione di Gauss
In questa pagina 9
In questa pagina 5
Lezioni 16, 17 e 18 (videolezioni n. 16–18). Esercizi svolti: Esercizio 41 · sistema 4×4 con due parametri (compitino 2025), Esercizio 42 · rango con parametro e condizione sui termini noti (compitino 2026), Esercizio 43 · rango con parametro e sistemi incompatibili (compitino 2023), Esercizio 44 · rango con parametro, righe e colonne, nucleo della trasposta (settembre 2023), Esercizio 45 · matrice R tale che RA è a scala, nucleo, immagine e cambio di base. Seguito: Matrice inversaL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa →.
Il teorema di Rouché-CapelliUn sistema lineare si scrive AX = B; ha soluzioni se e solo se B sta nell'immagine di A, cioè se rango(A) = rango(A|B) (Rouché-Capelli); le soluzioni sono una soluzione particolare più il nucleo e dipendono da n − r parametri.Sistemi lineari e teorema di Rouché-Capelli → dice che tutto dipende dal rango di una matrice. Finora per calcolarlo si scriveva una combinazione lineare uguale a zero e si risolveva un sistema (e, se i vettori risultavano dipendenti, se ne toglieva uno e si ricominciava). Il metodo di eliminazione di Gauss fa lo stesso lavoro in molti meno passaggi: si trasforma la matrice in una più semplice con lo stesso rango, finché il rango si legge a occhio.
Le tre operazioni elementari
Le operazioni elementari sulle righe di una matrice sono:
- scambiare due righe: ;
- moltiplicare una riga per un numero diverso da zero: , con ;
- sommare a una riga un multiplo di un'altra riga (o una combinazione lineare di altre righe): , con .
Allo stesso modo si definiscono le operazioni elementari sulle colonne (, ecc.).
Perché non cambiano il rango. Il rango è il numero di righe linearmente indipendenti (che è anche il numero di colonne indipendenti).
- Scambiare due righe cambia solo l'ordine: le righe sono sempre le stesse.
- Sostituire una riga con un suo multiplo , , non cambia il sottospazio generatoL'intersezione di due sottospazi è un sottospazio, l'unione in generale no. Al suo posto si usa la somma U + W = {u + w}, il più piccolo sottospazio che contiene entrambi. Il sottospazio generato da un insieme S è l'insieme di tutte le combinazioni lineari di vettori di S.Intersezione, somma e sottospazio generato → dalle righe: si ottiene da e si riottiene da . (Con invece la riga sparirebbe: per questo è vietato.)
- è combinazione di righe della matrice, e viceversa : anche qui il sottospazio generato dalle righe resta lo stesso.
In tutti e tre i casi il sottospazio generato dalle righe non cambia, quindi nemmeno la sua dimensione, che è il rango. Lo stesso ragionamento vale per le colonne.
Lettura con i sistemi. Sulle righe della matrice completa di un sistema, le tre operazioni sono: scambiare due equazioni, moltiplicare un'equazione per un numero non nullo, sommare a un'equazione un multiplo di un'altra. Sono le mosse che si fanno da sempre per risolvere un sistema, e producono un sistema equivalente (con le stesse soluzioni). Il perché, per la terza: se risolve e risolve anche (si sommano le due uguaglianze); viceversa se risolve e , risolve anche . Nessuna soluzione si perde e nessuna si aggiunge.
Esempio nel piano. con diventa . La seconda retta è cambiata (da a ), ma passa ancora per il punto comune : il sistema nuovo ha la stessa soluzione, e in più ha una incognita in meno nella seconda equazione.
Grafico interattivo: R₂ → R₂ − R₁ sostituisce la retta x − y = 1 con la retta y = 1: le rette cambiano, il punto comune (2, 1) resta lo stesso
La forma a scala
Definizione (forma a scala e pivot). Una matrice è in forma a scala (per righe) se, in ogni riga, il primo elemento non nullo sta strettamente più a destra del primo elemento non nullo della riga precedente; le eventuali righe nulle stanno in fondo.
Il primo elemento non nullo di ogni riga non nulla si chiama pivot.
Esempio. è a scala, con pivot (prima riga) e (seconda riga).
Gli zeri sotto la "scala" sono obbligatori, gli asterischi possono essere qualunque cosa. Come si vede, i pivot non devono per forza stare sulla diagonale: un gradino può essere largo più di una colonna (qui il terzo pivot è nella quarta colonna).
Teorema (rango di una matrice a scala). Il rango di una matrice in forma a scala è il numero di righe non nulle (cioè il numero di pivot).
Esempio. La matrice a scala ha due righe non nulle, quindi rango .
Perché. Le righe nulle non contano. Le righe non nulle sono indipendenti: in una combinazione , guardando la colonna del primo pivot, solo ha un elemento non nullo lì (sotto ci sono zeri), quindi e . Tolta , lo stesso ragionamento sulla colonna del secondo pivot dà , e così via: tutti i coefficienti sono nulli.
L'algoritmo
- Si guarda la prima colonna. Se è tutta nulla, la si ignora e si passa alla successiva.
- Se serve, con uno scambio di righe si porta in alto un elemento non nullo: sarà il pivot. (Conviene scegliere un o un , se c'è, per evitare frazioni.)
- Con operazioni si crea uno zero sotto il pivot in ogni riga. Il coefficiente è scelto apposta: il primo elemento di è , e sottraendolo da resta .
- Si "copre" la prima riga e la prima colonna e si ripete tutto sulla sottomatrice rimasta.
- Ci si ferma quando la matrice è a scala.
Consiglio del prof: procedere sempre con ordine. Per creare gli zeri della colonna si usa solo la riga del -esimo pivot. Usare una riga "vecchia" (per esempio la prima quando si lavora sulla terza colonna) crea lo zero voluto ma distrugge zeri già fatti nelle colonne precedenti, e si gira in tondo. Procedendo sempre allo stesso modo il metodo diventa meccanico, si sbaglia meno ed è anche il modo in cui lo si programma al calcolatore.
Esempio 1: rango di una (lezione 16)
Passo 1: , per avere come primo pivot (con il si dovrebbe moltiplicare per e comparirebbero frazioni).
Passo 2: zeri nella prima colonna. La seconda riga inizia con e la prima con : . La terza inizia con : .
Passo 3: zero sotto il . Il rapporto è : . Il terzo elemento diventa .
Tre righe non nulle: . (Per il rango non serve nemmeno sapere che l'ultimo numero è : basta sapere che non è zero.) Il conto del terzo elemento, per esteso: .
Rango per una matrice vuol dire che è invertibileL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa →. Più avanti si vedrà che il prodotto dei pivot dà anche il determinante, a meno del segno degli scambi: , e con uno scambio di righe (vedi Proprietà del determinante, Binet e LaplaceIl determinante è lineare in ogni riga, cambia segno scambiando due righe, non cambia sommando a una riga un multiplo di un'altra: così si calcola con Gauss riducendo a triangolare. Binet: det(AB) = det A · det B. Laplace: sviluppo lungo una riga o colonna con i complementi algebrici.Proprietà del determinante, Binet e Laplace →).
Esempio 2: una riga dipendente
Il primo elemento è : con si mette in alto l', e la nuova seconda riga inizia già con . Poi , cioè , e infine , che dà la riga nulla:
. L'algoritmo ha "eliminato" proprio la riga che era combinazione delle altre: ecco da dove viene il nome.
Righe o colonne? Per calcolare solo il rango si possono usare anche le operazioni sulle colonne (o mescolarle), perché rango per righe e rango per colonne coincidono: per esempio lo stesso risultato si ottiene riducendo la trasposta .
Risolvere un sistema con Gauss
Per risolvere si riduce a scala direttamente la matrice completa : le prime colonne ridotte sono la forma a scala di , quindi con un solo calcolo si ottengono , e un sistema equivalente facile da risolvere.
Attenzione: per risolvere un sistema si usano SOLO operazioni sulle righe.
Il motivo: le righe sono equazioni, e sommarle o scambiarle produce un sistema equivalente. Le colonne invece corrispondono a incognite diverse: sommare la colonna di a quella di significherebbe sommare "" e "" ottenendo " di che cosa?", che non ha senso. (Uno scambio di colonne si potrebbe fare, ma scambia anche il nome delle incognite: meglio evitarlo.)
Come si conclude. Dalla forma a scala:
- se compare una riga con il sistema è impossibile ();
- altrimenti le incognite che corrispondono alle colonne con un pivot si dicono dipendenti, le altre libere (sono i parametri);
- si risolve con la sostituzione all'indietro: dall'ultima equazione non nulla si ricava l'ultima incognita dipendente, la si sostituisce nella penultima, e così via risalendo fino alla prima.
Esempio 3: sistema con due parametri liberi
I conti: e . Notare che creando lo zero in prima colonna si è annullata anche la seconda colonna (la colonna di è il doppio di quella di ): il secondo pivot è nella terza colonna.
- : il sistema è risolubile, con parametri.
- I pivot sono nelle colonne e : dipendenti, libere.
- Sostituzione all'indietro: dalla seconda riga . Dalla prima .
come previsto dalla struttura "soluzione particolare più nucleoUn sistema lineare si scrive AX = B; ha soluzioni se e solo se B sta nell'immagine di A, cioè se rango(A) = rango(A|B) (Rouché-Capelli); le soluzioni sono una soluzione particolare più il nucleo e dipendono da n − r parametri.Sistemi lineari e teorema di Rouché-Capelli →" (la soluzione particolare si ottiene ponendo i parametri ; i due vettori moltiplicati per e sono una base del nucleo). Verifica di nelle tre equazioni: ✓, ✓, ✓. Verifica che i due vettori stanno nel nucleo (termini noti nulli): dà , , ✓; dà , , ✓.
Matrici con un parametro
Se alcuni elementi dipendono da un parametro , conviene spostarli il più in basso a destra possibile prima di cominciare (scambiando righe e, se si calcola solo il rango, anche colonne): così quasi tutti i passaggi si fanno con numeri e il parametro entra in gioco solo all'ultimo gradino, dove si discutono i casi.
Esempio (lezione 18, in piccolo). . Si scambiano le colonne e (lecito: interessa solo il rango), così va nell'ultima colonna:
I conti: , , e . Il parametro non è mai finito al denominatore e i primi due pivot sono e , numeri fissi.
Le prime due righe sono non nulle per ogni . La terza è nulla solo se . Quindi se , e se . Controllo con : e infatti ().
Attenzione a non dividere per espressioni che contengono il parametro (per esempio ) senza aver prima escluso il valore che le annulla.
Le operazioni elementari come prodotti di matrici (lezione 17)
Ogni operazione elementare sulle righe di si ottiene moltiplicando a sinistra per una matrice opportuna, costruita modificando la matrice identità :
| Operazione sulle righe | Matrice | Come si costruisce da |
|---|---|---|
| si scambiano le righe e dell'identità | ||
| () | al posto dell' in posizione si mette | |
| () | al posto dello in posizione si mette |
Esempio. In :
La prima riga del prodotto è per le colonne: , ecc. Il risultato è proprio , mentre le altre righe dell'identità ricopiano le righe di .
Moltiplicando a destra (, , ) si ottengono le operazioni corrispondenti sulle colonne.
Tutte queste matrici sono invertibili: l'operazione inversa è ancora elementare ( si annulla rifacendo lo stesso scambio, con , con ).
La matrice con (lezione 18)
Se per ridurre a scala si fanno le operazioni corrispondenti alle matrici (in quest'ordine), allora
"ricorda" tutte le operazioni fatte, ed è invertibile (prodotto di invertibili). Per calcolarla senza scrivere tutte le :
Trucco. Si scrive l'identità accanto ad , cioè , e si riduce a scala con sole operazioni sulle righe, facendo le stesse operazioni anche sulla parte destra. Alla fine si ottiene .
Perché funziona. Fare le operazioni sulle righe di equivale a moltiplicare a sinistra per : .
A cosa serve: le relazioni di dipendenza lineare
Se si mettono in riga dei vettori , ogni riga nulla di dà una relazione di dipendenza lineare: se la riga di è nulla, la riga di , cioè , soddisfa
perché la riga di è proprio questa combinazione delle righe di . I coefficienti si trovano senza scrivere né risolvere alcun sistema.
Esempio. , , .
I conti, a sinistra e a destra della barra con la stessa operazione: ; ; .
- Il rango è : i tre vettori generano un sottospazio di dimensione .
- La terza riga di è nulla, e la terza riga di è : quindi , cioè . Verifica: ✓.
Intersezione di due sottospazi senza risolvere sistemi
Siano e in , con , , , , . Un vettore si scrive , cioè
che è una relazione di dipendenza tra i cinque vettori: la si legge nella matrice . Si mettono i cinque vettori in riga (nell'ordine ) e si riduce :
- e (zeri in prima colonna; la seconda e la quarta riga iniziano già con ): , cioè , e , cioè ;
- (zero in seconda colonna; la quarta e la quinta hanno già lì): ora , ottenuta come ;
- e (zeri in terza colonna): , ottenuta come , e , ottenuta come .
La matrice finale, con a destra la parte (le colonne di corrispondono nell'ordine a ): Non è ancora a scala nell'ordine delle righe (la riga nulla dovrebbe andare in fondo, con lo scambio ), ma per leggere rango e relazioni non serve.
La riga nulla dice che : la riga corrispondente di è . Le righe non nulle sono , quindi (le righe di generano , vedi Intersezione, somma e sottospazio generatoL'intersezione di due sottospazi è un sottospazio, l'unione in generale no. Al suo posto si usa la somma U + W = {u + w}, il più piccolo sottospazio che contiene entrambi. Il sottospazio generato da un insieme S è l'insieme di tutte le combinazioni lineari di vettori di S.Intersezione, somma e sottospazio generato →) e, per la formula di GrassmannFormula di Grassmann: dim(U + W) = dim U + dim W − dim(U ∩ W), come contare gli elementi di un'unione senza contare due volte quelli comuni. Se U ∩ W = {0} la somma è diretta, U ⊕ W, e ogni vettore si scrive in modo unico come u + w.Formula di Grassmann e somma diretta →, (qui perché non sono proporzionali, e perché sono indipendenti: ridotti a scala da soli danno tre righe non nulle). Confrontando la relazione con (cambiata di segno) si legge , , . Una base di è quindi
Verifica: e ✓.
Costo del metodo
Per ridurre a scala una matrice si devono creare al più zeri, ciascuno con un'operazione elementare: l'ordine di grandezza è operazioni sulle righe. Ogni operazione sulle righe richiede a sua volta circa moltiplicazioni e somme (una per elemento della riga), quindi in tutto servono circa operazioni aritmetiche: in termini di complessità computazionaleCosto di un algoritmo in funzione della dimensione dell'input; caso peggiore, migliore e medio; notazione O-grande e classi di crescita; come contare i passi di cicli e ricorsioni; costo delle operazioni Python.Complessità computazionale → l'algoritmo è . Con il vecchio metodo (risolvere un sistema, togliere un vettore, risolvere di nuovo…) i conti crescono molto più in fretta. Per questo l'eliminazione di Gauss è lo strumento usato in pratica (anche nei programmi) per ranghi, sistemi, inverseL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa → e determinantiIl determinante è lineare in ogni riga, cambia segno scambiando due righe, non cambia sommando a una riga un multiplo di un'altra: così si calcola con Gauss riducendo a triangolare. Binet: det(AB) = det A · det B. Laplace: sviluppo lungo una riga o colonna con i complementi algebrici.Proprietà del determinante, Binet e Laplace →.
Errori comuni
- Usare operazioni sulle colonne mentre si risolve un sistema. Per il solo rango si può, per un sistema no.
- Moltiplicare una riga per (o per un'espressione con un parametro che può annullarsi): la riga sparisce e il rango cambia.
- Credere che i pivot debbano stare sulla diagonale. Un gradino può saltare più colonne.
- Fermarsi troppo presto: se due righe hanno il primo elemento non nullo nella stessa colonna, la matrice non è ancora a scala.
- Riutilizzare righe già sistemate per creare zeri più a destra: si distruggono zeri fatti prima.
- Dimenticare di applicare le operazioni anche alla colonna dei termini noti (o alla parte destra di ).
Versione ripasso
Il metodo di eliminazione di Gauss trasforma una matrice in forma a scala, conservandone il rango e facilitando la risoluzione di sistemi lineariUn sistema lineare si scrive AX = B; ha soluzioni se e solo se B sta nell'immagine di A, cioè se rango(A) = rango(A|B) (Rouché-Capelli); le soluzioni sono una soluzione particolare più il nucleo e dipendono da n − r parametri.Sistemi lineari e teorema di Rouché-Capelli →.
Le tre operazioni elementari
Le operazioni sulle righe che conservano il rango sono:
- Scambio: .
- Moltiplicazione per scalare: ().
- Somma di un multiplo: ().
Perché funzionano: il sottospazio generatoL'intersezione di due sottospazi è un sottospazio, l'unione in generale no. Al suo posto si usa la somma U + W = {u + w}, il più piccolo sottospazio che contiene entrambi. Il sottospazio generato da un insieme S è l'insieme di tutte le combinazioni lineari di vettori di S.Intersezione, somma e sottospazio generato → dalle righe non cambia ( si riottiene da e da ), quindi la dimensione (rango) resta invariata. Su una matrice completa sono le mosse sulle equazioni di un sistema (sistema equivalente). Valgono anche per le colonne, ma per risolvere un sistema si usano solo righe: le colonne sono incognite diverse.
Forma a scala
Una matrice è a scala se il primo elemento non nullo di ogni riga (pivot) sta strettamente a destra del pivot della riga precedente.
Teorema: Il rango di una matrice a scala è pari al numero di righe non nulle (numero di pivot). I pivot non stanno per forza sulla diagonale.
(Le righe non nulle sono indipendenti: in la colonna del primo pivot dà , poi la seconda dà , e così via.)
Algoritmo:
- Scambiare righe per portare un elemento non nullo in alto.
- Usare la riga del pivot per creare zeri sotto di esso: .
- Procedere ricorsivamente sulla sottomatrice.
Consiglio: usare sempre il pivot corrente per azzerare la colonna sottostante senza "sporcare" le colonne già sistemate; scegliere un pivot per evitare frazioni.
Esempio (rango). : ; , ; . Tre righe non nulle: . Con l'ultima riga si annulla e il rango scende.
Risoluzione di sistemi
Per risolvere , ridurre a scala la matrice completa .
Attenzione: Usare SOLO operazioni sulle righe.
- Impossibile: Se compare una riga con .
- Risolubile: Incognite con pivot (dipendenti) e incognite senza pivot ( parametri liberi).
- Soluzione: Si ottiene per sostituzione all'indietro (dall'ultima riga non nulla alla prima).
Esempio. : ranghi , pivot nelle colonne e , libere . Si ha , , cioè : soluzione particolare più nucleo.
Parametri e matrici di trasformazione
- Parametri: Spostare le colonne contenenti il parametro il più possibile a destra. Non dividere mai per espressioni contenenti il parametro senza aver discusso i casi in cui si annullano. Esempio: , scambiando le colonne e (solo per il rango) si ottiene l'ultima riga : rango se , altrimenti .
- Operazioni come prodotti: ogni operazione sulle righe è la moltiplicazione a sinistra per una matrice elementare (identità modificata: righe scambiate, al posto di un , al posto di uno in ), invertibile; a destra si hanno le operazioni sulle colonne.
- Matrice (): se le operazioni sono allora . Riducendo si ottiene (infatti ). Le righe nulle di corrispondono alle relazioni di dipendenza lineare tra le righe di (i coefficienti della combinazione sono le righe di ), senza risolvere sistemi. Esempio: , , in riga: la terza riga di è nulla e la terza di è , quindi .
- Intersezione di sottospazi: per si ha una relazione tra i generatori, che si legge in ; poi si usa la formula di GrassmannFormula di Grassmann: dim(U + W) = dim U + dim W − dim(U ∩ W), come contare gli elementi di un'unione senza contare due volte quelli comuni. Se U ∩ W = {0} la somma è diretta, U ⊕ W, e ogni vettore si scrive in modo unico come u + w.Formula di Grassmann e somma diretta →.
- Costo: circa operazioni elementari per una matrice : è lo strumento per ranghi, sistemi, inverseL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa → e determinantiIl determinante è lineare in ogni riga, cambia segno scambiando due righe, non cambia sommando a una riga un multiplo di un'altra: così si calcola con Gauss riducendo a triangolare. Binet: det(AB) = det A · det B. Laplace: sviluppo lungo una riga o colonna con i complementi algebrici.Proprietà del determinante, Binet e Laplace →.
Errori tipici
- Applicare operazioni sulle colonne per risolvere sistemi (invalida la soluzione).
- Moltiplicare una riga per un'espressione col parametro che può annullarsi.
- Usare righe "vecchie" per creare zeri: si distruggono i risultati precedenti.
- Non applicare le operazioni anche alla colonna dei termini noti o alla matrice identità.
Esercizi su questo argomento
- Esercizio 1 · dipendenza lineare di vettori in R2 e R3
- Esercizio 5 · estrarre e completare una base in R3
- Esercizio 8 · base, equazioni cartesiane, intersezione e somma in R4
- Esercizio 21 · nucleo e immagine di una funzione da R3 a R2
- Esercizio 22 · nucleo, immagine, antimmagine e restrizione (compitino 12/4/2025)
- Esercizio 23 · nucleo, immagine e antimmagine con un parametro (compitino 10/4/2026)
- Esercizio 24 · nucleo, immagine e immagine di un sottospazio (appello 17/6/2025)
- Esercizio 25 · intersezione tra nucleo e immagine (appello 14/6/2022)
- Esercizio 26 · nucleo, immagine e matrice di una restrizione (appello 3/2/2026)
- Esercizio 28 · matrice rispetto a una base non canonica (appello 8/7/2025)
- Esercizio 40 · sistema omogeneo, non omogeneo e soluzioni come particolare più nucleo
- Esercizio 41 · sistema 4×4 con due parametri (compitino 2025)
- Esercizio 42 · rango con parametro e condizione sui termini noti (compitino 2026)
- Esercizio 43 · rango con parametro e sistemi incompatibili (compitino 2023)
- Esercizio 44 · rango con parametro, righe e colonne, nucleo della trasposta (settembre 2023)
- Esercizio 45 · matrice R tale che RA è a scala, nucleo, immagine e cambio di base
- Esercizio 46 · inversa con Gauss-Jordan e una matrice non invertibile
- Esercizio 47 · determinante 4×4 con Laplace e con Gauss
- Esercizio 63 · autovalori, nucleo e matrice simmetrica simile (giugno 2022)
- Esercizio 80 · U⊥ da un'equazione, Gram-Schmidt e vettore di minima distanza
- Esercizio 82 · (Im f)⊥ = Ker f per una matrice simmetrica
- Esercizio 85 · dimensione con parametro, U⊥ e vettore con proiezione assegnata
- Esercizio 108 · un sottospazio affine di A4 (appello 1/2/2022)
Teoria collegata
- Autovalori e autovettori
- Cambiamenti di base
- Combinazioni lineari e dipendenza lineare
- Coordinate rispetto a una base
- Dimensione
- Matrice aggiunta e teorema di Cramer
- Matrice associata a una funzione lineare
- Matrice inversa
- Metodo - basi, equazioni cartesiane, intersezione e somma di sottospazi
- Proprietà del determinante, Binet e Laplace
- Sistemi lineari e teorema di Rouché-Capelli
- Polinomi - rappresentazione per coefficienti e per valori e convoluzione
- Union bound e verifica randomizzata - identità polinomiali e prodotti di matrici
- Codici a blocco lineari e sindrome