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 Data Science

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

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