Skip to main content
linear algebraalgebracalculatorguide

Calcolatrice del rango di una matrice: come trovare il rango con la forma a scalini

·12 min read·Solvify Team

Una calcolatrice del rango di una matrice trova il numero di righe o colonne linearmente indipendenti in una matrice riducendola alla forma a scalini (forma a gradini) e contando le righe con pivot non nullo. Il rango indica se un sistema di equazioni lineari ha una soluzione unica, infinite soluzioni oppure nessuna soluzione, e ricorre in tutti i corsi di algebra lineare, nella grafica computerizzata e nella riduzione della dimensionalità in data science. Questa guida illustra passo dopo passo il metodo di riduzione per righe con tutti i calcoli, presenta la scorciatoia del determinante per le matrici quadrate e include esempi svolti sia per matrici a rango pieno sia per matrici con rango carente. Troverai anche gli errori più comuni da evitare e problemi di pratica con soluzioni complete.

Cos'è il rango di una matrice?

Il rango di una matrice è il numero massimo di righe linearmente indipendenti che contiene — equivalentemente, il numero massimo di colonne linearmente indipendenti. Una matrice può avere dimensioni grandi (ad esempio 5×5) ma un rango piccolo se molte delle sue righe o colonne sono combinazioni di altre. Il rango è un singolo numero compreso tra 0 e il più piccolo tra il numero di righe e il numero di colonne: per una matrice m×n, 0 ≤ rank(A) ≤ min(m, n). Una matrice con rango uguale a min(m, n) si dice a rango pieno. Una matrice quadrata n×n con rango esattamente n è invertibile; una matrice quadrata con rango minore di n si dice singolare e non ha inversa. Il rango non coincide con la dimensione di una matrice — una matrice 4×4 può facilmente avere rango 2 se due delle sue righe sono multipli delle altre due.

Rango = numero di righe linearmente indipendenti = numero di colonne linearmente indipendenti = numero di posizioni pivot una volta ridotta la matrice alla forma a scalini.

Come trova il rango una calcolatrice del rango di una matrice usando la forma a scalini?

Una calcolatrice del rango di una matrice funziona applicando l'eliminazione gaussiana per trasformare la matrice nella forma a scalini (REF, row echelon form) — una struttura triangolare in cui il primo elemento non nullo di ogni riga (il suo pivot) si trova strettamente a destra del pivot della riga sopra, e le eventuali righe interamente nulle si trovano in fondo. Una volta che la matrice è in forma a scalini, il rango è semplicemente il numero di righe non nulle, che equivale al numero di pivot. Il processo di eliminazione utilizza tre operazioni elementari sulle righe che non modificano mai il rango: scambiare due righe, moltiplicare una riga per una costante non nulla e sommare a una riga un multiplo di un'altra. Poiché queste operazioni preservano le relazioni di dipendenza lineare, il rango della matrice ridotta per righe è sempre uguale al rango della matrice originale.

1. Passo 1 — Trova il primo pivot

Scorri la colonna 1 dall'alto verso il basso e trova il primo elemento non nullo. Se l'elemento nella riga 1 è zero ma una riga inferiore ha un valore non nullo nella colonna 1, scambia le righe in modo che il valore non nullo diventi il pivot.

2. Passo 2 — Elimina sotto il pivot

Per ogni riga sotto la riga del pivot, sottrai un multiplo della riga del pivot in modo che l'elemento nella colonna del pivot diventi 0. Ripeti finché ogni elemento sotto il pivot in quella colonna è 0.

3. Passo 3 — Passa alla colonna successiva e ripeti

Sposta di una riga verso il basso e di una colonna verso destra, e ripeti la ricerca di un pivot non nullo nella sottomatrice rimanente. Continua finché non esaurisci le righe o le colonne.

4. Passo 4 — Conta le righe non nulle

Quando non si trovano più pivot, conta le righe che non sono interamente nulle. Quel conteggio è il rango della matrice.

Le operazioni sulle righe (scambio, scalatura, somma di un multiplo) non modificano mai il rango. La forma a scalini rende il rango visibile: equivale al numero di righe non nulle.

Esempio svolto: trovare il rango di una matrice 3×3 a rango pieno

Consideriamo A = [[1, 2, 3], [2, 5, 3], [1, 0, 8]]. Questa è una classica matrice 3×3 usata per illustrare la riduzione per righe a rango pieno. Poiché è quadrata, rango pieno qui significa rango 3.

1. Passo 1 — Elimina la colonna 1 sotto il pivot

Il pivot è a₁₁ = 1. R2 = R2 - 2R1: [2-2(1), 5-2(2), 3-2(3)] = [0, 1, -3] R3 = R3 - 1R1: [1-1(1), 0-1(2), 8-1(3)] = [0, -2, 5] La matrice ora è: [[1, 2, 3], [0, 1, -3], [0, -2, 5]]

2. Passo 2 — Elimina la colonna 2 sotto il pivot

Ora il pivot è l'elemento 1 nella riga 2, colonna 2. R3 = R3 + 2R2: [0+2(0), -2+2(1), 5+2(-3)] = [0, 0, -1] La matrice ora è: [[1, 2, 3], [0, 1, -3], [0, 0, -1]]

3. Passo 3 — Conta i pivot

Ogni riga ha un elemento di testa non nullo: 1, 1 e -1. Tutte e tre le righe sono non nulle, quindi rank(A) = 3. Poiché A è una matrice 3×3 con rango 3, è a rango pieno e invertibile. Questo corrisponde a det(A) = 1(5·8-3·0) - 2(2·8-3·1) + 3(2·0-5·1) = 40 - 26 - 15 = -1, che è diverso da zero — confermando il rango pieno.

Risultato: rank(A) = 3 per A = [[1,2,3],[2,5,3],[1,0,8]]. Tre righe con pivot non nullo, coerenti con un determinante non nullo pari a -1.

Esempio svolto: trovare il rango di una matrice con rango carente

Consideriamo ora B = [[1, 2, -1], [2, 4, 1], [3, 6, 3]]. Nota che la colonna 2 è esattamente il doppio della colonna 1 (2 = 2·1, 4 = 2·2, 6 = 2·3) — un forte indizio che questa matrice non sarà a rango pieno.

1. Passo 1 — Elimina la colonna 1 sotto il pivot

Il pivot è b₁₁ = 1. R2 = R2 - 2R1: [2-2(1), 4-2(2), 1-2(-1)] = [0, 0, 3] R3 = R3 - 3R1: [3-3(1), 6-3(2), 3-3(-1)] = [0, 0, 6] La matrice ora è: [[1, 2, -1], [0, 0, 3], [0, 0, 6]]

2. Passo 2 — Elimina la colonna 3 sotto il pivot

Nella colonna 2 non è disponibile alcun pivot (entrambi gli elementi sotto la riga 1 sono 0), quindi si passa alla colonna 3, dove la riga 2 ha pivot 3. R3 = R3 - 2R2: [0-2(0), 0-2(0), 6-2(3)] = [0, 0, 0] La matrice ora è: [[1, 2, -1], [0, 0, 3], [0, 0, 0]]

3. Passo 3 — Conta i pivot

Solo due righe sono non nulle: la riga 1 (pivot in colonna 1) e la riga 2 (pivot in colonna 3). La riga 3 è interamente nulla. Quindi rank(B) = 2, anche se B è una matrice 3×3. Questo corrisponde alla dipendenza tra colonne individuata all'inizio: colonna 2 = 2 × colonna 1, quindi le tre colonne generano solo uno spazio a 2 dimensioni.

Risultato: rank(B) = 2 per una matrice 3×3 — una dimensione in meno del rango pieno perché colonna 2 = 2 × colonna 1.

Usare la scorciatoia del determinante per le matrici quadrate

Per una matrice quadrata n×n esiste una scorciatoia: calcolare il determinante. Se det(A) ≠ 0, la matrice è automaticamente a rango pieno, ovvero rank(A) = n — senza bisogno di riduzione per righe. Se det(A) = 0, sai che rank(A) < n, ma il solo determinante non ti dice il rango esatto; è comunque necessaria la riduzione per righe (o il controllo dei determinanti delle sottomatrici più piccole) per scoprire di quanto il rango scende rispetto a n.

1. Passo 1 — Calcola il determinante

Per C = [[4, 2], [2, 1]]: det(C) = (4)(1) - (2)(2) = 4 - 4 = 0.

2. Passo 2 — Poiché det = 0, conferma che il rango è inferiore a n riducendo per righe

R2 = R2 - 0.5R1: [2-0.5(4), 1-0.5(2)] = [0, 0] La matrice ora è: [[4, 2], [0, 0]]. Solo una riga non nulla, quindi rank(C) = 1, non 2.

Scorciatoia per matrici quadrate: det ≠ 0 significa rango = n (rango pieno) immediatamente. det = 0 ti dice solo che rango < n — la riduzione per righe trova il valore esatto.

Rango per righe vs rango per colonne: perché sono sempre uguali?

Può sembrare sorprendente, ma per qualsiasi matrice — quadrata o no — il numero massimo di righe linearmente indipendenti è sempre uguale al numero massimo di colonne linearmente indipendenti. Questo risultato è talvolta chiamato teorema del rango, ed è il motivo per cui i corsi di algebra lineare possono semplicemente dire "il rango" senza specificare rango per righe o rango per colonne. Un modo per capirlo intuitivamente: la riduzione per righe combina e riordina solo le righe, e il numero di colonne pivot che produce è esattamente il numero di colonne indipendenti nella matrice originale, mentre il numero di righe non nulle è il numero di righe indipendenti. Poiché entrambe le quantità derivano dallo stesso insieme di pivot, devono coincidere. Per B = [[1, 2, -1], [2, 4, 1], [3, 6, 3]] dell'esempio precedente, la forma ridotta per righe ha pivot nelle colonne 1 e 3 — confermando che esattamente 2 colonne sono indipendenti, in linea con le 2 righe indipendenti.

Il rango per righe è sempre uguale al rango per colonne. Questo valore condiviso si chiama semplicemente rango della matrice — non esiste una 'calcolatrice del rango per righe' e una 'calcolatrice del rango per colonne' separate.

Cosa dice il rango su un sistema di equazioni?

Per un sistema di equazioni lineari Ax = b, il rango determina esattamente il tipo di insieme di soluzioni che si ottiene. Confronta rank(A), la matrice dei coefficienti, con rank([A|b]), la matrice aumentata con le costanti come colonna aggiuntiva: se rank(A) < rank([A|b]), il sistema è incompatibile e non ha soluzione. Se rank(A) = rank([A|b]) = n (il numero di incognite), il sistema ha esattamente una soluzione. Se rank(A) = rank([A|b]) < n, il sistema ha infinite soluzioni, con n - rank variabili libere.

1. Passo 1 — Imposta la matrice aumentata

Usando la matrice dei coefficienti B = [[1, 2, -1], [2, 4, 1], [3, 6, 3]] con costanti b = (4, 7, 10): [1, 2, -1 | 4] [2, 4, 1 | 7] [3, 6, 3 | 10]

2. Passo 2 — Riduci per righe la matrice aumentata

R2 = R2 - 2R1: [0, 0, 3 | -1] R3 = R3 - 3R1: [0, 0, 6 | -2] R3 = R3 - 2R2: [0, 0, 0 | 0] L'ultima riga diventa 0 = 0, sempre vera — quindi rank([A|b]) = 2, in linea con rank(A) = 2.

3. Passo 3 — Interpreta il risultato

Poiché rank(A) = rank([A|b]) = 2 < 3 incognite, il sistema ha infinite soluzioni con 1 variabile libera (y). Confronta questo caso con b = (4, 7, 9): gli stessi passaggi danno una riga finale 0 = -1, un'equazione impossibile. In questo caso, rank(A) = 2 ma rank([A|b]) = 3, quindi il sistema non ha alcuna soluzione.

Criterio del rango per i sistemi: nessuna soluzione se rank(A) < rank([A|b]); una soluzione se entrambi sono uguali a n; infinite soluzioni se sono uguali ma minori di n.

Errori comuni nel calcolo del rango di una matrice

Alcuni errori si ripetono spesso quando si calcola il rango a mano.

1. Errore 1 — Confondere il rango con la dimensione della matrice

Una matrice 4×4 non ha automaticamente rango 4. Il rango dipende dall'indipendenza lineare, non dal numero di righe o colonne presenti.

2. Errore 2 — Dimenticare di scambiare le righe quando una posizione pivot è zero

Se l'elemento richiesto come pivot è 0 ma una riga sottostante ha un valore non nullo in quella colonna, devi scambiare le righe prima di continuare — saltare questo passaggio produce una forma a scalini errata e un rango sbagliato.

3. Errore 3 — Presumere che det = 0 significhi rango = 0

det(A) = 0 significa solo che rank(A) < n per una matrice quadrata. Il rango effettivo potrebbe essere n-1, n-2 o qualsiasi valore inferiore — richiede comunque la riduzione per righe per essere determinato con precisione.

4. Errore 4 — Interrompere troppo presto la riduzione per righe

Il rango deve essere letto da una forma a scalini completamente ridotta. Fermarsi a metà dell'eliminazione può lasciare righe che sembrano non nulle ma che si annullerebbero con un'operazione in più, portando a un conteggio del rango gonfiato.

L'errore più comune sul rango: leggere il rango prima che l'eliminazione sia completa. Completa sempre la riduzione per righe prima di contare i pivot.

Problemi di pratica: metti alla prova la tua comprensione del rango di una matrice

Svolgi questi tre problemi, poi confronta la tua riduzione per righe con le risposte qui sotto.

1. Problema 1 — Trova rank(D) per D = [[2, 4], [1, 2]]

Risposta: det(D) = (2)(2) - (4)(1) = 0, quindi rango < 2. R2 = R2 - 0.5R1 dà [0, 0]. Rimane solo 1 riga non nulla, quindi rank(D) = 1.

2. Problema 2 — Trova rank(E) per E = [[1, 0, 2], [0, 1, 1], [1, 1, 3]]

Risposta: R3 = R3 - R1 - R2 dà [1-1-0, 1-0-1, 3-2-1] = [0, 0, 0]. Le righe 1 e 2 restano non nulle e indipendenti (pivot nelle colonne 1 e 2), quindi rank(E) = 2.

3. Problema 3 — Il sistema x - y = 3 e 2x - 2y = 6 è compatibile, e qual è il rango della sua matrice dei coefficienti?

Risposta: la matrice dei coefficienti [[1, -1], [2, -2]] ha riga 2 = 2 × riga 1, quindi rango = 1. Anche la matrice aumentata [[1, -1 | 3], [2, -2 | 6]] ha riga 2 = 2 × riga 1 (colonna delle costanti inclusa), quindi anche il suo rango è 1. Poiché entrambi i ranghi sono uguali a 1, inferiore alle 2 incognite, il sistema è compatibile con infinite soluzioni — le due equazioni descrivono la stessa retta.

Verifica del tuo lavoro: ogni volta che un rango calcolato sembra troppo alto, riverifica riducendo completamente alla forma a scalini e confermando che ogni riga 'non nulla' abbia davvero un pivot non nullo.

Perché usare una calcolatrice del rango di una matrice per esercitarti passo passo?

La riduzione per righe a mano è facile da sbagliare nel mezzo di una matrice lunga — un errore di calcolo nella riga 2 si propaga a tutte le righe sottostanti. Una calcolatrice del rango di una matrice che mostra ogni passaggio dell'eliminazione ti permette di controllare il tuo lavoro riga per riga e individuare esattamente dove si è insinuato un errore, invece di vedere solo se il rango finale corrisponde. Il risolutore passo passo e il tutor AI di matematica di Solvify affrontano la riduzione per righe, le scorciatoie con il determinante e i problemi di rango allo stesso modo di questa guida, così puoi verificare i compiti, esercitarti per gli esami o sbloccarti su una matrice specifica senza perdere il ragionamento dietro ogni passaggio.

Tag:
linear algebraalgebracalculatorguide

Ottieni aiuto per i compiti ora

Unisciti a milioni di studenti che usano il nostro risolutore matematico AI. Ottieni soluzioni istantanee, spiegazioni passo-passo e supporto compiti 24/7.

Disponibile su dispositivi iOS e Android