Eliminazione di Gauss
In questa pagina 9
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).
La forma a scala
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.
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. Il rango di una matrice in forma a scala è il numero di righe non nulle (cioè il numero di pivot).
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.)
Esempio 2: una riga dipendente
Il primo elemento è : con si mette in alto l', e la nuova seconda riga inizia già con . Poi :
. 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
Notare che creando lo zero in prima colonna si è annullata anche la seconda colonna: 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 →". Verifica di nella terza equazione: ✓.
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:
Le prime due righe sono non nulle per ogni . La terza è nulla solo se . Quindi se , e se .
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. , , .
- 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 quarta riga inizia già con );
- (zero in seconda colonna): ora , ottenuta come ;
- e (zeri in terza colonna): , ottenuta come , e .
La riga nulla dice che : la riga corrispondente di è . Le righe non nulle sono , quindi 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 →, . Una base di è
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. 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 ).
Esercizi su questo argomento
- 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 26 · nucleo, immagine e matrice di una restrizione (appello 3/2/2026)
- 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 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)