Sei sulla pagina 1di 6

3.

Rango di una matrice

Una matrice non quadrata A ∈ M m,n(K) non possiede il determinante, ma possiede varie sot-

tomatrici quadrate e ciascuna di esse ha un determinante. Se A possiede una sottomatrice quadrata


di ordine t con determinante non nullo, mentre tutte le sottomatrici quadrate di A di ordine > t
(ammesso che ce ne siano) hanno determinante nullo, diremo che A ha rango t. Ma per il momento
dimentichiamoci di questa definizione.
Il concetto di rango, come vedremo nel prossimo paragrafo, ha un’importanza centrale nella risolu-
zione dei SL ed è collegato all’indipendenza lineare delle righe e delle colonne di A. Cominciamo a
dare la definizione di rango partendo proprio da questo aspetto.

M
Definizione 1. Sia A ∈ m,n(K). Indichiamo con A , A , ... , A
(1) (2) (m)

M M
le sue m righe (sono
elementi di 1,n(K)) e con A(1) , A(2) , ... , A(n) le sue n colonne (sono elementi di m,1(K)).

vettoriale di M (K) generato dalle righe di A, cioè


Chiameremo rango per righe (o rango-righe) di A, denotato r , la dimensione del K-sottospazio
A

1,n
 (1) (2)  (m)
r A = dim A ,A , ... , A .
[In altri termini, r A è il massimo numero di righe linearmente indipendenti di A].

M
Chiameremo analogamente rango per colonne (o rango-colonne) di A, denotato c A , la dimensione
del K-sottospazio vettoriale di m,1(K) generato dalle colonne di A, cioè
 
c A = dim A(1) , A(2) , ... , A(n) .
[In altri termini, c A è il massimo numero di colonne linearmente indipendenti di A].

 (1) (2) (m) 

M
La prima cosa da osservare è che, essendo il sottospazio vettoriale A , A , ... , A generato
da m vettori ed essendo dim( 1,n(K)) = n, allora r A ≤ min(m, n).
Per analoghi motivi, si osserva subito che anche c A ≤ min(m, n).
Vale il seguente risultato, che non dimostreremo.

Teorema 1. Per ogni matrice A ∈ M (K), risulta: r A = c A .


m,n

Visto che il rango per righe ed il rango per colonne coincidono, tanto vale chiamarlo semplicemente
rango. Dunque introduciamo la seguente definizione.

M
Definizione 2. Data una matrice A ∈ m,n(K), il numero naturale r A [= c A ] è detto rango di
A ed è denotato rg(A). Si tratta del massimo numero di righe linearmente indipendenti di A [e
coincide con il massimo numero di colonne linearmente indipendenti di A].

A titolo di esempio calcoliamo il rango della matrice


 
1 2 −1
A = 0 1 1  ∈ M (RR).
3
1 3 0
Le prime due righe di A sono linearmente indipendenti. Infatti il SLO(3, 2, R )


a=0
(1) (2)
a A + b A = 0, cioè 2a + b = 0


−a + b = 0
non ammette autosoluzioni. La terza riga è invece combinazione lineare delle prime due. Infatti il
SL(3, 2, R )
80 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA


a=1
(1) (2) (3)
aA + bA = A , cioè 2a + b = 3


−a + b = 0,
(1) (2) (3)
è risolubile, con soluzione (a, b) = (1, 1). Dunque A +A =A . Ne segue che rg(A) = 2.

Si noti che, dal Teor. 1, le tre colonne di A devono essere linearmente dipendenti. Poiché la prime
due sono linearmente indipendenti [si verifichi infatti che il SLO(3, 2, R ) a A(1) + b A(2) = 0 non
ha autosoluzioni], la terza colonna è necessariamente combinazione lineare delle prime due, ovvero il
SL(3, 2, R )

 a + 2b = −1

a A(1) + b A(2) = A(3) , cioè b=1


a + 3b = 0,
è risolubile. Infatti ammette soluzione (a, b) = (−3, 1) e quindi A(3) = −3 A(1) + A(2) .

Osservazione 1. (i) Si osserva subito che rg(A) = rg(tA), ∀ A ∈ M (K).


m,n

Infatti le righe di A sono le colonne di A. Dunque r tA = c A e quindi rg(tA) = rg(A).


t

M
(ii) Si può verificare che con operazioni elementari di riga il rango di una matrice non cambia. Sia
infatti A ∈ m,n(K) e sia ad esempio B la matrice ottenuta da A con l’operazione elementare
(i) (i) (j)
III[A → A + cA ]. Le righe di B sono
(1) (i) (j) (j) (m)
A , ... , A + cA , ... , A , ... , A
e lo spazio vettoriale da esse generato coincide, come facilmente si può verificare, con quello generato
(1) (m)
da A , ... , A . Dunque rg(B) = rg(A).
Considerazioni analoghe si fanno per le operazioni elementari di riga di primo e secondo tipo.

(iii) Se B è una sottomatrice di A, verifichiamo che rg(B) ≤ rg(A).


Assumiamo che sia B = A(i1, ... , ip | j1, ... , jq ), con 1 ≤ p ≤ m e 1 ≤ q ≤ n. Consideriamo
allora la matrice M = A(i1, ... , ip | 1, ... , n).
B è una sottomatrice di M formata da p colonne di M . Dunque c B ≤ c M , cioè rg(B) ≤ rg(M ).
Analogamente, M è una sottomatrice di A formata da q righe di A. Dunque r M ≤ r A , cioè
rg(M ) ≤ rg(A). Si conclude che rg(B) ≤ rg(M ) ≤ rg(A).

Proposizione 1. Sia A ∈ M (K).


n Risulta:
A ∈ GLn(K) ⇐⇒ det(A) = 0 ⇐⇒ rg(A) = n.

Dim. La prima equivalenza è già stata dimostrata (cfr. Prop. 2.3). È sufficiente allora provare che
(i) det(A) = 0 =⇒ rg(A) = n; (ii) rg(A) = n =⇒ A ∈ GLn(K).

Proviamo (i). Se per assurdo fosse rg(A) < n, una riga (ad esempio la prima) sarebbe combi-
nazione lineare delle altre. Dunque
(1) (2) (3) (n)
A = c2 A + c3 A + ... + cn A .
Dalla Prop. 2.1(iv),
 (2)   (3)   (n) 
A A A
A  A  A 
(2) (2) (2)

det(A) = c2 det  
 ..  + c3 det
 .  + ... + cn det
 . 
 . .
 . 
. . .
(n) (n) (n)
A A A
Le matrici a secondo membro hanno tutte due righe uguali e quindi hanno determinante nullo. Ne
segue che det(A) = 0, contro l’ipotesi.

Proviamo ora (ii). Per ipotesi, le righe A , ... , A


1
  n 
(1)
sono una base di

(n)
1,n(K). Consideriamo M
le matrici riga elementari E = 1 0 0 ... 0 , ... , E = 0 0 ... 0 1 . Possiamo esprimere ciascuna di
(1) (n)
esse come combinazione lineare della base {A , ... , A }. Dunque, per i = 1, ... , n:
CAP. 3.3 RANGO DI UNA MATRICE 81

 (1) 

  A  

n
i
E = bij A
(j)
= bi1 bi2 ... bin  ..  = bi1 bi2 ... bin A.
.
j=1 (n)
A
I coefficienti bij formano una matrice B ∈ M (K).
n
i
Si ha quindi: E = B A e pertanto
(i)

1  
E
.
In =  ..  = B A.
n
E
Dunque B A = In, cioè B inverte ”a sinistra” A.
Se ora consideriamo le colonne A(1) , ... A(n) di A, anch’esse formano una base [di
    n,1(K)]. M
1 0
0  ... 
Possiamo esprimere le n matrici colonna elementari E1 =    
 ...  , ... , En =  0  come combinazione
0 1
lineare della base {A(1) , ... A(n) }. Otteniamo
  
c1j c1j

n      
Ej = cij A(i) = A(1) ... A(n)  ...  = A  ... .
i=1
cnj cnj
Definita la matrice C = (cij ) ∈ M (K), si ha:
n Ej = A C(j) e dunque

In = E1 E2 ... En = A C.
Pertanto A C = In, cioè C inverte ”a destra” A.
Da AC = In = BA segue: B = BIn = B(AC) = (BA)C = In C = C, cioè B = C. Pertanto A
è invertibile (con inversa B).

Proposizione 2. Se A ∈ M m,n (K) e B ∈ M


(K), risulta:

n,p

rg(AB) ≤ min rg(A), rg(B) .
M
Se poi A ∈ m,n(K) e B ∈ GLn(K), allora rg(AB) = rg(A). Analogamente, se C ∈ GLm(K),
allora rg(CA) = rg(A). Dunque la moltiplicazione per una matrice invertibile non modifica il rango.

Dim. Per definizione,


 (1) (m) 
rg(AB) = dim (AB) , ... , (AB) .
Si ha:
(1)  (1) (1)  
n 
n  n   n
(t)
(AB) = A B(1) ... A B(p) = a1t bt1 ... a1t btp = a1t bt1 ... btp = a1t B .
t=1 t=1 t=1 t=1

Dunque (AB) ∈ B , ... , B .


(1) (1) (n)

∈ B , ... , B . Quindi
(2) (m) (1) (n)
Allo stesso modo si verifica che (AB) , ... , (AB)
 (m) 
⊆ B , ... , B
(1) (1) (n)
(AB) , ... , (AB)
e pertanto rg(AB) ≤ rg(B) [cioè il rango del prodotto di due matrici è minore o uguale al rango
della seconda matrice del prodotto].

Utilizzando tale disuguaglianza e la proprietà del rango di Osserv. 1(i) si ottiene


t t t t
rg(AB) = rg( (AB)) = rg( B A) ≤ rg( A) = rg(A),
 
cioè rg(AB) ≤ rg(A). È cosı̀ provato che rg(AB) ≤ min rg(A), rg(B) .

Proviamo ora che, se A ∈


−1 −1
M
m,n(K) e B ∈ GLn(K), allora rg(AB) = rg(A). Infatti A =
(AB)B e quindi rg(A) = rg((AB)B ) ≤ rg(AB) ≤ rg(A).
−1 −1
Analogamente, se C ∈ GLm(K), A = C C A e quindi rg(A) = rg(C C A) ≤ rg(CA) ≤ rg(A),
cioè rg(CA) = rg(A).

Come accennato all’inizio del paragrafo, il rango si collega all’annullamento dei determinanti delle
82 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA

sottomatrici quadrate di A. Vediamo come, partendo da una definizione.

M
Definizione 3. Data una matrice A ∈ m,n(K), sia ρ = ρ(A) l’intero definito dalle due seguenti
condizioni:
- esiste in A (almeno) una sottomatrice quadrata invertibile di ordine ρ;
- le sottomatrici quadrate di A di ordine > ρ (se ne esistono) hanno determinante nullo.
Chiameremo inoltre minore (di ordine t) di A il determinante di una sottomatrice quadrata di A
di ordine t. Pertanto ρ = ρ(A) è definito dalle due condizioni:
esiste in A un minore non nullo di ordine ρ; i minori di ordine > ρ (se esistono) sono nulli.
Possiamo quindi dire che ρ è l’ordine massimo dei minori non nulli di A.

Teorema 2. Per ogni matrice A ∈ M (K), risulta: rg(A) = ρ(A).


m,n

Dim. Verifichiamo che ρ(A) ≤ rg(A).


Poniamo ρ := ρ(A). Esiste in A una sottomatrice quadrata invertibile B di ordine ρ. Dalla
Prop. 1 e dall’Osserv. 1(iii), ρ = rg(B) ≤ rg(A).
Viceversa, verifichiamo che rg(A) ≤ ρ(A).
Poniamo r := rg(A). Scegliamo in A r righe linearmente indipendenti e sia M la sottomatrice
di A formata da tali righe. Ovviamente rg(M ) = r. In M esistono quindi r colonne linearmente
indipendenti. La matrice B formata da tali colonne (di M ) è una sottomatrice quadrata di A avente
rango r e quindi invertibile. Pertanto |B| è un minore non nullo di A e quindi r = rg(A) ≤ ρ(A).

M
Si noti che se una matrice A ∈ m,n(K) ha nulli tutti i minori di un dato ordine t, sono nulli
anche tutti gli eventuali minori di ordine superiore a t. Ciò segue subito dal teorema di Laplace.

M
Vogliamo calcolare il rango di una matrice A ∈ m,n(K), utilizzando il Teor. 2. Procederemo
come segue:
- si individua in A una sottomatrice quadrata invertibile di ordine t. Allora rg(A) ≥ t.
- se t = min{m, n}, non esistono in A minori di ordine t + 1 e si conclude che rg(A) = t.
- se invece t < min{m, n}, è necessario calcolare i minori di ordine t + 1. Tali minori sono quanti
le possibili scelte di t + 1 righe [tra le m righe di A] per le possibili
 scelte di t + 1 colonne [tra
m n
le n colonne di A]. Dunque sono complessivamente t+1 t+1 . Se tali minori sono tutti nulli,
concludiamo che rg(A) = t; altrimenti possiamo solo dire che rg(A) ≥ t + 1 e dobbiamo procedere
al calcolo dei minori di ordine t + 2 [se ne esistono, cioè se t + 1 < min{m, n}].

M
In questo modo arriveremo dopo alcuni passi all’individuazione del rango. Ma i calcoli da fare
sono decisamente troppi. Ad esempio, se A ∈ 4,6(K) ed abbiamo individuato una sottomatrice
  
quadrata invertibile di ordine 2, i minori di ordine 3 sono 43 63 = 80. Se uno di essi è non nullo,
  
allora rg(A) ≥ 3 e dovremo considerare i minori di ordine 4, che sono 44 64 = 15. Se tutti sono
nulli, allora rg(A) = 3; altrimenti rg(A) = 4.

Il risultato che segue ci offre un sensibile sconto sul numero dei calcoli da eseguire. È noto come
principio degli orlati o principio dei minori orlanti ed è dovuto a Kronecker (per questo è anche
chiamato teorema di Kronecker). Partiamo da una definizione.

Definizione 4. Sia B una sottomatrice quadrata di ordine r di una matrice A ∈ M


m,n(K).

Chiameremo orlato di B il determinante di ogni sottomatrice C di A, quadrata, di ordine r + 1 ed


avente B come sottomatrice. [Diremo che C è ottenuta ‘orlando’ B con un’ulteriore riga e colonna
di A]. È evidente che, se r = min{n, m}, B non ha orlati (e viceversa).

 
1 2 3 4
2
Consideriamo ad esempio la seguente matrice A = 
3
3 4
4 1
1
2
 ∈ M (RR)
4 e fissiamone la
4 1 2 3
CAP. 3.3 RANGO DI UNA MATRICE 83
 
2 4
sottomatrice B = A(1, 3 | 2, 4) = . I suoi orlati sono quattro [infatti dobbiamo aggiungere
4 2
a B una riga tra le due disponibili (la seconda o la quarta) ed una colonna tra le due disponibili (la
prima o la terza)]. Dunque i quattro orlati di B sono i determinanti delle seguenti matrici:
   
1 2 4 2 3 4
A(1, 2, 3 | 1, 2, 4) =  2 3 1  , A(1, 2, 3 | 2, 3, 4) =  3 4 1  ,
3 4 2 4 1 2
   
1 2 4 2 3 4
A(1, 3, 4 | 1, 2, 4) =  3 4 2  , A(1, 3, 4 | 2, 3, 4) =  4 1 2  .
4 1 3 1 2 3
[Si può verificare che i quattro orlati di B sono rispettivamente −4, −44, −44, −4].

Una volta individuata in A una sottomatrice B quadrata, invertibile e di ordine t, il principio


degli orlati ci consentirà di esaminare, anziché tutti i minori di ordine t+ 1 
di A, soltanto gli orlati di
m n
B. Lo ”sconto” sta nel fatto che invece di esaminare l’annullamento di t+1 t+1 minori, è sufficiente
esaminare l’annullamento soltanto di (m − t)(n − t) minori.
M
Ad esempio, nel caso di una matrice A ∈ 4,6(K), gli orlati di una sottomatrice quadrata di ordine
2 sono soltanto (4 − 2)(6 − 2) = 8 (mentre i minori di ordine 3 sono 80, come sopra osservato).
Enunciamo finalmente (e senza dimostrazione) il principio degli orlati.

M
Teorema 3. (Principio degli orlati) Sia A ∈ m,n(K). Risulta:
rg(A) = r ⇐⇒ valgono le due seguenti condizioni:
- esiste in A una sottomatrice quadrata B invertibile di ordine r;
- gli orlati di B (se ne esistono) sono tutti nulli.

Utilizzando il principio degli orlati, vogliamo calcolare il rango della seguente matrice A ∈ M R ),
(R
3,4
al variare dei due parametri reali a, b:
 
a 0 1 b
A = 1 a 0 1.
a b 0 1
Conviene considerare un minore che sia sempre non nullo (indipendentemente dal valore dei para-
metri) e che sia di ordine più grande possibile.
 La scelta
 può cadere ad esempio sul minore corrispon-
1 b
dente alla sottomatrice B = A(1, 2 | 3, 4) = (avente determinante 1). Possiamo quindi già
0 1
dire che 2 ≤ rg(A) ≤ 3, ∀ a, b ∈ R .
Per stabilire quando il rango è 2 e quando è 3, consideriamo i due orlati di B. Sono
   
a 1 b 0 1 b
   
 1 0 1  = a − 1,  a 0 1  = b − a.
   
a 0 1 b 0 1
Pertanto

a−1=0
rg(A) = 2 ⇐⇒ ⇐⇒ a = b = 1.
b−a=0
Se invece (a, b) = (1, 1), si ha che rg(A) = 3.

M M
Osservazione 2. L’algoritmo di Gauss consente di calcolare il rango di una matrice.
Assegnata infatti A ∈ m,n(K), sia A ∈ m ,n(K) la matrice ottenuta da A eseguendo l’algo-
ritmo di Gauss. In particolare m − m è il numero complessivo delle righe che vengono eliminate nel
corso del procedimento, in quanto nulle.
In base all’Osserv. 1(ii), rg(A) = rg(A ). La matrice A contiene una sottomatrice quadrata di
ordine m triangolare superiore ed avente tutti 1 sulla diagonale [si tratta della matrice formata dalle
prime m colonne di A ]. Tale sottomatrice ha rango m e dunque rg(A ) = m , cioè rg(A) = m .
Illustriamo su un esempio la procedura di calcolo del rango con l’algoritmo di Gauss. Si consideri
la matrice
84 G. CAMPANELLA APPUNTI DI ALGEBRA PER INFORMATICA
 

M
1 1 2 0
A = 2 −2 0 4 ∈ R ).
(R
3,4
0 1 1 −1
 
1 1 2 0
Applicando l’algoritmo di Gauss ad A, si ottiene la matrice A = [verificare].
0 1 1 −1
Dunque rg(A) = rg(A ) = 2.
t t
Sappiamo che rg( A) = rg(A). Se quindi applichiamo l’algoritmo di Gauss alla matrice A (anziché
t
ad A) otterremo
 ancorauna matrice di rango 2. Infatti l’algoritmo di Gauss applicato ad A fornisce
1 2 0
la matrice [verificare].
0 1 − 14

ESERCIZI PROPOSTI
 
1 −1 2
 0 −2 1 

3.3.1. Sia A =  0 −2 1  ∈



M 5,3
R ). Calcolare rg(A), come massimo numero di colonne
(R
−1 −5 1
0 4 −2
linearmente indipendenti di A.

3.3.2 Calcolare il rango della seguente matrice A, interpretandolo sia come massimo numero di righe
linearmente indipendenti, sia come ordine massimo dei minori non nulli:
 
1 0 −1 2
 2 1 0 −1 
A= .
4 1 −2 3
5 2 −1 0
3.3.3 Al variare di a, b ∈ R , descrivere il rango della matrice
 
a 1 b
A =  1 a b .
b 0 1
 

M
0 a b
3.3.4. Sia A =  −a 0 c  ∈ 3(R R ), con a = 0.
−b −c 0
Verificare che rg(A) = 2 ed esprimere la terza riga come combinazione lineare delle prime due.

3.3.5. Sia A ∈ M (RR).


2 Verificare che
 
a b
rg(A ) < rg(A) ⇐⇒ A =
2 2
, con a + bc = 0 e a, b, c non tutti nulli.
c −a

3.3.6. Sono assegnate le tre matrici (a valori reali) dipendenti da un parametro a ∈ R :


   
a 1 0  
0 1
 0 −1 1    1 0 a 1
A=  , B = a 0 , C = .
1 2 0 a 1 0 1
1 a
a 0 2
Sia M = ABC. Determinare rg(M ), al variare di a ∈ R .