Vai al contenuto principale

Forma a scala per righe spiegata: guida alla trasformazione delle matrici

Impara a usare le operazioni sulle righe per convertire le matrici in forma a scala per righe e risolvere sistemi di equazioni.
Aggiornato 29 set 2026  · 8 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Se hai iniziato a studiare algebra lineare per la data science, probabilmente hai sentito spesso parlare di "row echelon form".

La forma a scala per righe (REF) è una forma di matrice che aiuta a risolvere un sistema di equazioni lineari. Trasformando una matrice in questa forma speciale, possiamo determinare se un sistema ha soluzioni, trovarle e comprendere la struttura del sistema lineare.

In questo articolo vedremo cos'è la forma a scala per righe e in cosa differisce dalla forma a scala per righe ridotta. Tracceremo inoltre il processo passo dopo passo per trasformare le matrici usando le operazioni elementari sulle righe, impareremo a risolvere i sistemi lineari tramite sostituzione all'indietro e approfondiremo tecniche e concetti avanzati legati alla forma a scala per righe. 

Concetti chiave della forma a scala per righe

Vediamo cos'è la forma a scala per righe e i principali concetti che la riguardano.

Che cos'è la forma a scala per righe?

Una matrice è in forma a scala per righe quando soddisfa tre condizioni fondamentali:

  1. Tutte le righe composte interamente da zeri sono in fondo alla matrice
  2. L'elemento guida (primo elemento non nullo) di ogni riga non nulla compare alla destra dell'elemento guida della riga sopra
  3. Tutti gli elementi in una colonna al di sotto di un elemento guida sono zero

Questo crea un motivo a "scala" in cui gli elementi guida (detti pivot) scendono da sinistra a destra. 

Per esempio, questa matrice è in forma a scala per righe:

Forma a scala per righe.

Forma a scala per righe. (Immagine dell'autore)

Come si vede sopra, i pivot (2, 1 e 3) creano il motivo a scala, con zeri che riempiono lo spazio sotto ciascun pivot. Questa struttura rende semplice risolvere i sistemi tramite sostituzione all'indietro (come vedremo più avanti).

Forma a scala per righe ridotta (RREF)

La forma a scala per righe ridotta porta il concetto oltre aggiungendo due requisiti aggiuntivi:

  1. Ogni elemento guida deve essere 1
  2. Ogni 1 guida è l'unico elemento non nullo nella sua colonna

Ecco lo stesso sistema di sopra, dopo la trasformazione in RREF:

Forma a scala per righe ridotta.

Forma a scala per righe ridotta. (Immagine dell'autore)

Sebbene un sistema possa avere più forme a scala per righe, la forma a scala per righe ridotta è unica. 

Questa unicità rende la RREF utile per identificare la struttura degli insiemi di soluzioni, ma i passaggi computazionali aggiuntivi necessari per ottenere la RREF fanno sì che la normale forma a scala per righe, combinata con la sostituzione all'indietro, sia spesso più efficiente per risolvere i sistemi.

Operazioni elementari sulle righe per ottenere la forma a scala per righe

Esistono tre tipi di operazioni elementari sulle righe che preservano l'insieme delle soluzioni mentre trasformano le matrici.

Scambio di righe

Lo scambio di righe scambia due righe, utile quando dobbiamo posizionare un elemento non nullo come pivot:

R₁ ↔ R₂

Scalatura di una riga

La scalatura di una riga moltiplica tutti gli elementi di una riga per una costante non nulla, aiutando a normalizzare i valori dei pivot:

R₁ → cR₁ (where c ≠ 0)

Addizione di righe

L'addizione di righe sostituisce una riga con la somma di sé stessa e un multiplo di un'altra riga, utile per creare zeri sotto i pivot:

R₂ → R₂ + cR₁

Queste operazioni sono i mattoni dell'eliminazione di Gauss, l'algoritmo che ci consente di trasformare sistematicamente qualsiasi matrice in forma a scala per righe mantenendo lo stesso insieme di soluzioni.

Come trasformare una matrice in forma a scala per righe

Lavoriamo su un esempio passo dopo passo, in cui partiamo da un sistema lineare e lo riduciamo in forma a scala per righe.

Considera il sistema:

Sistema di equazioni lineari.

Sistema di equazioni lineari. (Immagine dell'autore)

Passo 1: scrivi la matrice aumentata

Per prima cosa creiamo la matrice aumentata combinando la matrice dei coefficienti con le costanti:

Creazione della matrice aumentata

Creazione della matrice aumentata (Immagine dell'autore)

Passo 2: crea il primo pivot

Vogliamo che l'elemento in alto a sinistra sia il nostro primo pivot. Anche se potremmo lavorare con 2, scambiare le righe per avere 1 come pivot semplifica i calcoli:

R₁ ↔ R₂

Creazione del primo pivot

Creazione del primo pivot (Immagine dell'autore)

Passo 3: elimina sotto il primo pivot

Ora creiamo zeri sotto il primo pivot sottraendo multipli appropriati della riga 1:

R₂ → R₂ - 2R₁
R₃ → R₃ - 3R₁

Eliminazione sotto il primo pivot.

Eliminazione sotto il primo pivot. (Immagine dell'autore)

Passo 4: crea il secondo pivot

Passando alla seconda colonna, possiamo semplificare scalando la riga 2:

R₂ → -½R₂

Creazione del secondo pivot.

Creazione del secondo pivot. (Immagine dell'autore)

Passo 5: elimina sotto il secondo pivot

Crea uno zero sotto il secondo pivot:

R₃ → R₃ + 7R₂

Eliminazione sotto il secondo pivot.

Eliminazione sotto il secondo pivot. (Immagine dell'autore)

La matrice è ora in forma a scala per righe! Possiamo identificarlo verificando i tre criteri:

  • Nessuna riga tutta zero (o sarebbero in fondo)
  • I pivot formano una scala: posizioni (1,1), (2,2) e (3,3)
  • Tutti gli elementi sotto ciascun pivot sono zero

Risoluzione di sistemi lineari usando la forma a scala per righe

Una volta che una matrice è in forma a scala per righe, possiamo estrarre le soluzioni usando la sostituzione all'indietro o analizzare le proprietà del sistema tramite il rango.

Forma a scala per righe per risolvere equazioni lineari

Con la matrice in forma a scala per righe, la sostituzione all'indietro ci aiuta a trovare i valori delle variabili partendo dall'ultima riga e risalendo. 

Usando il nostro esempio sopra:

Forma a scala per righe

Forma a scala per righe (Immagine dell'autore)

Dalla matrice aumentata, possiamo scrivere il sistema equivalente:

  • x + 3y + z = 11
  • y + 2z = 4
  • 12z = 6

Partendo dal basso: 

  • z = 6/12 = 1/2

Sostituendo nella seconda equazione: 

  • y + 2(1/2) = 4, quindi y = 3

Infine, sostituendo entrambi i valori: 

  • x + 3(3) + 1/2 = 11, ottenendo x = 3/2

Per i sistemi sottodeterminati (quando le variabili sono più delle equazioni), la forma a scala per righe rivela le variabili libere.

Vediamo un altro esempio di questo tipo:

Forma a scala per righe di sistemi sottodeterminati.

Forma a scala per righe di sistemi sottodeterminati. (Immagine dell'autore)

Qui, y è una variabile libera (nessun pivot nella colonna 2), che porta a una soluzione parametrica:

  • z = -1–2w
  • x = 5–2y + z — 3w = 5–2y — 1–5w = 4–2y — 5w

La soluzione può essere interpretata come un piano nello spazio 4D, parametrizzato da y e w.

Forma a scala per righe per trovare il rango

Il rango di una matrice è pari al numero di righe non nulle nella sua forma a scala per righe, che corrisponde al numero di pivot. 

Questo ci aiuta a comprendere lo spazio delle soluzioni:

  • Se il rango della matrice dei coefficienti A è uguale al rango della matrice aumentata [A∣b], ed entrambi sono uguali al numero di variabili n, allora il sistema ha un'unica soluzione.
  • Se i ranghi sono uguali ma inferiori al numero di variabili, ci sono infinite soluzioni a causa delle variabili libere.
  • Se il rango di A è minore del rango di [A∣b], il sistema è incompatibile e non ha soluzioni.

Questo approccio basato sulla forma a scala per righe ci permette di capire il comportamento di un sistema prima di risolverlo.

Argomenti avanzati: stabilità numerica e pivoting

Se ti interessano argomenti più avanzati legati alla REF, questa sezione esplora varie tecniche di pivoting usate durante la trasformazione delle matrici.

Nel calcolo della forma a scala per righe, la scelta del pivot influisce significativamente sulla precisione numerica. 

Capiremo questo con un esempio:

Esempio di stabilità numerica.

Esempio di stabilità numerica. (Immagine dell'autore)

Senza pivoting, possiamo dividere la seconda riga per 0,0001 per eliminare il pivot minuscolo:

R₂ → R₂ — (1/0.0001)R₁ = R₂ — 10,000R₁

Questa moltiplicazione per 10.000 amplifica qualsiasi errore di arrotondamento, potenzialmente compromettendo l'accuratezza della soluzione. 

Tuttavia, se prima scambiamo le righe, la matrice diventa:

Esempio di stabilità numerica.

Esempio di stabilità numerica. (Immagine dell'autore)

Ora ci basta R₂ → R₂ — 0,0001R₁, un'operazione molto più stabile che preserva la precisione numerica. Questa idea è alla base del pivoting parziale, ampiamente usato nel software numerico.

Pivoting parziale 

Il pivoting parziale seleziona l'elemento con valore assoluto più grande nella colonna corrente (a partire dalla riga corrente verso il basso) e scambia le righe per portare quel valore in posizione di pivot.

Nell'esempio seguente, elaborando la colonna 2:

Esempio di pivoting parziale.

Esempio di pivoting parziale. (Immagine dell'autore)

Il pivoting parziale scambierebbe le righe 2 e 3 per rendere -0,5 il pivot, poiché |−0,5| > |0,1|. Questa strategia migliora la stabilità ed è diventata standard nelle librerie numeriche come NumPy, SciPy e MATLAB.

Pivoting parziale scalato

Il pivoting parziale scalato aggiunge un passaggio in cui ciascun elemento candidato viene diviso per il valore assoluto più grande nella sua riga prima di scegliere il pivot.

Questo "fattore di scala" tiene conto della dimensione degli elementi in ogni riga, evitando bias verso righe con valori naturalmente grandi.

Pivoting completo

Nel pivoting completo, si scambiano sia righe sia colonne per garantire che il pivot sia il valore assoluto più grande nella sottomatrice rimanente (non solo nella colonna).

Sebbene questo produca il processo di eliminazione più stabile numericamente, ha un costo computazionale maggiore. Perciò è raramente usato in pratica, a meno che non sia necessaria un'estrema precisione, come nel calcolo simbolico o in simulazioni scientifiche critiche.

Forma a scala per righe vs. forma a scala per righe ridotta

Come abbiamo visto, entrambe le forme sono utili in algebra lineare, ma è anche importante sapere quando usare ciascuna forma.

La tabella seguente riassume le differenze tra le due forme:

Caratteristica

Forma a scala per righe (REF)

Forma a scala per righe ridotta (RREF)

Requisiti del pivot

Qualsiasi valore non nullo

Deve essere 1

Elementi sopra i pivot

Possono avere qualsiasi valore

Devono essere 0

Unicità

Non unica

Unica per ogni matrice

Costo computazionale

Inferiore (meno operazioni)

Superiore (passaggi aggiuntivi)

Metodo di soluzione

Richiede sostituzione all'indietro

Lettura diretta delle soluzioni

Caso d'uso ideale

Risoluzione rapida dei sistemi

Comprendere la struttura della soluzione

La forma a scala per righe è ideale quando dobbiamo risolvere rapidamente un sistema, specialmente per matrici di grandi dimensioni in cui le operazioni aggiuntive per la RREF sarebbero costose. È la forma preferita per algoritmi numerici come la decomposizione LU.

La forma a scala per righe ridotta è più adatta alla ricerca e alla teoria, quando serve comprendere direttamente la struttura fondamentale di una trasformazione lineare, trovare basi degli spazi di righe e colonne o identificare l'indipendenza lineare dei vettori. La rappresentazione unica la rende ideale per l'analisi teorica e la dimostrazione automatizzata di teoremi.

Conclusione

In questo articolo abbiamo visto come le operazioni elementari sulle righe possano trasformare le matrici preservando le soluzioni e abbiamo compreso le differenze tra REF e RREF. Inoltre, abbiamo appreso alcune strategie avanzate di pivoting e varianti della REF utili in scenari particolari.

Per approfondire la tua comprensione dell'algebra lineare e delle sue applicazioni nella data science, valuta l'iscrizione al nostro corso Linear Algebra for Data Science, dove approfondirai molti altri concetti e tecniche di algebra lineare insieme alle operazioni fondamentali sulle matrici.


Arunn Thevapalan's photo
Author
Arunn Thevapalan
LinkedIn
Twitter

Come senior data scientist, progetto, sviluppo e distribuisco soluzioni di machine learning su larga scala per aiutare le aziende a prendere decisioni migliori basate sui dati. Come autore nell'ambito della data science, condivido ciò che ho imparato, consigli di carriera e tutorial pratici approfonditi.

FAQ

Quali sono le tre condizioni perché una matrice sia in forma a scala per righe?

1) Tutte le righe di soli zeri sono in fondo; 2) L'elemento guida di ogni riga compare alla destra di quello della riga sopra; 3) Tutti gli elementi sotto un elemento guida sono zero.

Qual è la principale differenza tra forma a scala per righe (REF) e forma a scala per righe ridotta (RREF)?

La RREF ha due requisiti aggiuntivi: ogni elemento guida deve essere 1 e ogni 1 guida è l'unico elemento non nullo nella sua colonna. Mentre la REF può avere più forme, la RREF è unica per ogni matrice.

Quali sono le tre operazioni elementari sulle righe usate per trasformare le matrici?

Scambio di righe (scambiare due righe), scalatura di una riga (moltiplicare una riga per una costante non nulla) e addizione di righe (sostituire una riga con la somma di sé stessa e un multiplo di un'altra riga).

In che modo il rango di una matrice è legato alla sua forma a scala per righe?

Il rango è uguale al numero di righe non nulle (o pivot) nella forma a scala per righe, e ci informa sullo spazio delle soluzioni del sistema.

Come si risolve un sistema dopo aver raggiunto la forma a scala per righe?

Usa la sostituzione all'indietro iniziando dall'ultima riga per trovare il valore dell'ultima variabile, poi risali sostituendo per trovare ciascuna variabile precedente.

Argomenti
Data Science

Impara con DataCamp

Corso

Algebra lineare per la Data Science in R

4 ore
21.7K
Questo corso è un'introduzione all'algebra lineare, uno dei temi matematici più importanti alla base della scienza dei dati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro