Sistemi di equazioni lineari
Un sistema lineare è un insieme di m equazioni lineari in n incognite. Risolvere il sistema significa trovare i valori che possiamo sostituire alle n incognite in modo che tutte le equazioni risultino verificate.
Definizione di sistema di equazioni lineari
Hai sicuramente già incontrato un sistema semplice come
dove a11,…,a22, b1, b2 sono numeri reali assegnati e x e y sono le incognite. Questo sistema può avere un numero diverso di soluzioni – nessuna, una sola o infinite – proprio come una comune equazione di primo grado. Per un sistema di equazioni lineari la questione del numero di soluzioni e della loro ricerca è più complessa che per una semplice equazione di primo grado.
Definizione di sistema di equazioni lineari:
dove a11, …, amn, b1, …, bm sono numeri reali. Questo sistema si chiama sistema di m equazioni lineari nelle n incognite x1, …, xn con coefficienti a11, …, amn. Un esempio concreto di sistema di equazioni lineari potrebbe essere il seguente:
Quando però qualche aij è negativo, di solito si scrive così:
Resta comunque vero che a12 = −2 e a24 = −10.
Scrittura matriciale
Possiamo trasformare questo sistema in forma matriciale. Definiamo in tutto tre matrici: una per i coefficienti, una per i secondi membri delle equazioni e una per le incognite. Le matrici sono fatte così:
La matrice A contiene i coefficienti delle equazioni di partenza e si chiama «matrice dei coefficienti» (o matrice incompleta), la matrice b contiene i secondi membri delle equazioni e la matrice x contiene le incognite. Allora possiamo scrivere l’intero sistema come un’unica equazione
Questa equazione ha senso perché a primo membro c’è il prodotto di due matrici e a secondo membro una matrice, e le loro dimensioni sono compatibili. Proviamo a svolgere il prodotto a primo membro. Moltiplichiamo una matrice di tipo m × n per una matrice di tipo n × 1, quindi la matrice risultante è di tipo m × 1: ha m righe e una colonna. Per ora tutto torna.
Applichiamo ora il classico algoritmo del prodotto di matrici: iniziamo con la prima riga della matrice A e con la prima colonna della matrice x (un’altra colonna non c’è). Otteniamo:
Con questa somma abbiamo ottenuto il primo elemento della nuova matrice, cioè il valore b1. Se mettiamo tutto nell’equazione, abbiamo:
Abbiamo ottenuto esattamente la prima equazione del nostro sistema. Procederemmo allo stesso modo per le altre righe. Definiamo inoltre la matrice completa del sistema, cioè la matrice dei coefficienti a cui aggiungiamo la matrice b in questo modo:
Ci interesserà inoltre il rango di questa matrice completa. Indichiamo il rango della matrice incompleta originale con rk(A) e quello della matrice completa con rk(A ∣ b). Che relazione c’è tra questi ranghi? Se alla matrice A aggiungiamo la colonna b, possono presentarsi due situazioni: se la nuova colonna è una combinazione lineare delle colonne della matrice A, il rango non cambia. Se non lo è, il rango aumenta di uno.
Teorema di Rouché-Capelli
Il rango della matrice completa è importante per noi, perché vale un teorema fondamentale, il teorema di Rouché-Capelli: Il sistema Ax = b ha soluzioni se e solo se il rango della matrice dei coefficienti è uguale al rango della matrice completa del sistema: rk(A) = rk(A ∣ b).
Proviamo a mostrare che il teorema vale almeno in una direzione: se x = β è una soluzione dell’equazione Ax = b, allora rk(A) = rk(A ∣ b). Se i due ranghi sono uguali, la colonna b deve essere una combinazione lineare delle colonne della matrice A. Scriviamolo per esteso. La matrice β ha la forma:
Affermiamo che, se al posto di x1 sostituiamo β1 e così via, tutte le equazioni del sistema risultano verificate:
Riscriviamo ora un po’ le equazioni. Se guardiamo la prima colonna, notiamo che ci sono sempre i valori a11, a21, …, am1, che moltiplichiamo per lo stesso valore β1. Se isoliamo la colonna in una matrice a parte, possiamo raccogliere il valore β1 davanti alla matrice, ottenendo:
In questo modo possiamo riscrivere l’intero sistema:
Perché questa uguaglianza sia vera, la matrice a secondo membro deve essere una combinazione lineare delle matrici colonna a primo membro, e i valori β1, …, βn ne sono i coefficienti.
Abbiamo così dimostrato che, se la matrice β è una soluzione del sistema, allora il secondo membro del sistema, cioè la matrice b, deve essere una combinazione lineare delle colonne della matrice dei coefficienti. E se la colonna b è una combinazione lineare delle colonne della matrice A, la matrice A ha lo stesso rango della matrice (A ∣ b).
Inoltre, se rk(A) = rk(A ∣ b) = k e k è uguale al numero delle incognite, cioè k = n, il sistema ha una sola soluzione. Se invece k < n, il sistema ha infinite soluzioni e per scriverle ci servono n − k parametri.
Operazioni elementari sulle righe
Dall’equazione precedente si vede inoltre che, se nella matrice (A ∣ b) eseguiamo operazioni elementari sulle righe, le soluzioni del sistema non cambiano. Se sommassimo alla seconda riga la prima, otterremmo l’equazione:
Se scriviamo per esteso la seconda riga, otteniamo:
Eliminiamo le parentesi:
Ora riordiniamo un po’ i termini:
Nella prima parentesi abbiamo in realtà la prima riga e nella seconda la seconda riga originale. Sappiamo che la prima riga è uguale a b1 e la seconda a b2: lo sappiamo dalle equazioni di partenza. Quindi al posto della prima parentesi possiamo scrivere b1 e al posto della seconda b2:
Allo stesso modo possiamo moltiplicare un’intera riga per una costante c ≠ 0 senza alterare la validità del sistema. Attenzione però: non possiamo eseguire operazioni sulle colonne.
Sistema con una sola soluzione
Vediamo con un esempio come risolvere un sistema che ha una sola soluzione. Consideriamo il sistema:
La matrice A è fatta così:
Calcoliamo ora il rango di questa matrice:
Vediamo che rk(A) = 3. Ne segue anche che rk(A ∣ b) = 3, perché una matrice di tipo 3 × 4 può avere al massimo rango tre. Il sistema ha tre incognite, quindi ha una sola soluzione. Come la troviamo?
Metodo di eliminazione di Gauss
L’eliminazione di Gauss consiste nel trasformare la matrice completa del sistema in una matrice a scala. Una volta ridotta la matrice a scala, saremo in grado di ricavare il valore di un’incognita. Dopo aver trovato il valore di un’incognita, possiamo cominciare a sostituirlo nelle altre equazioni.
La matrice (A ∣ b) ha la forma:
La riduciamo a scala. Eseguiamo le stesse operazioni del passaggio precedente, solo che questa volta le applichiamo anche alla quarta colonna:
Poiché abbiamo eseguito operazioni elementari sulle righe, questa matrice descrive un sistema equivalente, cioè un sistema con lo stesso insieme delle soluzioni. Riscriviamo il sistema dalla forma matriciale a quella usuale, usando i coefficienti dell’ultima matrice:
Partiamo dall’ultima equazione. Ci dice che 78x3 = 312. Che valore deve avere x3? È una semplice equazione di primo grado, quindi
Abbiamo il valore della prima incognita, x3. Lo sostituiamo nella seconda equazione. Otteniamo l’equazione:
Infine sostituiamo i due valori calcolati nella prima equazione:
Il valore dell’incognita x1 è uguale a due. A questo punto abbiamo la soluzione completa. Possiamo scrivere che x = (x1; x2; x3) = (2; 5; 4). Come si vede, il metodo di eliminazione di Gauss è semplice ma efficace per risolvere un sistema di equazioni lineari.
Infinite soluzioni
Se rk(A) = rk(A ∣ b) = k e k è minore del numero delle incognite, k < n, il sistema ha infinite soluzioni. Prendiamo un esempio semplice:
Vediamo che la seconda equazione è il triplo della prima. Se moltiplichiamo la prima equazione per meno tre e la sommiamo alla seconda riga, otteniamo:
A questo punto il numero delle incognite è due, n = 2, il rango della matrice dei coefficienti è uno, rk(A) = 1, e anche il rango della matrice completa è uno, rk(A ∣ b) = 1. Vale k < n, quindi il sistema ha infinite soluzioni. Come le troviamo?
Guardiamo le equazioni. La seconda equazione è verificata per ogni x1, x2, quindi ci interessa solo la prima. In realtà tutte le coppie x1, x2 che soddisfano la prima equazione formano l’insieme di tutte le soluzioni del sistema. Quindi risolviamo l’equazione 4x1 + x2 = 5. Riscriviamola nella forma x2 = 5 − 4x1.
Ci aiutiamo poi con un parametro. Scegliamo il parametro t. Ora cerchiamo di esprimere la coppia x1, x2 per mezzo del parametro t, in modo da poter scrivere che, ad esempio, tutte le coppie della forma (t; t + 2) sono soluzioni del sistema. Cioè coppie come (1; 3) o (14; 16). Lo scopo è esprimere il valore di un’incognita per mezzo di un’altra, così da sapere che, quando x1 assume un certo valore, x2 vale, per esempio, il triplo. Come punto di partenza scegliamo x1.
Poniamo quindi t = x1. Se l’incognita x1 vale t, quanto vale l’incognita x2? Lo vediamo dall’equazione precedente: vale x2 = 5 − 4x1. Quindi, se x1 = t, allora x2 = 5 − 4t. Possiamo così scrivere che tutte le coppie della forma (t; 5 − 4t) sono soluzioni del sistema.
Possiamo verificarlo. Se al posto di t sostituiamo uno, otteniamo: x1 = 1 e x2 = 5 − 4 · 1 = 1. Sostituiamo questi valori nell’equazione: 4 · 1 + 1 = 5, l’equazione è verificata.
Se al posto di t sostituiamo cinque, otteniamo: x1 = 5, x2 = 5 − 4 · 5 = −15. Sostituendo nell’equazione otteniamo: 4 · 5 − 15 = 5. Torna.
Soluzione generale e soluzioni particolari
La soluzione di un sistema scritta per mezzo di parametri si chiama soluzione generale. Una soluzione concreta, cioè ottenuta sostituendo ai parametri numeri precisi, si chiama soluzione particolare.
Quindi, nell’esempio precedente, (x1; x2) = (t; 5 − 4t) è la soluzione generale del sistema, mentre (1; 1) e (5; −15) sono soluzioni particolari.
Se abbiamo la matrice dei coefficienti A e la matrice completa (A ∣ b) e i loro ranghi sono uguali, rk(A) = rk(A ∣ b) = k, per esprimere la soluzione generale servono n − k parametri. Osserva che, se n = k, servono zero parametri. È il caso in cui il sistema ha una sola soluzione: allora non serve nessun parametro.
Esempio
Risolvi il seguente sistema di equazioni lineari:
Per prima cosa calcoliamo il rango delle matrici A e (A ∣ b). Riduciamo a scala la matrice completa, da cui ricaviamo il rango di entrambe le matrici. Procediamo con le operazioni. (Moltiplichiamo la prima riga per due, poi sommiamo la prima e la seconda riga e sottraiamo il risultato dalla terza riga. Poi sottraiamo la prima riga dalla seconda e infine dividiamo la prima riga di nuovo per due.)
Da quest’ultima matrice vediamo già che rk(A) = rk(A ∣ b) = k = 2. Il numero delle incognite è n = 4, quindi ci serviranno n − k = 2 parametri. Scriviamo le equazioni corrispondenti all’ultima matrice:
Dalla seconda equazione ricaviamo
Scegliamo il primo parametro, t = x3. Allora possiamo scrivere x1 = −6t. Lo sostituiamo nella prima equazione:
Introduciamo il secondo parametro, s = x4. Allora possiamo scrivere
Otteniamo così la soluzione generale del sistema:
Possiamo provare alcune soluzioni particolari. Per esempio s = t = 0. Allora otteniamo:
otteniamo le equazioni:
Eliminando i termini nulli e svolgendo le moltiplicazioni con le frazioni otteniamo:
Proviamo un’altra soluzione particolare: s = 2, t = 1. Allora otteniamo:
Sostituiamo nelle equazioni:
Semplifichiamo:
E alla fine otteniamo:
Sembra che la soluzione generale trovata sia corretta.
Capitoli: Sistemi di equazioni lineari, Regola di Cramer, Sistemi lineari omogenei