Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Introduktion till Matrisuppdelning | Grunder i Linjär Algebra
Matematik för datavetenskap

bookIntroduktion till Matrisuppdelning

Att lösa system som Ax=bA \vec{x} = \vec{b} kan vara beräkningsmässigt krävande, särskilt för stora system.

Matrisuppdelning förenklar denna process genom att dela upp matrisen AA i enklare delar – vilka vi sedan kan lösa stegvis.

LU vs QR

Vi dekomponerar matrisen AA i andra strukturerade matriser.

LU-uppdelning

Delar upp AA i en nedre och övre triangulär matris:

  • Byggs med Gausselimination;
  • Fungerar bäst för kvadratiska matriser.
A=LUA = LU

QR-uppdelning

Delar upp AA i en ortogonal och övre matris:

  • Används ofta för icke-kvadratiska matriser;
  • Idealisk för minsta kvadratproblem eller när LU misslyckas.
A=QRA = QR

LU-uppdelning

Börja med en kvadratisk matris:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Målet är att skriva detta som:

A=LUA = LU

Där:

L=[10l211],  U=[u11u120u22]L = \begin{bmatrix} 1 & 0 \\ l_{21} & 1 \end{bmatrix},\ \ U = \begin{bmatrix} u_{11} & u_{12} \\ 0 & u_{22} \end{bmatrix}

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:

R2R264R1R_2 \rarr R_2 - \frac{6}{4}R_1

Detta ger oss:

R2=[0,1.5]R'_2 = [0, -1.5]

Så de uppdaterade matriserna blir:

U=[4301.5]U = \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix}

Och från vår radoperation vet vi:

L=[101.51]L = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix}

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=[101.51][4301.5]=[4363]A = LU = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix} \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix} = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Nu kan systemet Ax=bA \vec{x} = \vec{b} lösas i två steg:

  1. Lös Ly=bL \vec{y} = \vec{b} med framåtsubstitution;
  2. Lös Ux=yU \vec{x} = \vec{y} med bakåtsubstitution.

QR-faktorisering

Vi vill uttrycka en matris AA som en produkt av två matriser:

A=QRA = QR

Där:

  • AA är din inmatningsmatris (t.ex. data, koefficienter, etc.);
  • QQ är en ortogonal matris (dess kolumner är ortonormala vektorer);
  • RR är en övre triangulär matris.

Ett exempel på formuppdelning:

A=[a1a2a3a4]=[q1q2q3q4][r11r120r22]A = \begin{bmatrix} a_1 & a_2 \\ a_3 & a_4 \end{bmatrix} = \begin{bmatrix} q_1 & q_2 \\ q_3 & q_4 \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

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,vu, v är ortogonala om deras skalärprodukt är noll:

uv=0u \cdot v = 0

Normaliserad vektor

En vektor uu är normaliserad när u=1|u| = 1.

Ortonormalt system

En mängd vektorer {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} är ortonormal om varje vektor har längd ett och de är ömsesidigt ortogonala:

qiqj={1, om  i=j,0, om  ij.q_i \cdot q_j = \begin{cases} 1,\ \text{om}\ \ i = j,\\ 0,\ \text{om}\ \ i \neq j. \end{cases}

Varför det är viktigt: ortonormala kolumner i QQ bevarar geometri, förenklar projektioner och förbättrar numerisk stabilitet.

Definiera matrisen A

Vi börjar med detta exempel:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Vi kommer att använda Gram-Schmidt-processen för att hitta matriserna QQ och RR så att A=QRA=QR. Gram-Schmidt-processen skapar ett ortonormalt system av vektorer från kolumnerna i AA.

Detta innebär att vektorerna i QQ ä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 QQ ortonormala;
  • Skapa matrisen RR som kommer att representera projektionerna.

Beräkna första basvektorn

Vi tar ut den första kolumnen i AA:

a1=[46]a_1 = \begin{bmatrix} 4 \\ 6 \end{bmatrix}

För att normalisera denna beräknar vi normen:

a1=42+62=16+36=52|a_1| = \sqrt{4^2 + 6^2} = \sqrt{16 + 36} = \sqrt{52}

Sedan:

q1=152[46]=[452652]q_1 = \frac{1}{\sqrt{52}} \begin{bmatrix} 4 \\ 6 \end{bmatrix} = \begin{bmatrix} \frac{4}{\sqrt{52}} \\ \frac{6}{\sqrt{52}} \end{bmatrix}

Detta är den första ortonormala vektorn för QQ.

Hur man normaliserar en vektor

Givet en vektor:

v=[v1v2vn]v = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}

Vi beräknar dess norm:

v=v12+v22+...+vn2|v| = \sqrt{v_1^2 + v_2^2 + ... + v^2_n}

Sedan normaliserar vi:

v^=1vv\hat{v} = \frac{1}{|v|}v

Exempel:

v=[34],  v=32+42=5v = \begin{bmatrix} 3 \\ 4 \end{bmatrix},\ \ |v| = \sqrt{3^2 + 4^2} = 5

Så vår normaliserade vektor är:

v^=15[34]=[0.60.8]\hat{v} = \frac{1}{5}\begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 0.6 \\ 0.8 \end{bmatrix}

När vi vet hur man normaliserar och ortogonaliserar vektorer kan vi använda Gram-Schmidt-processen för att bilda matrisen QQ och använda den för att beräkna RR i QR-splittringen.

Beräkna q₂ med Gram-Schmidt

För att beräkna q2q_2 börjar vi med den andra kolumnen i AA:

a2=[33]a_2 = \begin{bmatrix} 3 \\ 3 \end{bmatrix}

Därefter projiceras a2a_2q1q_1:

r12=q1Ta2=152(43+63)=15230r_{12} = q_1^Ta_2 = \frac{1}{\sqrt{52}}(4 \cdot 3 + 6 \cdot 3) = \frac{1}{\sqrt{52}} \cdot 30

Ta bort projektionen från a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normalisera sedan (som visats ovan):

q2=u2u2q_2 = \frac{u_2}{|u_2|}

Nu bildar både q1q_1 och q2q_2 den ortonormala basen för QQ. Slutligen sammanställs det slutliga resultatet:

Q=[q1q2],  R=[r11r120r22]Q = \begin{bmatrix} q_1 & q_2 \end{bmatrix},\ \ R = \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

Dessa uppfyller:

A=QRA = QR
question mark

Vad är det första steget i Gram-Schmidt-processen för QR-dekomposition?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 8

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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

bookIntroduktion till Matrisuppdelning

Svep för att visa menyn

Att lösa system som Ax=bA \vec{x} = \vec{b} kan vara beräkningsmässigt krävande, särskilt för stora system.

Matrisuppdelning förenklar denna process genom att dela upp matrisen AA i enklare delar – vilka vi sedan kan lösa stegvis.

LU vs QR

Vi dekomponerar matrisen AA i andra strukturerade matriser.

LU-uppdelning

Delar upp AA i en nedre och övre triangulär matris:

  • Byggs med Gausselimination;
  • Fungerar bäst för kvadratiska matriser.
A=LUA = LU

QR-uppdelning

Delar upp AA i en ortogonal och övre matris:

  • Används ofta för icke-kvadratiska matriser;
  • Idealisk för minsta kvadratproblem eller när LU misslyckas.
A=QRA = QR

LU-uppdelning

Börja med en kvadratisk matris:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Målet är att skriva detta som:

A=LUA = LU

Där:

L=[10l211],  U=[u11u120u22]L = \begin{bmatrix} 1 & 0 \\ l_{21} & 1 \end{bmatrix},\ \ U = \begin{bmatrix} u_{11} & u_{12} \\ 0 & u_{22} \end{bmatrix}

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:

R2R264R1R_2 \rarr R_2 - \frac{6}{4}R_1

Detta ger oss:

R2=[0,1.5]R'_2 = [0, -1.5]

Så de uppdaterade matriserna blir:

U=[4301.5]U = \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix}

Och från vår radoperation vet vi:

L=[101.51]L = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix}

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=[101.51][4301.5]=[4363]A = LU = \begin{bmatrix} 1 & 0 \\ 1.5 & 1 \end{bmatrix} \begin{bmatrix} 4 & 3 \\ 0 & -1.5 \end{bmatrix} = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Nu kan systemet Ax=bA \vec{x} = \vec{b} lösas i två steg:

  1. Lös Ly=bL \vec{y} = \vec{b} med framåtsubstitution;
  2. Lös Ux=yU \vec{x} = \vec{y} med bakåtsubstitution.

QR-faktorisering

Vi vill uttrycka en matris AA som en produkt av två matriser:

A=QRA = QR

Där:

  • AA är din inmatningsmatris (t.ex. data, koefficienter, etc.);
  • QQ är en ortogonal matris (dess kolumner är ortonormala vektorer);
  • RR är en övre triangulär matris.

Ett exempel på formuppdelning:

A=[a1a2a3a4]=[q1q2q3q4][r11r120r22]A = \begin{bmatrix} a_1 & a_2 \\ a_3 & a_4 \end{bmatrix} = \begin{bmatrix} q_1 & q_2 \\ q_3 & q_4 \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

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,vu, v är ortogonala om deras skalärprodukt är noll:

uv=0u \cdot v = 0

Normaliserad vektor

En vektor uu är normaliserad när u=1|u| = 1.

Ortonormalt system

En mängd vektorer {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} är ortonormal om varje vektor har längd ett och de är ömsesidigt ortogonala:

qiqj={1, om  i=j,0, om  ij.q_i \cdot q_j = \begin{cases} 1,\ \text{om}\ \ i = j,\\ 0,\ \text{om}\ \ i \neq j. \end{cases}

Varför det är viktigt: ortonormala kolumner i QQ bevarar geometri, förenklar projektioner och förbättrar numerisk stabilitet.

Definiera matrisen A

Vi börjar med detta exempel:

A=[4363]A = \begin{bmatrix} 4 & 3 \\ 6 & 3 \end{bmatrix}

Vi kommer att använda Gram-Schmidt-processen för att hitta matriserna QQ och RR så att A=QRA=QR. Gram-Schmidt-processen skapar ett ortonormalt system av vektorer från kolumnerna i AA.

Detta innebär att vektorerna i QQ ä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 QQ ortonormala;
  • Skapa matrisen RR som kommer att representera projektionerna.

Beräkna första basvektorn

Vi tar ut den första kolumnen i AA:

a1=[46]a_1 = \begin{bmatrix} 4 \\ 6 \end{bmatrix}

För att normalisera denna beräknar vi normen:

a1=42+62=16+36=52|a_1| = \sqrt{4^2 + 6^2} = \sqrt{16 + 36} = \sqrt{52}

Sedan:

q1=152[46]=[452652]q_1 = \frac{1}{\sqrt{52}} \begin{bmatrix} 4 \\ 6 \end{bmatrix} = \begin{bmatrix} \frac{4}{\sqrt{52}} \\ \frac{6}{\sqrt{52}} \end{bmatrix}

Detta är den första ortonormala vektorn för QQ.

Hur man normaliserar en vektor

Givet en vektor:

v=[v1v2vn]v = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix}

Vi beräknar dess norm:

v=v12+v22+...+vn2|v| = \sqrt{v_1^2 + v_2^2 + ... + v^2_n}

Sedan normaliserar vi:

v^=1vv\hat{v} = \frac{1}{|v|}v

Exempel:

v=[34],  v=32+42=5v = \begin{bmatrix} 3 \\ 4 \end{bmatrix},\ \ |v| = \sqrt{3^2 + 4^2} = 5

Så vår normaliserade vektor är:

v^=15[34]=[0.60.8]\hat{v} = \frac{1}{5}\begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 0.6 \\ 0.8 \end{bmatrix}

När vi vet hur man normaliserar och ortogonaliserar vektorer kan vi använda Gram-Schmidt-processen för att bilda matrisen QQ och använda den för att beräkna RR i QR-splittringen.

Beräkna q₂ med Gram-Schmidt

För att beräkna q2q_2 börjar vi med den andra kolumnen i AA:

a2=[33]a_2 = \begin{bmatrix} 3 \\ 3 \end{bmatrix}

Därefter projiceras a2a_2q1q_1:

r12=q1Ta2=152(43+63)=15230r_{12} = q_1^Ta_2 = \frac{1}{\sqrt{52}}(4 \cdot 3 + 6 \cdot 3) = \frac{1}{\sqrt{52}} \cdot 30

Ta bort projektionen från a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normalisera sedan (som visats ovan):

q2=u2u2q_2 = \frac{u_2}{|u_2|}

Nu bildar både q1q_1 och q2q_2 den ortonormala basen för QQ. Slutligen sammanställs det slutliga resultatet:

Q=[q1q2],  R=[r11r120r22]Q = \begin{bmatrix} q_1 & q_2 \end{bmatrix},\ \ R = \begin{bmatrix} r_{11} & r_{12} \\ 0 & r_{22} \end{bmatrix}

Dessa uppfyller:

A=QRA = QR
question mark

Vad är det första steget i Gram-Schmidt-processen för QR-dekomposition?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 8
some-alt