Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Utilizziamo, per risolverlo, il metodo di sostituzione: ricaviamo x dalla prima equazione, ottenendo
3 1 5
x= y− z+
2 2 2
e sostituiamo nella seconda e terza equazione, moltiplicandole entrambe per 2, cosı̀ da avere
2x − 3y + z = 5
23y − 13z = −39
5y + 5z = 7 .
Ora, ricaviamo z dalla terza equazione e sostituiamone il valore nella seconda e nella terza:
2x − 3y = 136/45
23y = −598/45
z = 89/45
1.2. Cosa abbbiamo fatto? Ricavare la x dalla prima equazione e sostituirla nella seconda, per poi moltiplicare la
seconda per 2 (per eliminare il denominatore), vuol dire sostituire alla seconda equazione la seguente:
2 · (II equazione) − 7 · (I equazione)
cioè
2(7x + y − 3z) − 7(2x − 3y + z) = 2(−2) − 7(5)
14x + 2y − 6z − 14x + 21y − 7z = −4 − 35
23y − 13z = −39 .
I coefficienti 2 e −7 sono ricavati (in maniera ovvia) dai coefficienti della x (la variabile che vogliamo eliminare) nelle
due equazioni. Dunque, il primo passaggio di sostutuire la x nella seconda e nella terza equazione (ed eliminare i
denominatori) equivale a rimpiazzare la seconda e la terza equazione nel seguente modo:
II equazione 7→ 2 · (II equazione) − 7 · (I equazione)
III equazione 7→ 2 · (III equazione) + (I equazione) ,
mentre sostituire la y nella terza equazione dalla seconda è equivalente a
III equazione 7→ 23 · (III equazione) − 5 · (II equazione)
1
2 ALGORITMO DI GAUSS
ci basterebbe rifare sul vettore dei termini noti le mosse di Gauss usate in precedenza:
−1 −1 −1 −23/45
3 −→ 13 −→ 5 13 −→ 299/45
II a 7→2II a −7I a III a 7→ 23 III a − 4 II a III a 7→ 45
1
III a
0 a
III 7→2III +I a a −1 4 −22 II a 7→II a +13III a −22/45
I a 7→I a −III a
ALGORITMO DI GAUSS 3
16/45 8/45
−→ 13/45 −→ 13/45
II a 7→ 23
1
II a a 1 a
I a 7→I a +3II a
−22/45 I 7→ 2 I −22/45
Dunque, la soluzione di questo secondo sistema è x = 8/45, y = 13/45, z = −22/45.
2.1. Sistemi con infinite soluzioni. Ne scriviamo la matrice completa ed applichiamo Gauss:
2 −1 1 −3 0 2 −1 1 −3 0 2 −1 1 −3 0
1 3 1 −2 −1 0 7 1 −1 −2 −→ 0 7
1 −1 −2
1 −4 0 −1 1 −→ 0 −7 −1
−→
1 2 0 0 0 0 0
3 1 −5 1 2 0 5 −13 11 4 0 0 −96 82 38
2 −1 1 −3 0
0 7 1 −1 −2
→ 0 0 −48 41 19
0 0 0 0 0
Esercizio 1. Scrivere le mosse dell’algoritmo di Gauss che sono state utilizzate.
In blu vediamo i 3 pivot. Notate che nella quarta colonna non c’è un pivot e la quarta riga è composta di soli zeri.
Dunque, l’algoritom di Gauss ha trasformato il nostro sistema in uno con 3 equazioni e 4 incognite. Volendo ora
procedere alla sostituzione all’indietro, la prima variabile che ricaveremmo sarebbe z, in funzione di w; scriveremmo
cioè
41 19
z= w−
48 48
e poi sostituiremmo questa espressione nelle equazioni precedenti eliminando la variabile z. Questo corrisponde ad
usare la terza riga (cioè la terza equazione) per eliminare le entrate che stanno sopra (quindi nelle equazioni precedenti)
al pivot della terza colonna (corrispondente alla variabile z).
Operiamo quindi le seguenti mosse:
48 a 1
II a 7→ II + III a I a 7→ 48I a + III a
7 7
ottenendo
96 −48 0 −103 19
0
48 0 −1 −11
0 0 −48 41 19
0 0 0 0 0
a a a
e proseguiamo con la mossa I 7→ I + II ottenendo
96 0 0 −104 8
0 48
0 −1 −11
0 0 −48 41 19
0 0 0 0 0
Ora dividiamo ogni riga per il suo pivot, ottenendo
1 0 0 −13/12 1/12
0 1 0
−1/48 −11/48
0 0 1 −41/48 −19/48
0 0 0 0 0
Se ora riconduciamo tutto a equazioni, vediamo che possiamo ricavare le variabili x, y, z in termini di w. Dunque,
fissiamo w come parametro libero: per ogni t ∈ R, otterremo una soluzione ponendo
1
+ 13
x = 12 12 t
11 1
y = − 48 + 48 t
19 41
z = − 48 + 48 t
w = t
4 ALGORITMO DI GAUSS
Dunque, le colonne senza pivot nella matrice dei coefficienti corrispodono a variabili che possono essere fissate come
parametri, quando andiamo a scrivere l’insieme delle soluzioni.
Osservazione 2.1. Nello stesso spirito dell’Osservazione 1.1 e dell’esempio successivo, se volessimo risolvere il si-
stema con un diverso vettore dei termini noti, basterebbe applicare le stesse mosse di Gauss al solo nuovo vettore dei
termini noti.
Questo in particolare dice che eventuali soluzioni del nuovo sistema saranno comunque della forma
⋆ 13/12
⋆ 1/48
+ t : t∈R .
⋆ 41/48
0 1
dove il vettore con i simboli ⋆ sarà ottenuto dal vettore dei termini noti tramite le mosse di Gauss appena descritte.
2.2. Sistemi impossibili. Notiamo che, nell’Osservazione 2.1, abbiamo in qualche modo assunto che, dopo le mosse
di Gauss usate sul sistema, il nuovo termine noto assumesse la forma
⋆
⋆
⋆
0
ovvero vi comparisse uno zero in ultima posizione. Questo non è ovvio e, in effetti, non succede per ogni possibile
termine noto. Ad esempio
2x − y + z − 3w = 0
x + 3y + z − 2w = −1
x − 4y − w = 2
3x + y − 5z + w = 2
se riduciamo a scala con le stesse mosse (che avete trovato nell’Esercizio 1) la matrice del sistema, otteniamo
2 −1 1 −3 0 2 −1 1 −3 0 2 −1 1 −3 0
1 3 1 −2 −1 0 7 1 −1 −2 −→ 0 7
1 −1 −2
1 −4 0 −1 2 −→ 0 −7 −1
−→
1 4 0 0 0 0 2
3 1 −5 1 2 0 5 −13 11 4 0 0 −96 82 38
2 −1 1 −3 0
0 7 1 −1 −2
→ 0 0 −48 41 19
0 0 0 0 2
Questa matrice corrisponde a un sistema in cui l’ultima equazione è 0 = 2, che è chiaramente impossibile. Un sistema è
risolubile se e solo se, dopo la riduzione a scala, non compaiono pivot nella colonna dei termini noti. Equivalentemente,
dopo la riduzione a scala, una riga nulla della matrice dei coefficienti deve corrispondere ad una entrata nulla del vettore
dei termini noti. Queste si dicono, a volte, condizioni di compatibilità.
Ci si potrebbe chiedere, per quali termini noti il sistema dato sopra è risolubile? Per tutti i vettori v ∈ R4 in cui, dopo
aver applicato le mosse trovate nell’Esercizio 1, la quarta componente diventa nulla.
a a a a
−→ 2b − a −→ 2b − a −→ 2b − a
b
c 2c − a 2b + 2c − 2a 7d − 5b − 8a
d 2d − 3a 14d − 10b − 16a b+c−a
Il vettore dato produrrà un sistema risolubile, se usato come termine noto, se e solo se a = b + c (condizione rispettata
dal primo vettore utilizzato, ma non dal secondo). Dunque, trattando questa singola equazione come un sistema
lineare con 1 equazione e 4 variabili, già ridotto a scala, troviamo un pivot sulla prima colonna, in corrispondenza
dell’incognita a, e possiamo prendere le altre incognite b, c, d come parametri liberi; ovvero, l’insieme dei termini noti
per cui il sistema è risolubile può essere descritto come
1 1 0
1 0 0
c1 + c2 + c3 : c1 , c2 , c3 ∈ R
0 1 0
0 0 1
ALGORITMO DI GAUSS 5
Definizione 4.1. Consideriamo un vettore riga v ∈ Mat1,k (K) e scriviamo v = (v1 , . . . , vk ). Indichiamo con p(v) il
massimo j ∈ {0, . . . , n} tale che vh = 0 per ogni h ≤ j. Definiamo p(A) = min{p(Rh ) : h = 1, . . . , n}.
In pratica, p(v) è il numero di zeri con cui comincia il vettore riga v; notiamo, ad esempio, che p(A) = n se e solo se
A = 0.
Definizione 4.2. Diciamo che una matrice A come sopra è a scala se esiste j ∈ {1, . . . , n + 1} tale che
p(Rh ) < p(Rh+1 ) se h < j
p(Rh ) = n se h ≥ j
L’algoritmo di Gauss ha come obiettivo il ridurre una matrice a scala e contempla due mosse:
Mossa 1: scambiare due righe
Mossa 2: sostituire alla riga Ri la riga aRi + bRj con a, b ∈ K, a ̸= 0, i ̸= j.
Proposizione 4.3. Tramite le mosse 1 e 2 si può ridurre qualunque matrice a scala.
Dimostrazione. Dimostriamo per induzione su n che l’algoritmo di Gauss termina a partire da una matrice A n × k
producendo una matrice a scala S con p(S) = p(A).
Se n = 1, la matrice è già a scala. Supponiamo n > 1.
Se p(Rh ) = n per ogni h ∈ {1, . . . , k}, la matrice è già a scala (è la matrice nulla). Altrimenti, consideriamo il più
piccolo h tale che p(Rh ) = p(A); se h ̸= 1, applichiamo la Mossa 1, scambiando la riga Rh e la riga R1 . Indichiamo
con A′ la matrice cosı̀ ottenuta e con R1 ′ , . . . , Rn ′ le sue righe.
Ovviamente p(A) = p(A′ ); denotiamo tale intero con j. Sia ora c la j + 1-esima componente di R1′ e siano b2 , . . . , bn
le j + 1-esime componenti di R2′ , . . . , Rn′ . Notiamo che c ̸= 0 per definizione di j.
Per h = 2, . . . , n, applichiamo la Mossa 2 sostituendo alla riga Rh′ la riga
bh ′
Rh′ − R .
c 1
Otteniamo cosı̀ una matrice A′′ , con righe R1′′ , . . . , Rn′′ in cui il j + 1-esimo elemento di Rh′′ è zero per h = 2, . . . , n e
dunque p(Rh′′ ) ≥ j + 1 per h = 2, . . . , n, mentre p(R1′′ ) = p(R1′ ) = j, dunque p(A′′ ) = p(A′ ) = p(A).
Ora, sia B la matrice (n − 1) × k
R2′′
..
. ,
Rn′′
notiamo che p(B) ≥ j + 1. Per ipotesi induttiva, esiste una sequenza di mosse dell’algoritmo di Gauss che riduce B
ad una matrice a scala S ′ con p(S ′ ) = p(B) ≥ j + 1. Questo vuol dire che la matrice
′′
R1
S= S ′
è ridotta a scala ed è stata ottenuta da A tramite mosse dell’algoritmo di Gauss. Inoltre p(S) = min{j, p(S ′ )} = j =
p(A). □
Esercizio 2. Si noti come quello descritto è l’usuale algoritmo di Gauss.
La prima applicazione del metodo di Gauss è la risoluzione dei sistemi lineari; il risultato alla base di tale utilizzo è il
seguente.
Teorema 4.4. Siano A ∈ Matn,k e b ∈ Kn ; sia M la matrice n × (k + 1) ottenuta affiancando A e b, cioè M =
(A|b) ∈ Matn,k+1 (K). Se M ′ = (A′ |b′ ) è ottenuta da M tramite le mosse dell’algoritmo di Gauss, allora
{x ∈ Kk : Ax = b} = {x ∈ Kk : A′ x = b′ } ,
ovvero i sistemi lineari Ax = b e A′ x = b′ sono equivalenti (ovvero, hanno le stesse soluzioni).
Dimostrazione. Innanzitutto notiamo che le mosse dell’algoritmo di Gauss sono invertibili:
• l’inverso della Mossa 1 è essa stessa
• l’inverso di Ri 7→ aRi + bRj è Ri 7→ a−1 Ri − a−1 bRj (ha senso perché per ipotesi a ̸= 0).
Dunque, se tramite le mosse dell’algoritmo di Gauss possiamo andare da una matrice M ad una matrice M ′ , possiamo
anche fare il contrario.
Siano ora
S = {x ∈ Kk : Ax = b} S ′ = {x ∈ Kk : A′ x = b′ }
con M ′ = (A′ |b′ ) ottenuta da M = (A|b) tramite mosse dell’algoritmo di Gauss.
ALGORITMO DI GAUSS 7
In particolare, supponiamo che M ′ sia ottenuta da M tramite la mossa 1, applicata alle righe i e j. Chiamando, come
sopra R1 , . . . , Rn le righe di A, b1 , . . . , bn le componenti di b e nel modo ovvio le righe di A′ e le componenti di b′ , si
ha che
Ri′ = Rj Rj′ = Ri Rh′ = Rh se h ̸∈ {i, j}
b′i = bj b′j = bi b′h = bh se h ̸∈ {i, j}
e dunque, se x ∈ S, allora
• Ri x = bi ovvero Rj′ x = b′j
• Rj x = bj ovvero Ri′ x = b′i
• Rh x = bh se h ̸∈ {i, j} ovvero Rh′ x = b′h se h ̸∈ {i, j}
dunque x ∈ S ′ .
Se invece M ′ è ottenuta da M tramite la mossa 2, sulle righe i, j con coefficienti a, b, si ha
Ri′ = aRi + bRj Rh′ = Rh se h ̸= i
Definizione 4.5. Sia S ∈ Matn,k (K) una matrice ridotta a scala; per ogni riga Ri di S non nulla, definiamo il pivot
della riga Ri come il p(Ri ) + 1-esimo elemento della riga (ovvero il primo elemento non nullo da sinistra).
Ovviamente, la definizione di pivot può essere data in qualunque matrice, ma, di solito, ha un’utilità solo in matrici
che presentano una struttura a scala.
Definizione 4.6. Una matrice S ∈ Matn,k si dice a scala ridotta se le colonne che contengono i pivot sono elementi
della base canonica di Kn .
Proposizione 4.7. Sia S ∈ Matn,k una matrice a scala; tramite le mosse dell’algoritmo di Gauss posso portarla in
forma a scala ridotta.
Dimostrazione. Siano R1 , . . . , Rn le righe di S e definiamo mh = p(Rh ) + 1, di modo che la colonna mh -esima di S
contenga l’h-esimo pivot (se mh ≤ n).
Chiamato r il più grande h tale che mh ≤ n, scriviamo la colonna mr -esima come
b1
..
.
br−1
ar
0
.
..
0
e consideriamo le mosse:
Ri 7→ Ri − a−1
r bi Rr se i < r .
Rr 7→ a−1
r Rr
Queste mosse lasciano la matrice a scala, non modificano le prime mr − 1 colonne e fanno sı̀ che la mr -esima colonna
diventi er (r-esimo elemento della base canonica di Kn ).
Ora, consideriamo r−1 e prendiamo la colonna mr−1 -esima della matrice ottenuta dalle mosse precedenti e applichiamo
le stesse mosse, riferite però alla colonna mr−1 -esima. E cosı̀ via. □
Esercizio 3. E’ un utile esercizio provare a riscrivere la dimostrazione precedente come una induzione formale (simil-
mente a quanto abbiamo fatto per dimostrare che le mosse dell’algoritmo di Gauss possono ridurre a scala qualunque
matrice).
L’algoritmo che, utilizzando le mosse 1 e 2, ha come obiettivo il ridurre in forma a scala ridotta una matrice è a volte
detto algoritmo di Gauss-Jordan.
8 ALGORITMO DI GAUSS
4.2. Inversa di una matrice. La giustificazione della procedura per trovare l’inversa di una matrice è, a questo
punto, abbastanza semplice.
Consideriamo le matrici A, B ∈ Matn,n (K) tali che AB = BA = I; scriviamo
R1
R2
A= . B = (C1 | · · · |Cn )
. .
Rn
con Rj ∈ Mat1,n (K) e Cj ∈ Matn,1 (K) per j = 1, . . . , n. Dalla relazione AB = I si ha che
0 se i ̸= j
Ri · Cj =
1 se i = j
ovvero ACj = ej per j = 1, . . . , n. Quindi per trovare Cj ci basta fare Gauss-Jordan sulla matrice completa (A|ej ) e
nell’ultima colonna troveremo Cj , una volta che al posto della matrice A abbiamo ottenuto l’identità; ma a seguito
dell’Osservazione 1.1, possiamo affiancare la matrice A con tutti gli elementi della base canonica, eseguire le stesse
mosse di Gauss e ottenere tutte le colonne di B.
La matrice ottenuta affiancando in ordine i vettori della base canonica è proprio l’identità e dunque, trasformando
(A|I) con le mosse di Gauss nella forma a scala ridotta (I|B), le colonne della matrice B saranno le soluzioni di
Ax = ej , ovvero saranno le colonne dell’inversa di A. Quindi B = A−1 .
4.3. Immagine di una matrice. Ricordiamo che, data A ∈ Matn,k (K), le possiamo associare l’applicazione lineare
LA : Kk → Kn definita come LA (x) = Ax.
Definizione 4.8. Data A ∈ Matn,k , l’ immagine di A è l’immagine dell’applicazione lineare LA , ovvero il sottospazio
vettoriale
Im A = {Ax : x ∈ Kk } ⊆ Kn .
Il fatto che l’immagine sia un sottospazio vettoriale non è parte della definizione, ma va dimostrato (ed è stato
dimostrato in precedenza).
Lemma 4.9. Data A ∈ Matn,k , siano C1 , . . . , Ck ∈ Kn le colonne di A, allora
Im A = Span{C1 , . . . , Ck } .
Dimostrazione. Per definizione, se y ∈ Im A ,y = Ax per x ∈ Kk , dunque
y = Ax = x1 C1 + . . . + xk Ck ∈ Span{C1 , . . . , Ck } .
□
L’algoritmo di Gauss ci permette di trovare una base dell’immagine.
Proposizione 4.10. Data A ∈ Matn,k , riduciamola a scala tramite l’algoritmo di Gauss e supponiamo di trovare i
pivot sulle colonne Cp1 , . . . , Cpr , allora queste formano una base di Im A.
Dimostrazione. Dimostriamo innanzitutto che tali colonne sono indipendenti. Dati cp1 , . . . , cpr ∈ K, definiamo x =
cp1 ep1 + . . . + cpr epr ∈ Kk , dove e1 , . . . , ek è la base canonica. Allora
cp1 Cp1 + . . . + cpr Cpr = Ax
e dunque la combinazione lineare fa 0 se e solo se Ax = 0, se e solo se Sx P= 0, dove S è una matrice in forma a scala
r
ridotta, ottenuta tramite l’algoritmo di Gauss-Jordan. Ma allora Sx = h=1 cph eh , poiché la ph -esima colonna di S
è eh ; quindi Sx = 0 se e solo se cph = 0 per h = 1, . . . , r. Il che dimostra che le colonne Cp1 , . . . , Cpr sono linearmente
indipendenti.
Ora mostriamo che, dato m ∈ L, si ha
Cm ∈ Span{Cp1 , . . . , Cpr } .
′
Indicando con Cm la m-esima colonna di S, abbiamo che, per definizione di forma a scala ridotta,
′
Cm ∈ Span{eh : ph < m} ⊆ Span{e1 , . . . , er }
e dunque esistono c1,m , . . . , cr,m ∈ K tali che
′
Cm = c1,m e1 + . . . + cr,m er
ovvero il vettore
r
X
x = −em + ch,m eph
h=1
appartiene a ker S, cioè Sx = 0, ma allora Ax = 0; dunque
−Cm + c1,m Cp1 + . . . + cr,m Cpr = 0
ALGORITMO DI GAUSS 9
ovvero
Cm = c1,m Cp1 + . . . + cr,m Cpr .
Dunque, grazie al Lemma 4.9,
Im A = Span{C1 , . . . , Ck } = Span{Cp1 , . . . , Cpr } .
Il che dimostra che le colonne su cui compariranno i pivot sono una base dell’immagine. □
Da questa proposizione segue che il numero di pivot che compaiono in una riduzione a scala di una matrice è
indipendente dalle mosse eseguite.
Definizione 4.11. Data A ∈ Matn,k (K), si dice rango di A il numero di pivot che compaiono in una qualsiasi
riduzione a scala di A tramite l’algoritmo di Gauss e si denota con rkA.
Possiamo quindi riformulare la proposizione come segue.
Corollario 4.12. Data A ∈ Matn,k (K), si ha
dim Im A = rk A .
Concludiamo con un risultato sullo spazio generato dalle righe.
Teorema 4.13. Sia A ∈ Matn,k (K), allora rkA = rk t A.
Dimostrazione. Scriviamo, come sopra
R1
R2
A=
..
.
Rn
con R1 , . . . , Rn ∈ Mat1,k (K) e sia vj = t Rj per j = 1, . . . , n. Allora rk t A = dim Span {v1 , . . . , vn }.
Se A è una matrice a scala ridotta con r ≤ n pivot che compaiono sulle colonne p1 , . . . , pr , allora
Span {v1 , . . . , vn } = Span {v1 , . . . , vr }
e X
c1 v1 + . . . + cr vr = ch eph + w
dove w appartiene a Span {em : m ̸∈ {p1 , . . . , pr }}. Dunque tale combinazione lineare è nulla se e solo se w = 0 e
ch = 0 per h = 1, . . . , r, il che implica che v1 , . . . , vr sono linearmente indipendenti.
Quindi, se A è a scala ridotta con r pivot, rk t A = r = rkA.
Ora mostriamo che le mosse dell’algoritmo di Gauss non alterano lo spazio generato dai vettori riga, cioè
V = Span {v1 , . . . , vn } .
Chiaramente la Mossa 1 non altera V ; consideriamo la Mossa 2 e sostituiamo il vettore vi con il vettore avi + bvj . E’
evidente che, se
v ∈ Span {v1 , . . . , vi−1 , avi + bvj , vi+1 , . . . , vn }
allora anche
v ∈ Span {v1 , . . . , vn }
e quindi
Span {v1 , . . . , vi−1 , avi + bvj , vi+1 , . . . , vn } ⊆ Span {v1 , . . . , vn } = V .
Ma poiché l’algoritmo di Gauss è invertibile, otteniamo anche l’altra inclusione e, di conseguenza, l’uguaglianza.
Ora, visto che ogni matrice può essere portata dalle mosse di Gauss in forma a scala ridotta, visto che per esse vale
rkA = rk t A e visto che Gauss non altera il rango di A, né lo spazio generato dalle righe di A, la tesi segue. □
4.4. Nucleo di una matrice. Ora, volgiamo la nostra attenzione al nucleo.
Definizione 4.14. Data A ∈ Matn,k (K), il nucleo di A è il nucleo dell’applicazione lineare LA , ovvero il sottospazio
vettoriale
ker A = {x ∈ Kk : Ax = 0} ⊆ Kk .
Ancora, il fatto che ker A sia un sottospazio non è parte della definizione, ma va dimostrato.
Per il Teorema 4.4, possiamo direttamente considerare una matrice in forma a scala ridotta S ∈ Matn,k (K); siano
p1 , . . . , pr gli indici delle colonne che contengono i pivot (e dunque la colonna ph -esima sarà eh ∈ Kn ). Indichiamo con
C1 , . . . , Ck le colonne di S, cioè C1 , . . . , Ck ∈ Kn e
S = (C1 | · · · |Ck )
con Cph = eh .
Notiamo che, per ogni m ∈ {1, . . . , k},
Cm ∈ Span{eh : ph ≤ m} .
10 ALGORITMO DI GAUSS
xk
abbiamo che
k
X r
X X
Sx = xm Cm = x ph e h + xm C m .
m=1 h=1 m∈L
Ad esempio, la r-esima è
k
X
xm cr,m .
m=pr +1
Del resto è evidente che, una volta soddisfatta questa condizione, otteniamo una soluzione di Sx = 0.
Abbiamo dimostrato il seguente risultato.
Teorema 4.15. Dato x ∈ Kk , con le notazioni sopra introdotte, si ha che Sx = 0 se e solo se
X
x ph = − xm ch,m ,
m∈L, m>ph
per h = 1, . . . , r. In particolare, comunque fissati numeri xm ∈ K per m ∈ L, troviamo xp1 , . . . , xpk ∈ K tali che il
vettore x che li ha come componenti soddisfi Sx = 0.
Riflettendo con un minimo di attenzione sulle sommatorie scritte nell’enunciato del teorema, se ne deduce il seguente
risultato.
Corollario 4.16. Si ha che
ker S = Span{vm , m ∈ L}
dove, per m ∈ L, definiamo
X
vm = e m − ch,m eh .
h : ph <m
ALGORITMO DI GAUSS 11
e dunque per il teorema appena dimostrato Sx = 0. Viceversa, sempre per il teorema, ogni soluzione di Sx = 0 ha
questa forma e dunque si può scrivere per opportuni xm , con m ∈ L, come combinazione lineare dei vm , con m ∈ L. □
Inoltre, i generatori di ker S appena trovati sono una base.
Lemma 4.17. I vettori vm , m ∈ L sono linearmente indipendenti.
Dimostrazione. Consideriamo una combinazione lineare
X X
cm vm = cm e m + w
m∈L m∈L
dove w ∈ Span{ep1 , . . . , epr } e dunque in particolare le componenti m-esime per m ∈ L di w sono nulle.
Dunque, tale combinazione lineare può essere nulla se e solo se, separatamente
X
cm e m = 0 w=0
m∈L
e dalla prima condizione segue immediatamente cm = 0 per ogni m ∈ L, poiché gli em sono parte della base canonica
e quindi tra loro linearmente indipendenti. Dunque i vettori {vm : m ∈ L} sono linearmente indipendenti. □
Combinando il Corollario 4.16 e il Lemma 4.17, otteniamo
Corollario 4.18. I vettori vm , m ∈ L sono una base di ker S e dunque dim ker S = |L| = k − r.
Dunque, data una qualsiasi A ∈ Matn,k (K), se dopo una riduzione a scala troviamo r pivot, ker A avrà dimensione
k − r.
Combinando quanto appena detto con il Corollario 4.12, abbiamo appena dimostrato il seguente risultato.
Teorema 4.19. Data A ∈ Matn,k (K), si ha
k = dim ker A + rk A ,
ovvero
k = dim ker A + dim Im A .
5. Matrici elementari
Dati i ∈ {1, . . . , p} e j ∈ {1, . . . , q}, sia Eij ∈ Matp,q (K) la matrice che ha tutte le entrate nulle tranne quella (i, j)
(cioè i-esima riga, j-esima colonna), che è uguale a 1.
Se {e1 , . . . , ep } è la base canonica di Kp , possiamo dire le colonne di Eij sono tutte nulle tranne la j-esima, che è
uguale a ei ; se invece denotiamo con {e1 , . . . , eq } la base canonica di Kq , possiamo dire che le righe di Eij sono tutte
nulle, tranne la i-esima che è uguale a ej .
Osservazione 5.1. Si ha Eij = ei t ej con ei ∈ Kp , ej ∈ Kq , elementi delle rispettive basi canoniche.
Come è noto, l’insieme {Eij : 1 ≤ i ≤ p, 1 ≤ j ≤ q} è una base di Matp,q (K) come spazio vettoriale (che ha dunque
dimensione pq). Pn
Ad esempio, se p = q = n, abbiamo che I = i Eii .
Lemma 5.2. Siano Eij ∈ Matn,n (K) e A ∈ Matn,k (K), allora Eij A ∈ Matn,k ha tutte le righe nulle tranne la i-esima,
che è uguale alla j-esima riga di A.
Dimostrazione. Scriviamo A = (C1 | · · · |Ck ) con C1 , . . . , Ck ∈ Matn,1 (K); se Rh ∈ Mat1,n (K) è la h-esima riga di Eij ,
la h-esima riga di Eij A è
(Rh C1 , . . . , Rh Ck )
ma per definizione, t
ej se h = i
Rh =
0 se h ̸= i
e dunque la h-esima riga di Eij A è 0 se h ̸= i, mentre, se h = i, è
(t ej C1 , . . . , t ej Ck ) .
Dato v ∈ Kn , t ej v = vj , cioè la j-esima componente di v; dunque la i-esima riga di Eij A è la collezione delle j-esime
componenti delle colonne di A, ovvero la j-esima riga di A. □
12 ALGORITMO DI GAUSS