Introduktion till Matrisuppdelning
Att lösa system som Ax=b kan vara beräkningsmässigt krävande, särskilt för stora system.
Matrisuppdelning förenklar denna process genom att dela upp matrisen A i enklare delar – vilka vi sedan kan lösa stegvis.
LU vs QR
Vi dekomponerar matrisen A i andra strukturerade matriser.
LU-uppdelning
Delar upp A i en nedre och övre triangulär matris:
- Byggs med Gausselimination;
- Fungerar bäst för kvadratiska matriser.
QR-uppdelning
Delar upp A i en ortogonal och övre matris:
- Används ofta för icke-kvadratiska matriser;
- Idealisk för minsta kvadratproblem eller när LU misslyckas.
LU-uppdelning
Börja med en kvadratisk matris:
A=[4633]Målet är att skriva detta som:
A=LUDär:
L=[1l2101], U=[u110u12u22]Denna uppdelning är möjlig om A är kvadratisk och inverterbar.
Viktiga punkter:
- Nedre triangulära matriser har alla nollor ovanför diagonalen, vilket förenklar framåt substitution;
- Övre triangulära matriser har nollor under diagonalen, vilket gör bakåt substitution enkel;
- En ortogonal matris har kolumner som är ortonormala vektorer (vektorer med längd 1 som är vinkelräta);
- Denna egenskap bevarar vektorlängd och vinklar, vilket är användbart vid lösning av minsta kvadratproblem och förbättrar numerisk stabilitet.
Gausselimination
Tillämpa Gausselimination för att eliminera elementet under det övre vänstra pivotelementet:
R2→R2−46R1Detta ger oss:
R2′=[0,−1.5]Så de uppdaterade matriserna blir:
U=[403−1.5]Och från vår radoperation vet vi:
L=[11.501]Viktiga punkter:
- Gausselimination eliminerar systematiskt element under pivotelementet i varje kolumn genom att subtrahera skalade versioner av pivotraden från raderna under;
- Denna process transformerar A till en övre triangulär matris U;
- De multiplikatorer som används för att eliminera dessa element lagras i L, vilket gör det möjligt att representera A som produkten LU.
LU-faktoriseringens resultat
Vi verifierar:
A=LU=[11.501][403−1.5]=[4633]Nu kan systemet Ax=b lösas i två steg:
- Lös Ly=b med framåtsubstitution;
- Lös Ux=y med bakåtsubstitution.
QR-faktorisering
Vi vill uttrycka en matris A som en produkt av två matriser:
A=QRDär:
- A är din inmatningsmatris (t.ex. data, koefficienter, etc.);
- Q är en ortogonal matris (dess kolumner är ortonormala vektorer);
- R är en övre triangulär matris.
Ett exempel på formuppdelning:
A=[a1a3a2a4]=[q1q3q2q4][r110r12r22]Denna faktorisering används ofta när:
- Matrisen A är inte kvadratisk;
- Lösning av minsta kvadratproblem;
- LU-faktorisering är instabil.
Vad är ortonormala vektorer?
Ortogonala vektorer
Två vektorer u,v är ortogonala om deras skalärprodukt är noll:
u⋅v=0Normaliserad vektor
En vektor u är normaliserad när ∣u∣=1.
Ortonormalt system
En mängd vektorer {q1,q2,...,qk} är ortonormal om varje vektor har längd ett och de är ömsesidigt ortogonala:
qi⋅qj={1, om i=j,0, om i=j.Varför det är viktigt: ortonormala kolumner i Q bevarar geometri, förenklar projektioner och förbättrar numerisk stabilitet.
Definiera matrisen A
Vi börjar med detta exempel:
A=[4633]Vi kommer att använda Gram-Schmidt-processen för att hitta matriserna Q och R så att A=QR. Gram-Schmidt-processen skapar ett ortonormalt system av vektorer från kolumnerna i A.
Detta innebär att vektorerna i Q är ortogonala mot varandra och har längd ett (normaliserade). Denna egenskap förenklar många beräkningar och förbättrar numerisk stabilitet vid lösning av ekvationssystem.
Målet här är att:
- Göra kolumnerna i Q ortonormala;
- Skapa matrisen R som kommer att representera projektionerna.
Beräkna första basvektorn
Vi tar ut den första kolumnen i A:
a1=[46]För att normalisera denna beräknar vi normen:
∣a1∣=42+62=16+36=52Sedan:
q1=521[46]=[524526]Detta är den första ortonormala vektorn för Q.
Hur man normaliserar en vektor
Givet en vektor:
v=v1v2⋮vnVi beräknar dess norm:
∣v∣=v12+v22+...+vn2Sedan normaliserar vi:
v^=∣v∣1vExempel:
v=[34], ∣v∣=32+42=5Så vår normaliserade vektor är:
v^=51[34]=[0.60.8]När vi vet hur man normaliserar och ortogonaliserar vektorer kan vi använda Gram-Schmidt-processen för att bilda matrisen Q och använda den för att beräkna R i QR-splittringen.
Beräkna q₂ med Gram-Schmidt
För att beräkna q2 börjar vi med den andra kolumnen i A:
a2=[33]Därefter projiceras a2 på q1:
r12=q1Ta2=521(4⋅3+6⋅3)=521⋅30Ta bort projektionen från a2:
u2=a2−r12q1Normalisera sedan (som visats ovan):
q2=∣u2∣u2Nu bildar både q1 och q2 den ortonormala basen för Q. Slutligen sammanställs det slutliga resultatet:
Q=[q1q2], R=[r110r12r22]Dessa uppfyller:
A=QRTack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Introduktion till Matrisuppdelning
Svep för att visa menyn
Att lösa system som Ax=b kan vara beräkningsmässigt krävande, särskilt för stora system.
Matrisuppdelning förenklar denna process genom att dela upp matrisen A i enklare delar – vilka vi sedan kan lösa stegvis.
LU vs QR
Vi dekomponerar matrisen A i andra strukturerade matriser.
LU-uppdelning
Delar upp A i en nedre och övre triangulär matris:
- Byggs med Gausselimination;
- Fungerar bäst för kvadratiska matriser.
QR-uppdelning
Delar upp A i en ortogonal och övre matris:
- Används ofta för icke-kvadratiska matriser;
- Idealisk för minsta kvadratproblem eller när LU misslyckas.
LU-uppdelning
Börja med en kvadratisk matris:
A=[4633]Målet är att skriva detta som:
A=LUDär:
L=[1l2101], U=[u110u12u22]Denna uppdelning är möjlig om A är kvadratisk och inverterbar.
Viktiga punkter:
- Nedre triangulära matriser har alla nollor ovanför diagonalen, vilket förenklar framåt substitution;
- Övre triangulära matriser har nollor under diagonalen, vilket gör bakåt substitution enkel;
- En ortogonal matris har kolumner som är ortonormala vektorer (vektorer med längd 1 som är vinkelräta);
- Denna egenskap bevarar vektorlängd och vinklar, vilket är användbart vid lösning av minsta kvadratproblem och förbättrar numerisk stabilitet.
Gausselimination
Tillämpa Gausselimination för att eliminera elementet under det övre vänstra pivotelementet:
R2→R2−46R1Detta ger oss:
R2′=[0,−1.5]Så de uppdaterade matriserna blir:
U=[403−1.5]Och från vår radoperation vet vi:
L=[11.501]Viktiga punkter:
- Gausselimination eliminerar systematiskt element under pivotelementet i varje kolumn genom att subtrahera skalade versioner av pivotraden från raderna under;
- Denna process transformerar A till en övre triangulär matris U;
- De multiplikatorer som används för att eliminera dessa element lagras i L, vilket gör det möjligt att representera A som produkten LU.
LU-faktoriseringens resultat
Vi verifierar:
A=LU=[11.501][403−1.5]=[4633]Nu kan systemet Ax=b lösas i två steg:
- Lös Ly=b med framåtsubstitution;
- Lös Ux=y med bakåtsubstitution.
QR-faktorisering
Vi vill uttrycka en matris A som en produkt av två matriser:
A=QRDär:
- A är din inmatningsmatris (t.ex. data, koefficienter, etc.);
- Q är en ortogonal matris (dess kolumner är ortonormala vektorer);
- R är en övre triangulär matris.
Ett exempel på formuppdelning:
A=[a1a3a2a4]=[q1q3q2q4][r110r12r22]Denna faktorisering används ofta när:
- Matrisen A är inte kvadratisk;
- Lösning av minsta kvadratproblem;
- LU-faktorisering är instabil.
Vad är ortonormala vektorer?
Ortogonala vektorer
Två vektorer u,v är ortogonala om deras skalärprodukt är noll:
u⋅v=0Normaliserad vektor
En vektor u är normaliserad när ∣u∣=1.
Ortonormalt system
En mängd vektorer {q1,q2,...,qk} är ortonormal om varje vektor har längd ett och de är ömsesidigt ortogonala:
qi⋅qj={1, om i=j,0, om i=j.Varför det är viktigt: ortonormala kolumner i Q bevarar geometri, förenklar projektioner och förbättrar numerisk stabilitet.
Definiera matrisen A
Vi börjar med detta exempel:
A=[4633]Vi kommer att använda Gram-Schmidt-processen för att hitta matriserna Q och R så att A=QR. Gram-Schmidt-processen skapar ett ortonormalt system av vektorer från kolumnerna i A.
Detta innebär att vektorerna i Q är ortogonala mot varandra och har längd ett (normaliserade). Denna egenskap förenklar många beräkningar och förbättrar numerisk stabilitet vid lösning av ekvationssystem.
Målet här är att:
- Göra kolumnerna i Q ortonormala;
- Skapa matrisen R som kommer att representera projektionerna.
Beräkna första basvektorn
Vi tar ut den första kolumnen i A:
a1=[46]För att normalisera denna beräknar vi normen:
∣a1∣=42+62=16+36=52Sedan:
q1=521[46]=[524526]Detta är den första ortonormala vektorn för Q.
Hur man normaliserar en vektor
Givet en vektor:
v=v1v2⋮vnVi beräknar dess norm:
∣v∣=v12+v22+...+vn2Sedan normaliserar vi:
v^=∣v∣1vExempel:
v=[34], ∣v∣=32+42=5Så vår normaliserade vektor är:
v^=51[34]=[0.60.8]När vi vet hur man normaliserar och ortogonaliserar vektorer kan vi använda Gram-Schmidt-processen för att bilda matrisen Q och använda den för att beräkna R i QR-splittringen.
Beräkna q₂ med Gram-Schmidt
För att beräkna q2 börjar vi med den andra kolumnen i A:
a2=[33]Därefter projiceras a2 på q1:
r12=q1Ta2=521(4⋅3+6⋅3)=521⋅30Ta bort projektionen från a2:
u2=a2−r12q1Normalisera sedan (som visats ovan):
q2=∣u2∣u2Nu bildar både q1 och q2 den ortonormala basen för Q. Slutligen sammanställs det slutliga resultatet:
Q=[q1q2], R=[r110r12r22]Dessa uppfyller:
A=QRTack för dina kommentarer!