Introduzione alla Decomposizione delle Matrici
La risoluzione di sistemi come Ax=b può essere computazionalmente onerosa, specialmente per sistemi di grandi dimensioni.
La decomposizione di matrici semplifica questo processo scomponendo la matrice A in parti più semplici - che possono poi essere risolte in fasi successive.
LU vs QR
La matrice A viene scomposta in altre matrici strutturate.
Decomposizione LU
Scomposizione di A in una matrice triangolare inferiore e una superiore:
- Costruita tramite eliminazione di Gauss;
- Funziona meglio per matrici quadrate.
Decomposizione QR
Scomposizione di A in una matrice ortogonale e una superiore:
- Spesso utilizzata per matrici non quadrate;
- Ideale per problemi ai minimi quadrati o quando la LU non è applicabile.
Decomposizione LU
Si parte da una matrice quadrata:
A=[4633]L'obiettivo è scrivere questa matrice come:
A=LUDove:
L=[1l2101], U=[u110u12u22]Questa decomposizione è possibile se A è quadrata e invertibile.
Punti importanti:
- Le matrici triangolari inferiori hanno tutti gli elementi sopra la diagonale uguali a zero, semplificando la sostituzione in avanti;
- Le matrici triangolari superiori hanno zeri sotto la diagonale, rendendo immediata la sostituzione all'indietro;
- Una matrice ortogonale ha colonne che sono vettori ortonormali (vettori di lunghezza 1 e perpendicolari tra loro);
- Questa proprietà preserva la lunghezza e gli angoli dei vettori, utile nella risoluzione dei minimi quadrati e nel miglioramento della stabilità numerica.
Eliminazione di Gauss
Applicare l'eliminazione di Gauss per eliminare l'elemento sotto il pivot in alto a sinistra:
R2→R2−46R1Questo ci dà:
R2′=[0,−1.5]Quindi le matrici aggiornate diventano:
U=[403−1.5]E dall'operazione sulle righe, sappiamo che:
L=[11.501]Punti importanti:
- L'eliminazione di Gauss elimina sistematicamente gli elementi sotto il pivot in ogni colonna sottraendo versioni scalate della riga del pivot dalle righe sottostanti;
- Questo processo trasforma A in una matrice triangolare superiore U;
- I moltiplicatori utilizzati per eliminare questi elementi sono memorizzati in L, permettendo di rappresentare A come il prodotto LU.
Risultato della Decomposizione LU
Verifica:
A=LU=[11.501][403−1.5]=[4633]Ora il sistema Ax=b può essere risolto in due passaggi:
- Risolvere Ly=b tramite sostituzione in avanti;
- Risolvere Ux=y tramite sostituzione all'indietro.
Decomposizione QR
Si vuole esprimere una matrice A come prodotto di due matrici:
A=QRDove:
- A è la matrice di input (ad esempio dati, coefficienti, ecc.);
- Q è una matrice ortogonale (le sue colonne sono vettori ortonormali);
- R è una matrice triangolare superiore.
Esempio di scomposizione delle forme:
A=[a1a3a2a4]=[q1q3q2q4][r110r12r22]Questa decomposizione viene spesso utilizzata quando:
- La matrice A non è quadrata;
- Si risolvono problemi ai minimi quadrati;
- La decomposizione LU non è stabile.
Cosa sono i vettori ortonormali?
Vettori ortogonali
Due vettori u,v sono ortogonali se il loro prodotto scalare è zero:
u⋅v=0Vettore normalizzato
Un vettore u è normalizzato quando ∣u∣=1.
Insieme ortonormale
Un insieme di vettori {q1,q2,...,qk} è ortonormale se ciascuno ha lunghezza unitaria ed è mutuamente ortogonale:
qi⋅qj={1, se i=j,0, se i=j.Perché è importante: colonne ortonormali in Q preservano la geometria, semplificano le proiezioni e migliorano la stabilità numerica.
Definizione della matrice A
Partiamo da questo esempio:
A=[4633]Utilizzeremo il processo di Gram-Schmidt per trovare le matrici Q e R tali che A=QR. Il processo di Gram-Schmidt crea un insieme ortonormale di vettori a partire dalle colonne di A.
Questo significa che i vettori in Q sono tutti perpendicolari (ortogonali) tra loro e hanno lunghezza unitaria (normalizzati). Questa proprietà semplifica molti calcoli e migliora la stabilità numerica nella risoluzione dei sistemi.
Quindi, l'obiettivo qui è:
- Rendere le colonne di Q ortonormali;
- Creare la matrice R che codificherà le proiezioni.
Calcolo del primo vettore base
Estraiamo la prima colonna di A:
a1=[46]Per normalizzarla, calcoliamo la norma:
∣a1∣=42+62=16+36=52Poi:
q1=521[46]=[524526]Questo è il primo vettore ortonormale per Q.
Come normalizzare un vettore
Dato un vettore:
v=v1v2⋮vnCalcoliamo la sua norma:
∣v∣=v12+v22+...+vn2Poi normalizziamo:
v^=∣v∣1vEsempio:
v=[34], ∣v∣=32+42=5Quindi, il nostro vettore normalizzato è:
v^=51[34]=[0.60.8]Una volta che sappiamo come normalizzare e ortogonalizzare i vettori, possiamo applicare il processo di Gram-Schmidt per formare la matrice Q e utilizzarla per calcolare R nella decomposizione QR.
Calcolo di q₂ con Gram-Schmidt
Per calcolare q2, si parte dalla seconda colonna di A:
a2=[33]Successivamente, si proietta a2 su q1:
r12=q1Ta2=521(4⋅3+6⋅3)=521⋅30Si rimuove la proiezione da a2:
u2=a2−r12q1Poi si normalizza (come mostrato sopra):
q2=∣u2∣u2Ora sia q1 che q2 formano la base ortonormale per Q. Si può ora assemblare il risultato finale:
Q=[q1q2], R=[r110r12r22]Questi soddisfano:
A=QRGrazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 1.96
Introduzione alla Decomposizione delle Matrici
Scorri per mostrare il menu
La risoluzione di sistemi come Ax=b può essere computazionalmente onerosa, specialmente per sistemi di grandi dimensioni.
La decomposizione di matrici semplifica questo processo scomponendo la matrice A in parti più semplici - che possono poi essere risolte in fasi successive.
LU vs QR
La matrice A viene scomposta in altre matrici strutturate.
Decomposizione LU
Scomposizione di A in una matrice triangolare inferiore e una superiore:
- Costruita tramite eliminazione di Gauss;
- Funziona meglio per matrici quadrate.
Decomposizione QR
Scomposizione di A in una matrice ortogonale e una superiore:
- Spesso utilizzata per matrici non quadrate;
- Ideale per problemi ai minimi quadrati o quando la LU non è applicabile.
Decomposizione LU
Si parte da una matrice quadrata:
A=[4633]L'obiettivo è scrivere questa matrice come:
A=LUDove:
L=[1l2101], U=[u110u12u22]Questa decomposizione è possibile se A è quadrata e invertibile.
Punti importanti:
- Le matrici triangolari inferiori hanno tutti gli elementi sopra la diagonale uguali a zero, semplificando la sostituzione in avanti;
- Le matrici triangolari superiori hanno zeri sotto la diagonale, rendendo immediata la sostituzione all'indietro;
- Una matrice ortogonale ha colonne che sono vettori ortonormali (vettori di lunghezza 1 e perpendicolari tra loro);
- Questa proprietà preserva la lunghezza e gli angoli dei vettori, utile nella risoluzione dei minimi quadrati e nel miglioramento della stabilità numerica.
Eliminazione di Gauss
Applicare l'eliminazione di Gauss per eliminare l'elemento sotto il pivot in alto a sinistra:
R2→R2−46R1Questo ci dà:
R2′=[0,−1.5]Quindi le matrici aggiornate diventano:
U=[403−1.5]E dall'operazione sulle righe, sappiamo che:
L=[11.501]Punti importanti:
- L'eliminazione di Gauss elimina sistematicamente gli elementi sotto il pivot in ogni colonna sottraendo versioni scalate della riga del pivot dalle righe sottostanti;
- Questo processo trasforma A in una matrice triangolare superiore U;
- I moltiplicatori utilizzati per eliminare questi elementi sono memorizzati in L, permettendo di rappresentare A come il prodotto LU.
Risultato della Decomposizione LU
Verifica:
A=LU=[11.501][403−1.5]=[4633]Ora il sistema Ax=b può essere risolto in due passaggi:
- Risolvere Ly=b tramite sostituzione in avanti;
- Risolvere Ux=y tramite sostituzione all'indietro.
Decomposizione QR
Si vuole esprimere una matrice A come prodotto di due matrici:
A=QRDove:
- A è la matrice di input (ad esempio dati, coefficienti, ecc.);
- Q è una matrice ortogonale (le sue colonne sono vettori ortonormali);
- R è una matrice triangolare superiore.
Esempio di scomposizione delle forme:
A=[a1a3a2a4]=[q1q3q2q4][r110r12r22]Questa decomposizione viene spesso utilizzata quando:
- La matrice A non è quadrata;
- Si risolvono problemi ai minimi quadrati;
- La decomposizione LU non è stabile.
Cosa sono i vettori ortonormali?
Vettori ortogonali
Due vettori u,v sono ortogonali se il loro prodotto scalare è zero:
u⋅v=0Vettore normalizzato
Un vettore u è normalizzato quando ∣u∣=1.
Insieme ortonormale
Un insieme di vettori {q1,q2,...,qk} è ortonormale se ciascuno ha lunghezza unitaria ed è mutuamente ortogonale:
qi⋅qj={1, se i=j,0, se i=j.Perché è importante: colonne ortonormali in Q preservano la geometria, semplificano le proiezioni e migliorano la stabilità numerica.
Definizione della matrice A
Partiamo da questo esempio:
A=[4633]Utilizzeremo il processo di Gram-Schmidt per trovare le matrici Q e R tali che A=QR. Il processo di Gram-Schmidt crea un insieme ortonormale di vettori a partire dalle colonne di A.
Questo significa che i vettori in Q sono tutti perpendicolari (ortogonali) tra loro e hanno lunghezza unitaria (normalizzati). Questa proprietà semplifica molti calcoli e migliora la stabilità numerica nella risoluzione dei sistemi.
Quindi, l'obiettivo qui è:
- Rendere le colonne di Q ortonormali;
- Creare la matrice R che codificherà le proiezioni.
Calcolo del primo vettore base
Estraiamo la prima colonna di A:
a1=[46]Per normalizzarla, calcoliamo la norma:
∣a1∣=42+62=16+36=52Poi:
q1=521[46]=[524526]Questo è il primo vettore ortonormale per Q.
Come normalizzare un vettore
Dato un vettore:
v=v1v2⋮vnCalcoliamo la sua norma:
∣v∣=v12+v22+...+vn2Poi normalizziamo:
v^=∣v∣1vEsempio:
v=[34], ∣v∣=32+42=5Quindi, il nostro vettore normalizzato è:
v^=51[34]=[0.60.8]Una volta che sappiamo come normalizzare e ortogonalizzare i vettori, possiamo applicare il processo di Gram-Schmidt per formare la matrice Q e utilizzarla per calcolare R nella decomposizione QR.
Calcolo di q₂ con Gram-Schmidt
Per calcolare q2, si parte dalla seconda colonna di A:
a2=[33]Successivamente, si proietta a2 su q1:
r12=q1Ta2=521(4⋅3+6⋅3)=521⋅30Si rimuove la proiezione da a2:
u2=a2−r12q1Poi si normalizza (come mostrato sopra):
q2=∣u2∣u2Ora sia q1 che q2 formano la base ortonormale per Q. Si può ora assemblare il risultato finale:
Q=[q1q2], R=[r110r12r22]Questi soddisfano:
A=QRGrazie per i tuoi commenti!