✖

Rango di una matrice

Il rango di una matrice è il numero che rappresenta quante righe o colonne della matrice sono indipendenti.

Definizione

Il rango di una matrice è il numero massimo di righe/colonne linearmente indipendenti della matrice. La matrice nulla ha rango zero, ogni altra matrice ha rango almeno uno. Una matrice di tipo m × n può avere rango al massimo min(m, n). Quindi, se la matrice ha meno righe che colonne, il suo rango sarà al massimo uguale al numero delle righe. Analogamente per le colonne.

Il rango di una matrice si indica di solito con l’abbreviazione rk, dall’inglese «rank». Scriviamo quindi rk(A) = x.

Come calcolare il rango

Vediamo ora come si calcola il rango di una matrice. È piuttosto semplice. Devi trasformare la matrice in una forma in cui si veda con chiarezza quali righe sono linearmente indipendenti. Il modo più comune è ridurre la matrice a scala (sotto la diagonale tutti zeri): a quel punto si vede subito com’è fatta la matrice. Passiamo a un esempio. Abbiamo questa matrice:

(12111−1133)

E dobbiamo determinarne il rango. Dobbiamo tenere presente un piccolo dettaglio. Se abbiamo due righe piene di numeri diversi da zero, queste possono essere, in teoria, linearmente dipendenti, e dovremmo fare i conti per saperlo. Ma se una delle due righe ha uno zero in una certa posizione e l’altra riga nella stessa posizione non ha lo zero, possiamo affermare con certezza che non sono dipendenti. Infatti non troveremo nessun numero per cui moltiplicare quello zero (e quindi l’intera riga) in modo da ottenere in quella posizione lo stesso numero che si trova nell’altra riga. Per questo cerchiamo sempre di ridurre le matrici a scala, per ottenere quegli zeri.

Il paragrafo precedente si può scrivere così. Se α1, α2 ≠ 0, allora:

α1(123)+α2(023)≠(0ab)

Per questo cerchiamo di portare la matrice in una forma simile, per vedere facilmente le dipendenze. Osserva questo esempio:

(4−51072003)

Questa è una matrice a scala, nessuna riga è linearmente dipendente. Non puoi esprimere la terza riga usando le prime due, perché se i coefficienti alfa sono diversi da zero, nelle prime posizioni resterà sempre un numero diverso da zero.

Di solito si procede così: prima otteniamo gli zeri nella prima colonna (tranne che nella prima riga). Poi continuiamo a modificare la matrice per ottenere gli zeri nella seconda colonna, poi nella terza e così via, fino a ottenere la forma a scala. Contiamo le righe non nulle ed ecco il rango della matrice. Possiamo usare queste operazioni senza modificare il rango della matrice:

  • Scambiare due righe qualsiasi.
  • Moltiplicare una riga per un’espressione qualsiasi diversa da zero.
  • Sommare una riga a un’altra.
  • Tutte le operazioni precedenti si possono applicare anche alle colonne.

Esempio

Nella matrice precedente eseguiamo le operazioni così: guardiamo il rapporto tra gli elementi a11 e a21. Vediamo che sono uguali, quindi per ottenere uno zero al posto di a21 dobbiamo sommare la prima riga moltiplicata per −1. Sommiamo alla seconda riga la prima moltiplicata per −1 (cioè sottraiamo la prima riga dalla seconda):

(1210−1−2133)

Ora abbiamo lo zero dove lo volevamo. Dobbiamo ancora ottenere uno zero nella posizione a31. Lì c’è di nuovo un 1, quindi basta sottrarre la prima riga:

(1210−1−2012)

Ora abbiamo gli zeri nella prima colonna, quindi ci dedichiamo volentieri alla seconda. Vediamo che i numeri a22 e a32 sono opposti, quindi basta sommare le righe:

(1210−1−2000)

Abbiamo ottenuto una riga nulla. Le operazioni sono finite, siamo arrivati alla forma a scala. Ora contiamo le righe non nulle ed ecco il rango. È rk(A) = 2. Questa matrice aveva rango due.

Secondo esempio

Proviamo ora a calcolare il rango di una matrice un po’ più grande:

(7251135−74−5102810−9)

Il rango di una matrice è il numero massimo di righe linearmente indipendenti, quindi possiamo permetterci di riordinare le righe come vogliamo. Qui sarebbe comodo avere in cima la riga che inizia con 1, per calcolare più facilmente. Possiamo quindi scambiare tranquillamente la prima e la seconda riga:

(135−772514−5102810−9)

Ora procediamo come nell’esempio precedente. Nella prima colonna dobbiamo avere solo zeri (ovviamente tranne che nella prima riga), quindi alla seconda riga sommiamo la prima moltiplicata per −7, alla terza la prima moltiplicata per −4 e all’ultima la prima moltiplicata per −2. La prima riga resta invariata:

(135−70−19−30500−17−19280205)

Scambiamo di nuovo le righe: stavolta conviene mettere l’ultima riga al posto della seconda, per via del 2 in seconda posizione. Scambiamo la seconda e la quarta riga:

(135−702050−17−19280−19−3050)

Ma vediamo che sotto il 2 abbiamo i numeri −17 e −19. Nessuno dei due è divisibile per due, il che è scomodo, anzi fastidioso. Perciò moltiplichiamo per due la terza e la quarta riga:

(135−702050−34−38560−38−60100)

Ora possiamo proseguire e azzerare la seconda colonna. Alla terza riga sommiamo 17 volte la seconda riga e alla quarta 19 volte la seconda:

(135−7020500−3814100−60195)

Ecco, ora abbiamo numeri piuttosto scomodi per proseguire, ma in qualche modo ce la caveremo. Dividiamo la terza riga per −38:

(135−70205001−141/3800−60195)

Ora moltiplichiamo la terza riga per 60 e la sommiamo alla quarta riga:

(135−70205001−141/38000195−60⋅14138)∼(135−70205001−141/38000−52519)

Abbiamo ottenuto un numero poco elegante, ma diverso da zero. La matrice ha quindi rango quattro e non contiene nessuna riga linearmente dipendente.

Esempio con un parametro

Qual è il rango della matrice A al variare del parametro q?

A=(1817q58413)

Questo esercizio è un po’ più complicato, perché c’è il parametro q. Dobbiamo scoprire per quali valori di q la matrice ha rango massimo, se ce ne sono, e per quali ha rango minore. Procediamo in modo classico, solo che ogni tanto, al posto di valori concreti, calcoleremo con il q astratto. Nel primo passaggio spostiamo il parametro q in una posizione più comoda, precisamente in basso a destra. Scambiamo quindi la seconda riga con la terza e poi la prima colonna con l’ultima:

(1817q58413)∼(1817413q58)∼(178131485q)

Ora il parametro è in una posizione adatta, dove darà poco fastidio. Nella prima colonna però abbiamo numeri piuttosto scomodi, mentre al centro abbiamo un 1: lo spostiamo in alto a sinistra, cioè scambiamo la prima e la seconda riga e la prima e la seconda colonna:

(178131485q)∼(314178185q)∼(134817158q)

Ora la matrice è bella. Moltiplichiamo la prima riga per −8 e la sommiamo alla seconda riga:

(134817158q)∼(1340−7−3158q)

Moltiplichiamo la prima riga per −5 e la sommiamo alla terza riga:

(1340−7−3158q)∼(1340−7−310−7q−20)

Bene, la prima colonna è come volevamo. Ora sommiamo alla terza riga la seconda moltiplicata per −1:

(1340−7−310−7q−20)∼(1340−7−3100q+11)

Abbiamo finito con le operazioni sulla matrice. Vediamo che la prima e la seconda riga sono sicuramente linearmente indipendenti. La terza riga invece può essere linearmente dipendente. Una riga è linearmente dipendente se è tutta nulla, cioè se scegliamo il parametro q in modo che l’espressione q + 11 sia uguale a zero. Evidentemente, se q = −11 la riga è nulla e quindi è linearmente dipendente.

Ecco dunque il verdetto finale: per q = −11 la matrice ha rango due, altrimenti ha rango tre.