Sei sulla pagina 1di 6

Capitolo 3

SISTEMI DI EQUAZIONI LINEARI

1. Generalit` a e algoritmo di Gauss


Nel capitolo precedente abbiamo visto come per risolvere problemi legati allo studio degli spazi vettoriali lo strumento tecnico fondamentale sia la risoluzione di sistemi di equazioni lineari. In questo capitolo ci occuperemo di studiare come si risolve un sistema lineare. Nel presente paragrafo introdurremo alcune denizioni e descriveremo un algoritmo che permette di risolvere tali sistemi, noto come algoritmo di Gauss. Denizione 1. Un sistema di m equazioni lineari in n indeterminate (o incognite) x1, x2, . . . , xn, a valori in un campo K [abbreviato SL oppure SL(m, n, K )] ` e un insieme di m equazioni del tipo: a11 x1 + a12 x2 + . . . + a1n xn = b1 a x + a x + ... + a x = b
21 1 22 2 2n n 2

... am1 x1 + am2 x2 + . . . + amn xn = bm o (in forma abbreviata):


n

aij xj = bi
j =1

[i = 1, . . . , m],

dove gli elementi aij , bi K sono detti rispettivamente coecienti e termini noti delle equazioni del n SL. Si chiama soluzione di tale SL ogni n-pla z = (z1, z2, . . . , zn) K tale che:
n

aij zj = bi
j =1

[i = 1, . . . , m]

[cio` e che trasformi le m equazioni del sistema in m uguaglianze in K ]. Un SL privo di soluzioni ` e detto incompatibile; altrimenti ` e detto compatibile o risolubile. Un SL(m, n, K ) ` e detto omogeneo [abbreviato SLO(m, n, K )] se i suoi termini noti sono tutti nulli. Ovviamente un SLO ` e sempre compatibile: infatti ammette come soluzione la n-pla nulla 0 = (0, 0, . . . , 0), detta soluzione banale. Le altre sue (eventuali) soluzioni sono dette autosoluzioni. Inne, assegnato un SL(m, n, K ), sostituendo i termini noti con 0, si ottiene un SLO(m, n, K ), detto sistema lineare omogeneo associato al SL dato. Osservazione 1. Con il prodotto righe per colonne ` e possibile ottenere una scrittura matriciale dei sistemi di equazioni lineari. Assegnato infatti il SL(m, n, K ):
n

aij xj = bi
j =1

[i = 1, . . . , m],

b1 x1 . . indichiamo con X la colonna . . delle indeterminate, con b = . . m,1(K ) la colonna xn bm dei termini noti e con A = (aij ) m,n(K ) la matrice dei coecienti del SL. Eseguendo il prodotto righe per colonne delle matrici A ed X , si ha: a11 x1 + + a1n xn b1 a21 x1 + + a2n xn b2 AX = = . = b. . . . . . am1 x1 + + amn xn bm Pertanto il SL assegnato pu` o essere scritto nella forma:

AX = b.

66

G. CAMPANELLA

APPUNTI DI ALGEBRA PER INFORMATICA

La matrice A b m,n+1(K ) ` e detta matrice completa (o matrice orlata) del SL AX = b e lo individua completamente. Esiste unovvia corrispondenza biunivoca tra m,n+1(K ) e linsieme dei SL(m, n, K ). ` evidente che le eventuali soluzioni z = z , ... , z K n del SL(m, n, K ) AX = b corrisponE 1 n z1 . dono biunivocamente alle matrici colonna z = . . n,1(K ) tali che Az = b. [Per tale motivo zn n ` e opportuno identicare z con z, cio` e identicare K con n,1(K )]. Si osservi inne che ogni soluzione z = z1, ... , zn del SL AX = b esprime la colonna b come combinazione lineare delle colonne di A. Infatti risulta: z1 n . b = Az = A(1) ... A(n) . . = i=1 A(i) zi . zn

Consideriamo, ad esempio, il SL(1, 3, R ) { x1 = 1 . Tale sistema va interpretato come un sistema in tre incognite. In forma matriciale si scrive x1 ( 1 0 0 ) x2 = ( 1 ). x3 ` compatibile e le sue soluzioni sono le terne (1, b, c) R 3, b, c R . E Viceversa, il SL con matrice completa x1 = 1 1 1 0 0 1 2 corrisponde al SL(2, 2, R ) di equazioni 1 1 0 0 x1 x2 = 1 . 2

x1 = 2, Tale sistema ` e manifestamente incompatibile (in quanto implica 1 = 2). Il SLO(2, 2, R ) ad esso x1 = 0 associato ` e ovviamente coincidente con { x1 = 0. [poich e le due equazioni coincidono]. x1 = 0, Tale SLO ammette autosoluzioni: tutte le coppie (0, t), t R , t = 0. ` chiaro che il nome assegnato alle incognite ` E e arbitrario e pu` o essere modicato. Quel che conta ` e i loro numero ed il loro ordine. Proposizione 1. Sia AX = 0 un SLO(m, n, K ). Linsieme 0 delle sue soluzioni ` e un sottospazio n vettoriale di K . Dim. Basta vericare che, y, z 0 e a, b K , risulta a y + b z 0, ovvero [indicate con y e z le colonne corrispondenti a y, z ] A (a y + b z) = 0. Infatti si ha (utilizzando le propriet` a di Prop. 1 di Cap. 2.2): A(ay + bz) = A(a y) + A(b z) = a(A y) + b(A z) = a 0 + b 0 = 0. Sia AX = b un SL compatibile non omogeneo. In tal caso linsieme delle sue soluzioni non n pu` o mai essere un sottospazio vettoriale di K [infatti 0 ]. Tuttavia, come ora vedremo, ` e in corrispondenza biunivoca con il sottospazio vettoriale 0 delle soluzioni del suo SLO associato. Proposizione 2. Sia AX = b un SL(m, n, K ) compatibile e sia z 0 una sua soluzione. Denotato con linsieme delle sue soluzioni e con 0 il sottospazio vettoriale delle soluzioni del SLO associato AX = 0, risulta: = z 0 + 0 = {z 0 + y, y 0} . Ne segue che e 0 sono in corrispondenza biunivoca. Dim. (). Sia z [cio` e Az = b]. Poich e, per ipotesi, Az0 = b, allora: A z z0 = Az Az0 = b b = 0 e dunque z z 0 0. Pertanto z = z 0 + (z z 0) z 0 + 0.

ovvero, in forma matriciale,

CAP. 3.1

GENERALIT` a E ALGORITMO DI GAUSS

67

(). Verichiamo che, y 0, z 0 + y . Infatti: A z0 + y = Az0 + Ay = b + 0 = b. Lultima aermazione ` e ovvia: lapplicazione y z 0 + y stabilisce una biiezione da 0 a . La precedente proposizione suggerisce come ottenere tutte le soluzioni di un SL compatibile non omogeneo. Una volta ottenutane una soluzione, per ottenere le altre basta risolvere il SLO associato e sommarne le soluzioni a quella del SL gi` a ottenuta. Poich e non ` e uno spazio vettoriale, non ha diritto ad una dimensione; tuttavia possiamo in qualche modo attribuirgli la dimensione di 0. Precisamente, se dim(0) = t, diremo che il t SL AX = b (se compatibile) ha soluzioni. Questa terminologia proviene dal fatto che, come vedremo, le soluzioni dipendono da t parametri in K . Poich e K ` e tradizionalmente il campo R , che ha cardinalit` a innita, i t parametri variano ciascuno in inniti modi e le soluzioni sono quindi t . Si noti inne che, se 0 = {0}, la terminologia introdotta ci dice che il SL (se compatibile) ha 0 0 soluzioni; poich e in questo caso il SL ha una sola soluzione, conveniamo di porre: = 1. Vogliamo ora risolvere un SL, cio` e determinarne le soluzioni. Cominiciamo dai SL pi` u semplici: i sistemi di equazioni lineari a scala. Premettiamo una denizione. Denizione 2. Siano AX = b e A X = b due SL aventi lo stesso numero di incognite. Diciamo che tali SL sono equivalenti se hanno le stesse soluzioni (cio` e se = ). Denizione 3. Un SL(m, n, K ) AX = b ` e detto a scala (o a gradini) se verica le seguenti tre condizioni: m n, aij = 0 se i > j, aii = 0, i = 1, ... m.

La matrice di un SL a scala ` e dunque del tipo a11 . . . . . . . . . . . . 0 a22 . . . . . . . . . A= . , con a11 a22 ... amm = 0. . .. .. . . . . . . 0 0 0 amm . . . Risolvere un SL a scala ` e piuttosto semplice e intuitivo. Si comincia dallultima equazione, cio` e amm xm + ... + amn xn = bm . Se n = m, si ottiene xn = e si sostituisce tale valore nella penultima equazione, ottenendo cos` ununica espressione per xn1 . Sostituendo ciascuno dei valori via via trovati nellequazione precedente, si perviene ad ununica soluzione del sistema. Se invece n > m, si attribuiscono alle incognite xm+1 , ... , xn valori parametrici arbitrari (in K ), ad esempio t1, ... , tnm e si ottiene un valore per xm . Si procede poi come nel caso precedente nm e si otterr` a ununica soluzione del SL, dipendente da n m parametri indipendenti, cio` e 0 soluzioni. Con la convenzione fatta sopra (cio` e = 1) abbiamo quindi ottenuto il seguente risultato. Proposizione 3. Ogni SL(m, n, K ) a scala ` e compatibile ed ha Ad esempio vogliamo risolvere il SL(3, 4, R ) a scala x1 + x2 + x4 = 1 2x2 + x3 = 2 x3 x4 = 0. Poniamo x4 = t. Risolvendo lultima equazione, x3 = t. Sostituendo i valori di x3 (e x4) nella t seconda equazione si ottiene x2 = 1 2 . Sostituendo i valori di x2, x3 e x4 nella prima equazione,
nm

bn ann

soluzioni.

68

G. CAMPANELLA

APPUNTI DI ALGEBRA PER INFORMATICA


1

t si ottiene x1 = 2 . Pertanto il SL assegnato ha le soluzioni t 2, t 1 2 , t, t , t R .

Utilizzando la Prop. 2, possiamo ottenere subito le soluzioni del SLO associato. soluzione del SL dato ` e z 0 = (0, 1, 0, 0) (ottenuta ponendo t = 0). Pertanto 0 = z 0 =
t 2, t 1 2 , t, t , t R = ( 1 2 , 2 , 1, 1

Infatti, una

= (1, 1, 2, 2 .

Veniamo ora allalgoritmo di Gauss (o di Gauss-Jordan) per la risoluzione di un sistema di equazioni lineari. Tale procedimento consiste nel trasformare (se possibile) un assegnato SL(m, n, K ) AX = b in un SL a gradini ad esso equivalente [che verr` a poi risolto come visto sopra]. Per trasformare il SL si fa ricorso a tre tipi di operazioni sulle equazioni del SL, dette operazioni elementari (sulle equazioni), e cio` e: I operazione elementare: scambiare di posizione due equazioni del SL; II operazione elementare: sostituire unequazione con un multiplo non nullo della stessa equazione; III operazione elementare: sostituire unequazione con la stessa equazione sommata ad un multiplo di unaltra. Tali operazioni evidentemente non cambiano le soluzioni del sistema, e dunque trasformano il SL in un altro ad esso equivalente. Se al sistema assegnato AX = b si sostituisce la sua matrice completa M = A b , le tre operazioni elementari (sulle equazioni) si trasformano nelle corrispondenti operazioni elementari di riga, che indicheremo schematicamente come segue: I[M M ]; (i) (i) II[M cM ], con c = 0; (i) (i) (j ) III[M M + cM ], con i = j e c K . Ad esempio, loperazione III sopra considerata sostituisce alla riga M la riga M + cM [ovvero sostituisce alla iesima equazione la somma della iesima con la j esima moltiplicata per c]. Per abbreviare le notazioni, converremo di denotare tale operazione con III[(ia) (ia) + c(j a)] ed usare analoghe notazioni per le altre due operazioni. Descriviamo ora lalgoritmo di Gauss, suddividendolo in blocchi di quattro passi, da ripetere un numero nito di volte. 1 passo. Si elimina ogni eventuale riga nulla di M [corrispondente allequazione banale 0 = 0]. 2 passo. Si fa in modo [procedendo eventualmente ad uno scambio tra le colonne di A] che e A(1) = 0). Ci` o pu` o essere ottenuto scambiando ad esempio la colonna nulla risulti M(1) = 0 (cio` A(1) con una successiva colonna A(i) non nulla. Si osservi che tale scambio di colonne corrisponde ad uno scambio di variabili. 3 passo. Si fa in modo che risulti a11 = 1. A tale scopo, se a11 = 0 e ad esempio ai1 = 0, si esegue loperazione I[M

(1) (i) (i) (j ) (i) (j )

(i)

] e si ottiene quindi una nuova matrice con a11 = 0; successivamente,


(1)

se a11 = 1, si esegue loperazione II[M i = 2, . . . , m) le operazioni III[M


(i)

(i)

1 a11

(1)

] e si ottiene a11 = 1. ].

4 passo. Si fa in modo che risulti: a21 = a31 = = am1 = 0. A tale scopo, basta eseguire (per M ai1 M
(1)

A questo punto la matrice completa M del SL 1 a12 0 a22 0 ... 0 am 2

assegnato si ` e trasformata in una matrice del tipo: ... ... ... ... ... ... , ... ...

con m m (a seguito di eventuale cancellazioni di righe nulle).

CAP. 3.1

GENERALIT` a E ALGORITMO DI GAUSS

69

Si ripete ora il blocco dei quattro passi sopra descritto, a partire dalla seconda riga e seconda colonna di tale matrice. Si eliminano quindi eventuali righe nulle e si fa in modo (operando sulla seconda colonna) che la matrice completa del SL diventi del tipo: 1 a12 ... ... 0 1 ... ... 0 0 a33 ... ... ... ... ... 0 0 am 3 . . . . . . (con m m ). Si ripete quindi il procedimento a partire dalla terza riga e terza colonna, dalla quarta ... e cos` via. Se nel corso del procedimento si ottiene una riga della forma 0 0 . . . 0 b , con b = 0, il SL ` e incompatibile [ed il procedimento di Gauss ovviamente termina]. In caso contrario il SL si riduce ad un SL a scala, come richiesto. Si osservi inne che, se nel procedimento sono stati necessari scambi di variabili, sar` a necessario ripristinare le variabili iniziali, procedendo agli scambi opposti. Illustriamo lalgoritmo con un esempio. Risolveremo il seguente SL(4, 4, R ): x1 + 2x2 + 3x3 + 4x4 = 1 x + 4x = 0
3 4

x1 + 2x2 + 2x4 = 1 x3 + x4 = 0. La matrice completa del SL ` e 1 0 1 0 Con III[(3a) (3a) (1a)] si ottiene: 2 0 2 0 3 1 0 1 3 1 3 1 4 4 2 1 4 4 2 1 1 0 . 1 0 1 0 . 0 0

1 2 0 0 0 0 0 0

Poich e la seconda colonna ` e nulla [a partire dallelemento di posto (2, 2)], si procede (ad esempio) allo scambio di variabili x2 x4. Si pone quindi: y1 = x1, y2 = x4, y3 = x3, y4 = x2 e si ottiene un SL avente matrice completa: 1 4 0 4 0 2 0 1
a Con II[(2a) 1 4 (2 )] si ottiene:

3 1 3 1

2 0 0 0

1 0 . 0 0

1 0 0 0

4 3 1 1 4 2 3 1 1

2 1 0 0 . 0 0 0 0

Con III[(3a) (3a) + 2(2a)] e con III[(4a) (4a) (2a)] si ottiene: 1 4 3 2 1 1 0 1 0 0 4 0 0 7 0 0 . 2 5 0 0 0 0 4


a Con II[(3a) 2 7 (3 )] si ottiene:

1 4 3 0 1 1 4 0 0 1 5 0 0 4

2 1 0 0 . 0 0 0 0

70

G. CAMPANELLA

APPUNTI DI ALGEBRA PER INFORMATICA

a Inne, con III[(4a) (4a) 5 4 (3 )], si ottiene: 1 4 3 0 1 1 4 0 0 1 0 0 0

2 1 0 0 . 0 0 0 0

Si elimina ora la quarta riga (nulla) e si conclude lalgoritmo, ottenendo il SL(3, 4, R ) a scala: y1 + 4y2 + 3y3 + 2y4 = 1 y2 1 4 y3 = 0 y3 = 0. Posto y4 = t, si ha: y3 = 0, y2 = 0, y1 = 1 2t. Dunque x1 = y1 = 1 2t, x2 = y4 = t, x3 = y3 = 0, x4 = y2 = 0. Pertanto linsieme delle soluzioni del SL assegnato ` e: = 1 2t, t, 0, 0 , t R . Risolvere un SL con lalgoritmo di Gauss pu` o essere molto vantaggioso se si ` e dotati della velocit` a di un computer o se si dispone di molta pazienza (e molta carta!). Quando poi il SL non ha coecienti tutti numerici, ma alcuni di essi dipendono da parametri, lalgoritmo di Gauss si complica notevolmente, in quanto si deve tener conto del possibile annullamento delle espressioni dipendenti da parametri, che vengono a determinarsi tramite le operazioni fondamentali di riga. Per questo ` e utile saper risolvere un SL anche con mezzi pi` u teorici, cio` e utilizzando i classici teoremi di Cramer e di Rouch e-Capelli. Questultimo teorema poi ` e centrale nellAlgebra Lineare, in quanto ci permette di rappresentare, usando sistemi di equazioni lineari, i sottospazi di uno spazio vettoriale. Gli strumenti tecnici che ci serviranno per descrivere tali risultati e pervenire quindi ad un altro metodo per la risoluzione di un SL sono due: il determinante di una matrice quadrata ed il rango di una matrice. Di essi ci occuperemo nei due paragra successivi. ESERCIZI PROPOSTI 3.1.1. Risolvere con lalgoritmo di Gauss il seguente SL(3, 5, R ) x3 + 2 x5 = 2 x4 x5 = 3 2 x1 + x3 = 1. Dedurne una base del sottospazio vettoriale 0 delle soluzioni del SLO associato. 3.1.2. Al variare del parametro a R , risolvere il seguente SLO(2, 2, R ) 2x + (a + 2)y = 0 (a + 1)x + (a + 2)y = 0. 3.1.3. Al variare del parametro a R , risolvere il seguente SLO(3, 2, R ) x + ay = 0 2x + 2y = 0 ax = 0.
2

3.1.4. Al variare dei parametri non nulli a, b R , risolvere il seguente SLO(3, 3, R ) ay + bz = 0 a x + z = 0 b x y = 0. 3.1.5 Risolvere con lalgoritmo di Gauss il seguente SL(2, 2, Z 5) 3x + y = 1 x y = 0.