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!
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