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
Can you explain the main differences between LU and QR decomposition?
How do I know when to use LU decomposition versus QR decomposition?
Can you walk me through the steps of the Gram-Schmidt process in more detail?
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!