Algebra lineare > Sistemi lineari
- Indice delle lezioni di:
- Torna al corso:
In questa lezione vedremo alcune tecniche per risolvere dei sistemi di equazioni lineari generici, quindi non per forza quadrati.
Un sistema lineare è di m equazioni in n incognite del tipo
abbiamo già visto che possiamo provare a risolvere utilizzando il metodo di sostituzione oppure l'eliminazione di Gauss nel caso il sistema sia quadrato, cioè (con m numero di equazioni ed n numero delle incognite). Vediamo ora dei metodi più efficaci per risolvere un qualunque sistema lineare.
Riduzione a Scala e Algoritmo di Gauss-Jordan
[modifica]
È un metodo senz'altro efficiente e pratico da implementare in un calcolatore, tuttavia (e questa è un'opinione personale), richiede dei notevoli calcoli numerici e spesso l'utilizzo dei determinanti e la Regola di Cramer sono migliori se dobbiamo risolvere il sistema a mano senza l'impiego di un calcolatore.
Definizione: Una matrice si dice a scala se è siffatta
- Gli * indicano che può esserci qualsiasi cosa e i (quindi tutti non nulli) sono gli pivot della matrice a scala.
Il sistema lineare associato si dice sistema a scala.
La matrice a scala ed il Metodo di Gauss-Jordan non è altro che la generalizzazione di quello che avevamo visto brevemente per le matrici quadrate. Prima di studiarne le proprietà teoriche, vediamo come funziona e facciamo qualche esempio pratico per fissare le idee.
Come anticipato prima, il metodo di Gauss-Jordan è molto simile all'eliminazione di Gauss per le matrici quadrate, cioè è un metodo che tramite operazioni elementari (quali lo scambio di righe, combinazioni lineari, ecc...) trasforma una matrice qualsiasi in una matrice a scala e di conseguenza trasforma il generico sistema in un sistema a scala equivalente .
Partendo da un sistema lineare , il metodo consiste nei seguenti passaggi:
- Se è la matrice nulla, abbiamo ovviamente finito.
- Se non è la matrice nulla, consideriamo la prima colonna che presenta un coefficiente non nullo (se necessario è possibile scambiare di posto le righe della matrice per avere tale coefficiente il più a sinistra possibile e nella prima riga, all'inizio della matrice). Sia questa colonna e chiamiano tale valore non nullo pivot, in questo caso
- Rendiamo nulli tutti i valori della colonna j-esima sommando alle righe una opportuna combinazione lineare.
- Andiamo avanti considerando la colonne successiva ad della riga 2 fino a che non troviamo una colonna avente coefficiente non nullo. Sia tale valore e procediamo come prima fino alla riga
- Se dalla riga in poi sono tutte nulle o è l'ultima riga, abbiamo finito. Altrimenti continuiamo il procedimento.
- Una volta ottenuta una matrice a scala, ripetiamo il procedimento all'indietro per ottenere le soluzioni.
Come si nota subito, il procedimento è molto simile a quello dell'eliminazione di Gauss. Ma un esempio dovrebbe chiarire molto meglio il l'algoritmo.
- Esempio (1): Consideriamo il seguente sistema lineare
- e la sua matrice associata
-
- A non è nulla e il primo elemento diverso da zero che incontriamo è proprio . Quindi e procediamo ad annullare tutti i termini della prima colonna dalla riga 2 in poi con una combinazione lineare del tipo , con fissato.
- cioè abbiamo sostituito la riga con e la riga con . La sostituzione comprende anche la colonna dei termini noti.
- Ripetiamo il procedimento passando alla colonna (e riga) successive, notando che la seconda riga ha un termine non nullo (nella colonna 3). Poniamo allora e ripetiamo il procedimento di prima. Questa volta abbiamo che ci da' la matrice
- Ci accingiamo a ripetere nuovamente il procedimento, ma questa volta notiamo che al di sotto della riga che abbiamo appena considerato, non abbiamo altre righe contenenti elementi non nulli. Perciò abbiamo finito, ottenendo un sistema a scala e il corrispondente sistema lineare:
- Il sistema ha due pivot e il vettore dei termini noti ha dimensione 2. Un corollario che vedremo dopo ci assicurerà che, a queste condizioni, il sistema ammette soluzioni.
- Risolviamolo all'indietro, cioè ripetiamo l'algoritmo di Gauss-Jordan stavolta partendo dal basso:
- abbiamo la matrice e partiamo da basso prendendo come pivot il primo valore da destra non nullo, cioè e, di nuovo, sostituiamo alla prima riga di e di la combinazione lineare ottenuta come avevamo fatto prima, cioè ottenendo la matrice
- .
- Abbiamo ora terminato l'algoritmo di Gauss e procediamo a risolvere il sistema lineare equivalente ottenuto. Risolviamo allora il sistema:
Abbiamo dunque trovato le soluzioni di questo sistema, con variabili dipendenti e variabili libere.
Adesso che abbiamo visto come risolvere i sistemi lineari ridotti a scala, vediamone le proprietà fondamentali.
Proprietà dei sistemi lineari a scala
[modifica]
- Sia una matrice a scala con pivot. Poniamo
- con la base canonica di .
- Poniamo inoltre con la colonna j-esima di in cui compare il h-esimo pivot .
- Allora:
- è una base di
Dimostrazione.
- Tutte le colonne di sono della forma , dunque appartengono a e sono un sistema di generatori (per il significato di applicazione lineare di una matrice) di , quindi sicuramente . Tuttavia, abbiamo che
- , cioè e quindi .
- 2 . Sappiamo dall'ipotesi che , ma e se due insiemi sono uguali è evidente che eguale è anche la loro dimensione. Quindi
- Sia una matrice a scala di rango .
- Allora il sistema lineare associato ha soluzione se e solo se le ultime coordinate della colonna dei termini noti sono zero, e lo spazio delle soluzioni del sistema omogeneo associato ha dimensione .
Dimostrazione .
- Il sistema a scala ha soluzione se e solo se e questo accade se e solo è un vettore come quelli appartenenti a , quindi con le ultime componenti nulle.
- Lo spazio delle soluzioni di un sistema omogeneo è per definizione che ha dimensione