Matrici a Gradini (REF e RREF): Guida Pratica, Esercizi Svolti e Applicazioni ai Sistemi Lineari

Cerca:

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
come ridurre una matrice in forma a gradini - differenza tra matrice REF e RREF

Chi studia algebra lineare prima o poi sbatte contro un muro fatto di righe, colonne e numeri all’apparenza disordinati. All’inizio sembra un enorme catalogo di regole astratte, ma la verità è che manipolare una matrice significa semplicemente fare ordine.

La riduzione a gradini (REF) e la sua versione ridotta (RREF) non sono solo un esercizio di stile, ma il motore che ci permette di risolvere sistemi complessi, trovare il rango e capire la struttura geometrica dei dati.

In questo articolo non ci limiteremo a darti i risultati pronti. Abbiamo costruito quattro esercizi progressivi: partiremo da matrici semplici per capire le regole del gioco, affronteremo i classici “trabocchetti” da esame, e arriveremo a calcolare lo spazio delle soluzioni di un sistema lineare.

Prendi carta e penna, cominciamo.

Pubblicità


Il Cuore del Confronto: REF vs RREF

La forma a gradini (REF) e la forma a gradini ridotta (RREF) non differiscono solo per estetica visiva: rappresentano i due momenti chiave del processo di eliminazione di Gauss‑Jordan.
Mentre il REF si ferma a metà strada, il RREF porta la semplificazione della struttura lineare al suo massimo livello possibile.

Caratteristica Forma a Gradini (REF) Forma a Gradini Ridotta (RREF)
Obiettivo Ordinare e semplificare la struttura. Normalizzare e isolare ogni variabile.
Operazioni Eliminazione in avanti (forward elimination). Eliminazione all’indietro (back substitution).
Valore dei Pivot Qualsiasi numero [math]\neq 0[/math]. Sempre uguale a [math]1[/math].
Sotto i Pivot Solo zeri ([math]0[/math]). Solo zeri ([math]0[/math]).
Sopra i Pivot Possono esserci valori non nulli. Solo zeri ([math]0[/math]).
Colonne NO‑pivot Qualsiasi valore. Qualsiasi valore.
Unicità No. Infinite forme equivalenti. Sì. È unica per ogni matrice.

Esempio di confronto REF vs RREF

Per rendere più chiaro il passaggio dalla forma a gradini a quella ridotta, consideriamo questo esempio semplice:

Matrice in forma a gradini (REF):

[math]\displaystyle \begin{pmatrix}
1 & 2 & 3 \\
0 & 1 & 4 \\
0 & 0 & 1
\end{pmatrix}[/math]

Matrice nella forma a gradini ridotta (RREF):

[math]\displaystyle \begin{pmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{pmatrix}[/math]

Osservazioni didattiche:

  • Nella REF i pivot sono già in posizione scalata (a destra rispetto al precedente) e tutti gli elementi sotto i pivot sono nulli.
  • Per passare alla RREF abbiamo dovuto:
    • Normalizzare i pivot a 1 (già erano 1 in questo caso).
    • Eliminare gli elementi sopra i pivot (eliminazione all’indietro).

 

Cosa Cambia Davvero?

Dietro alla disposizione dei numeri si nascondono tre implicazioni concettuali profonde:

  • Semplificare vs Risolvere: Il REF si ottiene eliminando verso il basso. Il RREF completa il ciclo eliminando verso l’alto. Ottenere il REF significa preparare il terreno; ottenere il RREF significa chiudere i conti.
  • Lettura immediata delle soluzioni: Se la matrice rappresenta un sistema lineare, con la forma REF devi ancora procedere a ritroso sostituendo le variabili una a una (sostituzione all’indietro). Con la forma RREF le soluzioni si leggono direttamente a schermo: ogni variabile dipendente è già isolata e slegata dalle altre.
  • Il “DNA” della matrice: Esistono infinite sequenze di operazioni sulle righe che producono forme REF diverse per la stessa matrice. La forma RREF, invece, è rigorosamente unica. Non importa quale strada o quale software deciderai di usare: la destinazione RREF sarà sempre la stessa. È l’identità matematica profonda della matrice.

Esercizio 1 – Riconoscere una matrice a gradini (facile)

Testo
La seguente matrice è scritta in forma a gradini (REF)? E in forma a gradini ridotta (RREF)? Motiva la risposta.

[math]A = \begin{pmatrix} 2 & -1 & 0 & 3 \\ 0 & 0 & 1 & 5 \\ 0 & 0 & 0 & 0 \end{pmatrix}[/math]

Soluzione

Passo 1 – Richiami teorici
Una matrice è in forma a gradini (REF) se:

  1. Tutte le righe nulle (se presenti) sono in fondo.
  2. Il primo elemento non nullo di ogni riga (detto pivot) si trova in una colonna a destra del pivot della riga precedente.

In forma a gradini ridotta (RREF) si richiede anche:

  1. Ogni pivot è uguale a 1.
  2. Ogni pivot è l’unico elemento non nullo della sua colonna.

Passo 2 – Analisi della matrice

  • Riga 1: primo elemento non nullo = 2 (colonna 1).
  • Riga 2: primo elemento non nullo = 1 (colonna 3). → colonna 3 > colonna 1, ok.
  • Riga 3: tutta nulla e posta alla fine.

Quindi la matrice soddisfa le condizioni del REF.

⚠️ Attenzione all’errore comune

Una matrice può essere a gradini, ma non per questo è “ridotta”. Per portare la matrice A in RREF basterebbe dividere la prima riga per 2 (rendendo il pivot unitario) e annullare gli eventuali altri elementi nella colonna.

Passo 3 – Verifica RREF
Pivot della riga 1 è 2 (non 1) → condizione 3 non rispettata.
Anche senza controllare la condizione 4, possiamo già concludere che non è in RREF.

Forse potrebbe interessarti anche:  A cosa servono le Matrici? 9 Esempi Reali (Instagram, AI, Videogiochi) e Calcoli Svolti

💡 Osservazione
Una matrice può essere a gradini ma non ridotta. Per ridurla basterebbe dividere la prima riga per 2 e poi eliminare gli eventuali altri elementi nella colonna del pivot (qui non ce ne sono).

Domanda di riflessione
Quale proprietà del REF garantisce che il numero di pivot sia uguale al rango della matrice?


Esercizio 2 – Ridurre una matrice a gradini (media difficoltà)

Testo
Data la matrice

[math]B = \begin{pmatrix} 0 & 2 & -1 & 3 \\ 0 & 0 & 0 & 5 \\ 0 & 0 & 1 & 2 \end{pmatrix}[/math]

  1. Trasforma [math]B[/math] in forma a gradini (REF) mediante operazioni elementari sulle righe.
  2. Trasforma il REF ottenuto in forma a gradini ridotta (RREF).
  3. Indica il rango di [math]B[/math] e i pivot.

Soluzione

Passo 1 – Ottenere il REF
La matrice ha una prima colonna tutta nulla. Cerchiamo la prima riga con primo elemento non nullo. La riga 1 ha primo elemento = 2 (colonna 2). La riga 2 ha pivot in colonna 4 (elemento 5). La riga 3 ha pivot in colonna 3 (elemento 1). Attenzione: l’ordine delle righe non è ancora a gradini perché il pivot della riga 3 (colonna 3) dovrebbe essere a destra del pivot della riga 2 (colonna 4)?

No, deve essere a destra del pivot della riga precedente. Quindi dobbiamo riordinare le righe in modo che i pivot procedano da sinistra a destra.

Scriviamo i pivot candidati con le loro colonne:

  • Riga 1: pivot in colonna 2 (valore 2)
  • Riga 2: pivot in colonna 4 (valore 5)
  • Riga 3: pivot in colonna 3 (valore 1)

Ordine corretto per colonne crescenti: colonna 2, poi colonna 3, poi colonna 4. Quindi scambiamo la riga 2 con la riga 3:

[math]\begin{pmatrix} 0 & 2 & -1 & 3 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 5 \end{pmatrix}[/math]

Ora la matrice è a gradini (REF):

  • Riga 1: pivot colonna 2 (2)
  • Riga 2: pivot colonna 3 (1)
  • Riga 3: pivot colonna 4 (5)

Tutte le righe non nulle, nessuna riga nulla in fondo.

Passo 2 – RREF
Partiamo dal REF:

[math]\begin{pmatrix} 0 & 2 & -1 & 3 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 5 \end{pmatrix}[/math]

  1. Rendiamo i pivot uguali a 1:
    Dividiamo la riga 1 per 2: [math]R_1 \leftarrow \frac12 R_1[/math] → [math](0, 1, -1/2, 3/2)[/math]
    Riga 2 già pivot 1.
    Dividiamo riga 3 per 5: [math]R_3 \leftarrow \frac15 R_3[/math] → [math](0,0,0,1)[/math]
  2. Ora rendiamo nulli gli altri elementi nelle colonne dei pivot (dal basso verso l’alto):
    Colonna 4 (pivot in riga 3, valore 1). Sopra di essa, nella riga 2 abbiamo 2 (colonna 4). Quindi [math]R_2 \leftarrow R_2 – 2R_3[/math]:
    Riga 2: [math](0,0,1,2) – 2\cdot(0,0,0,1) = (0,0,1,0)[/math]
    Nella riga 1 abbiamo 3/2 (colonna 4): [math]R_1 \leftarrow R_1 – \frac32 R_3[/math]:
    Riga 1: [math](0,1,-1/2,3/2) – \frac32(0,0,0,1) = (0,1,-1/2,0)[/math]
  3. Colonna 3 (pivot in riga 2, valore 1). Sopra di essa, riga 1 ha -1/2. Quindi [math]R_1 \leftarrow R_1 + \frac12 R_2[/math]:
    [math](0,1,-1/2,0) + \frac12(0,0,1,0) = (0,1,0,0)[/math]
  4. Colonna 2 (pivot in riga 1, valore 1). Non ci sono righe sopra.

La matrice RREF è:

[math]\begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}[/math]

Passo 3 – Rango e pivot
Il numero di pivot è 3, quindi il rango di [math]B[/math] è 3. I pivot si trovano nelle colonne 2, 3 e 4 della matrice originale (dopo le operazioni).

💡 Osservazione
Quando una matrice ha una colonna iniziale tutta nulla, il primo pivot non si trova nella prima colonna. È importante riordinare le righe per ottenere la forma a gradini.

Domanda di riflessione
Perché nella riduzione a RREF si opera dal basso verso l’alto per eliminare gli elementi sopra i pivot?


Esercizio 3 – Determinare se una matrice è in RREF (con pivot non unitari)

Testo
Stabilisci se la seguente matrice è in forma a gradini ridotta (RREF). In caso negativo, spiega quali condizioni non sono soddisfatte e applica le operazioni necessarie per ottenerla.

[math]C = \begin{pmatrix} 1 & 2 & 0 & 5 \\ 0 & 0 & 1 & -3 \\ 0 & 0 & 0 & 0 \end{pmatrix}[/math]

Soluzione

Analisi
– Righe: la terza riga è nulla ed è in fondo (ok).
– Riga 1: pivot = 1 (colonna 1).
– Riga 2: pivot = 1 (colonna 3). Colonna 3 > colonna 1 (ok).
– Verifichiamo che ogni pivot sia l’unico elemento non nullo della sua colonna:
Colonna 1: pivot = 1, sopra nessuno, sotto nella riga 2 c’è 0, ok.
Colonna 3: pivot = 1, sopra nella riga 1 c’è 0, sotto nella riga 3 c’è 0, ok.
– Quindi la matrice è già in RREF.

💡 Osservazione
La presenza di elementi non nulli nelle colonne dei pivot (diversi dal pivot stesso) è vietata. Qui nella colonna del primo pivot (colonna 1) non ci sono altri numeri; nella colonna del secondo pivot (colonna 3) non ci sono altri numeri. Il fatto che nella riga 1 ci sia un 2 nella colonna 2 non crea problemi perché la colonna 2 non è una colonna di pivot.

Forse potrebbe interessarti anche:  Tutorial NumPy: Algebra Lineare con NumPy e Applicazioni Pratiche

Domanda di riflessione
Se una matrice è in RREF, cosa si può dire delle soluzioni di un sistema lineare [math]C\mathbf{x} = \mathbf{b}[/math] (quando compatibile)?


Esercizio 4 – Da una matrice a gradini alla soluzione di un sistema

Testo
Data la matrice a gradini (REF) seguente (già con pivot unitari ma non ridotta):

[math]\displaystyle D = \begin{pmatrix}
1 & 2 & -1 & 0 & 3 \\
0 & 1 & 3 & 2 & -1 \\
0 & 0 & 0 & 1 & 4
\end{pmatrix}[/math]

  1. Trasforma [math]D[/math] in forma a gradini ridotta (RREF).
  2. Scrivi il sistema lineare omogeneo associato ([math]D\mathbf{x}=0[/math]) e determina lo spazio delle soluzioni.
  3. Qual è la dimensione dello spazio delle soluzioni?

Soluzione

Passo 1 – Ottenere la RREF

La matrice ha già i pivot uguali a 1 nelle colonne 1, 2 e 4. Dobbiamo eliminare gli elementi sopra i pivot (quelli sotto sono già nulli).

  • Colonna 4 (pivot in riga 3):
    Nella riga 2 c’è un 2 → [math]R_2 \leftarrow R_2 – 2R_3[/math]
    [math](0,1,3,2,-1) – 2(0,0,0,1,4) = (0,1,3,0,-9)[/math]
  • Colonna 2 (pivot in riga 2):
    Nella riga 1 c’è un 2 → [math]R_1 \leftarrow R_1 – 2R_2[/math] (usando la nuova riga 2)
    [math](1,2,-1,0,3) – 2(0,1,3,0,-9) = (1,0,-7,0,21)[/math]
  • Colonna 1: nessun elemento da eliminare sopra.

La matrice RREF è quindi:

[math]\displaystyle \begin{pmatrix}
1 & 0 & -7 & 0 & 21 \\
0 & 1 & 3 & 0 & -9 \\
0 & 0 & 0 & 1 & 4
\end{pmatrix}[/math]

Nota importante: la colonna 3 non è una colonna di pivot, quindi può contenere qualsiasi valore (in questo caso -7 e 3). Questo è corretto per la RREF.

Passo 2 – Sistema omogeneo [math]D\mathbf{x} = 0[/math]

Variabili: [math]x_1, x_2, x_3, x_4, x_5[/math]

Pivot columns: 1, 2, 4 → variabili dipendenti ([math]x_1, x_2, x_4[/math])
Free columns: 3 e 5 → variabili libere ([math]x_3 = t[/math], [math]x_5 = s[/math], [math]t,s \in \mathbb{R}[/math])

Dal RREF ricaviamo:

[math]\begin{cases}
x_1 -7x_3 + 21x_5 = 0 \\
x_2 + 3x_3 -9x_5 = 0 \\
x_4 + 4x_5 = 0
\end{cases}[/math]

Quindi:

  • [math]x_1 = 7t – 21s[/math]
  • [math]x_2 = -3t + 9s[/math]
  • [math]x_3 = t[/math]
  • [math]x_4 = -4s[/math]
  • [math]x_5 = s[/math]

Soluzione generale:

[math]\displaystyle \mathbf{x} = t \begin{pmatrix} 7 \\ -3 \\ 1 \\ 0 \\ 0 \end{pmatrix} + s \begin{pmatrix} -21 \\ 9 \\ 0 \\ -4 \\ 1 \end{pmatrix}, \quad t,s \in \mathbb{R}[/math]

Passo 3 – Dimensione dello spazio delle soluzioni

La dimensione del nucleo (spazio delle soluzioni) è 2, pari al numero di variabili libere (o equivalentemente [math]n – r = 5 – 3 = 2[/math], dove [math]r[/math] è il rango).

💡 Osservazione
Il rango di [math]D[/math] è 3 (numero di pivot). Il numero di colonne è 5. Per il teorema di struttura, la dimensione del nucleo (soluzioni di [math]D\mathbf{x}=0[/math]) è [math]n – \text{rango} = 5 – 3 = 2[/math].

Domanda di riflessione
Perché nella riduzione a RREF è importante annullare gli elementi sopra i pivot solo dopo aver reso i pivot uguali a 1 e aver annullato quelli sotto? Quale vantaggio si ottiene?


Risposte alle domande di riflessione

Esercizio 1
Il numero di pivot è il numero di righe linearmente indipendenti, e il rango è proprio la massima cardinalità di un insieme di righe indipendenti. La definizione di REF garantisce che i pivot siano in colonne distinte e che le righe non nulle siano linearmente indipendenti (ogni riga ha un pivot in una colonna dove le righe successive hanno zero). Quindi il numero di pivot coincide con il rango.

Esercizio 2
Si opera dal basso verso l’alto perché nella parte bassa della matrice i pivot sono già stati normalizzati a 1 e gli elementi sotto di essi sono già nulli (grazie alla forma a gradini). Eliminando prima gli elementi sopra i pivot più a destra si evitano di dover riaggiustare successivamente colonne già elaborate. È una strategia efficiente che garantisce di non introdurre nuovi elementi non nulli nelle colonne già ridotte.

Esercizio 3
Se una matrice è in RREF, le soluzioni di un sistema compatibile si leggono immediatamente: le variabili corrispondenti ai pivot (variabili dipendenti) sono espresse linearmente in funzione delle variabili libere (colonne senza pivot). In particolare, se il sistema è omogeneo, lo spazio delle soluzioni ha dimensione pari al numero di colonne senza pivot.

Esercizio 4
Annullare prima gli elementi sotto i pivot e poi normalizzare i pivot a 1 rende più semplice l’eliminazione verso l’alto perché si parte da una matrice già a gradini con pivot unitari. Se si annullassero prima gli elementi sopra, si potrebbero alterare i pivot stessi o introdurre elementi non nulli nelle colonne dei pivot già sistemate. L’ordine standard (prima rendere i pivot unitari e annullare sotto, poi risalire) è il metodo più sistematico.

Forse potrebbe interessarti anche:  Matrici in Python: Guida Pratica con Esercizi di Logica e Data Analysis

⚠️ Errori Tipici da Esame (Per non cadere nei soliti tranelli)

Ridurre una matrice è un processo quasi magnetico: basta una distrazione per trascinarsi un errore di segno fino alla fine. Ecco la mappa dei passi falsi più comuni da evitare assolutamente:

  • L’inversione cronologica (Il peccato originale): Cercare di azzerare gli elementi sopra un pivot prima di aver azzerato quelli sotto o prima di aver reso il pivot uguale a [math]1[/math]. Questo genera un effetto domino che distrugge il lavoro già fatto, introducendo nuovi numeri dove c’erano gli zeri.
  • La fobia degli elementi liberi: Confondere le colonne senza pivot con un errore. Se una colonna non ha un pivot (come la colonna 2 nell’Esercizio 3), può contenere qualsiasi numero. La RREF impone che siano nulli solo gli elementi sopra e sotto i pivot, non gli altri.
  • Il miraggio del segno meno: Sbagliare i calcoli durante le combinazioni lineari, specialmente con le sottrazioni. Un’operazione come [math]R_2 \leftarrow R_2 – (-3)R_1[/math] diventa una somma. Scrivere esplicitamente i passaggi intermedi a margine del foglio salva il punteggio.
  • Dimenticare lo scambio di riga: Ostinarsi a usare un elemento nullo come pivot solo perché si trova sulla diagonale principale. Se sotto quell’elemento c’è un numero diverso da zero, le righe vanno scambiate immediatamente.

Dietro le quinte: Perché questi esercizi simulano il lavoro di un algoritmo?

Se guardiamo questa sequenza di esercizi con gli occhi di un programmatore, noteremo che ricalcano esattamente la logica di macchine e software (come NumPy in Python) quando elaborano enormi moli di dati.

  • L’Esercizio 1 è la Validation: il computer controlla se i dati in ingresso rispettano già i vincoli strutturali.
  • L’Esercizio 2 è il Core Processing: l’applicazione meccanica dell’eliminazione di Gauss‑Jordan. Hai notato che abbiamo operato “dal basso verso l’alto” per la RREF? I computer fanno lo stesso (back‑substitution) perché è computazionalmente più economico e riduce drasticamente gli errori di arrotondamento sui numeri a virgola mobile.
  • L’Esercizio 3 è il classico Unit Test o caso limite (edge case): serve a verificare che l’algoritmo non vada in blocco se incontra numeri diversi da zero nelle colonne delle variabili libere.
  • L’Esercizio 4 è l’Output finale: tradurre la griglia numerica in informazione utile, ovvero estrarre lo Spazio Nullo (o Kernel) che descrive, ad esempio, i gradi di libertà di un sistema meccanico o le ridondanze in un set di dati.

Come Pensa un Algoritmo

Quando inserisci una matrice su MATLAB, NumPy o qualsiasi software di calcolo, la macchina non “vede” lo spazio geometrico, né prova l’intuizione che guida un essere umano. Esegue un ciclo (un loop nidificato) freddo, spietato e sequenziale.

Mentre uno studente cerca la strada che sembra richiedere meno frazioni, l’algoritmo applica sempre la stessa identica scansione:

  1. Trova la prima colonna non nulla da sinistra.

  2. Sceglie l’elemento più grande in valore assoluto (tecnica del pivoting parziale) e lo sposta in alto per ridurre gli errori di arrotondamento della memoria del computer.

  3. Trasforma il pivot in 1 e azzera tutto ciò che sta sotto.

  4. Passa alla riga successiva e ricomincia.

Questo ci ricorda una verità fondamentale che spesso si perde dietro ai fogli pieni di calcoli: l’algebra lineare non è un insieme di regole: è un linguaggio per descrivere trasformazioni. Gli algoritmi non fanno altro che applicarlo in modo sistematico.

Pubblicità