Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduktion til Matrixdekomposition | Grundlæggende Lineær Algebra
Matematik for Datavidenskab

bookIntroduktion til Matrixdekomposition

Løsning af systemer som Ax=bA \vec{x} = \vec{b} kan være beregningsmæssigt krævende, især for store systemer.

Matrixdekomponering forenkler denne proces ved at opdele matrixen AA i enklere dele – som derefter kan løses i etaper.

LU vs QR

Vi dekomponerer matrixen AA i andre strukturerede matricer.

LU-dekomponering

Opdel AA i en nedre og øvre trekantsmatrix:

  • Opbygges ved hjælp af Gauss-elimination;
  • Fungerer bedst for kvadratiske matricer.
A=LUA = LU

QR-dekomponering

Opdel AA i en ortogonal og øvre matrix:

  • Ofte brugt til ikke-kvadratiske matricer;
  • Ideel til mindste kvadraters problemer eller når LU fejler.
A=QRA = QR

LU-dekomponering

Start med en kvadratisk matrix:

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

Målet er at skrive dette som:

A=LUA = LU

Hvor:

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}

Denne dekomponering er mulig hvis A er kvadratisk og invertibel.

Vigtige punkter:

  • Nedre trekantsmatricer har alle nul over diagonalen, hvilket forenkler fremadsubstitution;
  • Øvre trekantsmatricer har nuller under diagonalen, hvilket gør baglæns substitution ligetil;
  • En ortogonal matrix har søjler, der er ortonormale vektorer (vektorer med længde 1, der er vinkelrette);
  • Denne egenskab bevarer vektorlængde og vinkler, hvilket er nyttigt ved løsning af mindste kvadraters problemer og forbedrer numerisk stabilitet.

Gaussisk elimination

Anvend Gaussisk elimination for at eliminere elementet under det øverste venstre pivot:

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

Dette giver:

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

Så de opdaterede matricer bliver:

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

Og ud fra vores rækkeoperation ved vi:

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

Vigtige pointer:

  • Gaussisk elimination eliminerer systematisk elementer under pivotelementet i hver kolonne ved at trække skalerede versioner af pivotrækken fra rækkerne nedenunder;
  • Denne proces omdanner A til en øvre triangulær matrix U;
  • De multiplikatorer, der bruges til at eliminere disse elementer, gemmes i L, hvilket gør det muligt at repræsentere A som produktet LU.

LU-dekompositionsresultat

Vi verificerer:

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øses i to trin:

  1. Løs Ly=bL \vec{y} = \vec{b} ved fremad substitution;
  2. Løs Ux=yU \vec{x} = \vec{y} ved bagud substitution.

QR-dekomposition

Målet er at udtrykke en matrix AA som et produkt af to matricer:

A=QRA = QR

Hvor:

  • AA er inputmatricen (f.eks. data, koefficienter osv.);
  • QQ er en ortogonal matrix (dens søjler er ortonormale vektorer);
  • RR er en øvre triangulær matrix.

Et eksempel på opdeling af form:

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}

Denne dekomposition anvendes ofte når:

  • Matrix A er ikke kvadratisk;
  • Løsning af mindste kvadraters problemer;
  • LU-dekomposition ikke er stabil.

Hvad er ortonormale vektorer?

Ortogonale vektorer

To vektorer u,vu, v er ortogonale, hvis deres prikprodukt er nul:

uv=0u \cdot v = 0

Normaliseret vektor

En vektor uu er normaliseret, når u=1|u| = 1.

Ortonormalt sæt

Et sæt af vektorer {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} er ortonormalt, hvis hver har enhedslængde og de er indbyrdes ortogonale:

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

Betydning: ortonormale søjler i QQ bevarer geometrien, forenkler projektioner og forbedrer numerisk stabilitet.

Definer matrixen A

Lad os starte med dette eksempel:

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

Vi vil bruge Gram-Schmidt-processen til at finde matricerne QQ og RR, så A=QRA=QR. Gram-Schmidt-processen skaber et ortonormalt sæt af vektorer ud fra søjlerne i AA.

Dette betyder, at vektorerne i QQ alle er vinkelrette (ortogonale) på hinanden og har enhedslængde (normaliseret). Denne egenskab forenkler mange beregninger og forbedrer numerisk stabilitet ved løsning af ligningssystemer.

Målet her er derfor:

  • At gøre søjlerne i QQ ortonormale;
  • At skabe matrixen RR, som vil indeholde projektionerne.

Beregn første basisvektor

Vi udtrækker den første søjle af AA:

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

For at normalisere denne beregner vi normen:

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

Derefter:

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}

Dette er den første ortonormale vektor for QQ.

Sådan normaliseres en vektor

Givet en vektor:

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

Vi beregner dens norm:

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

Derefter normaliseres:

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

Eksempel:

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

Så vores normaliserede vektor er:

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 ved, hvordan man normaliserer og ortogonaliserer vektorer, kan vi anvende Gram-Schmidt-processen til at danne QQ-matrixen og bruge den til at beregne RR i QR-dekompositionen.

Beregn q₂ ved hjælp af Gram-Schmidt

For at beregne q2q_2 starter vi med den anden søjle af AA:

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

Dernæst projiceres 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

Fjern projektionen fra a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normaliser derefter (som vist ovenfor):

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

Nu danner både q1q_1 og q2q_2 det ortonormale grundlag for QQ. Du samler nu det endelige resultat:

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}

Disse opfylder:

A=QRA = QR
question mark

Hvad er det første trin i Gram-Schmidt-processen for QR-dekomponering?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 8

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 1.96

bookIntroduktion til Matrixdekomposition

Stryg for at vise menuen

Løsning af systemer som Ax=bA \vec{x} = \vec{b} kan være beregningsmæssigt krævende, især for store systemer.

Matrixdekomponering forenkler denne proces ved at opdele matrixen AA i enklere dele – som derefter kan løses i etaper.

LU vs QR

Vi dekomponerer matrixen AA i andre strukturerede matricer.

LU-dekomponering

Opdel AA i en nedre og øvre trekantsmatrix:

  • Opbygges ved hjælp af Gauss-elimination;
  • Fungerer bedst for kvadratiske matricer.
A=LUA = LU

QR-dekomponering

Opdel AA i en ortogonal og øvre matrix:

  • Ofte brugt til ikke-kvadratiske matricer;
  • Ideel til mindste kvadraters problemer eller når LU fejler.
A=QRA = QR

LU-dekomponering

Start med en kvadratisk matrix:

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

Målet er at skrive dette som:

A=LUA = LU

Hvor:

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}

Denne dekomponering er mulig hvis A er kvadratisk og invertibel.

Vigtige punkter:

  • Nedre trekantsmatricer har alle nul over diagonalen, hvilket forenkler fremadsubstitution;
  • Øvre trekantsmatricer har nuller under diagonalen, hvilket gør baglæns substitution ligetil;
  • En ortogonal matrix har søjler, der er ortonormale vektorer (vektorer med længde 1, der er vinkelrette);
  • Denne egenskab bevarer vektorlængde og vinkler, hvilket er nyttigt ved løsning af mindste kvadraters problemer og forbedrer numerisk stabilitet.

Gaussisk elimination

Anvend Gaussisk elimination for at eliminere elementet under det øverste venstre pivot:

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

Dette giver:

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

Så de opdaterede matricer bliver:

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

Og ud fra vores rækkeoperation ved vi:

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

Vigtige pointer:

  • Gaussisk elimination eliminerer systematisk elementer under pivotelementet i hver kolonne ved at trække skalerede versioner af pivotrækken fra rækkerne nedenunder;
  • Denne proces omdanner A til en øvre triangulær matrix U;
  • De multiplikatorer, der bruges til at eliminere disse elementer, gemmes i L, hvilket gør det muligt at repræsentere A som produktet LU.

LU-dekompositionsresultat

Vi verificerer:

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øses i to trin:

  1. Løs Ly=bL \vec{y} = \vec{b} ved fremad substitution;
  2. Løs Ux=yU \vec{x} = \vec{y} ved bagud substitution.

QR-dekomposition

Målet er at udtrykke en matrix AA som et produkt af to matricer:

A=QRA = QR

Hvor:

  • AA er inputmatricen (f.eks. data, koefficienter osv.);
  • QQ er en ortogonal matrix (dens søjler er ortonormale vektorer);
  • RR er en øvre triangulær matrix.

Et eksempel på opdeling af form:

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}

Denne dekomposition anvendes ofte når:

  • Matrix A er ikke kvadratisk;
  • Løsning af mindste kvadraters problemer;
  • LU-dekomposition ikke er stabil.

Hvad er ortonormale vektorer?

Ortogonale vektorer

To vektorer u,vu, v er ortogonale, hvis deres prikprodukt er nul:

uv=0u \cdot v = 0

Normaliseret vektor

En vektor uu er normaliseret, når u=1|u| = 1.

Ortonormalt sæt

Et sæt af vektorer {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} er ortonormalt, hvis hver har enhedslængde og de er indbyrdes ortogonale:

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

Betydning: ortonormale søjler i QQ bevarer geometrien, forenkler projektioner og forbedrer numerisk stabilitet.

Definer matrixen A

Lad os starte med dette eksempel:

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

Vi vil bruge Gram-Schmidt-processen til at finde matricerne QQ og RR, så A=QRA=QR. Gram-Schmidt-processen skaber et ortonormalt sæt af vektorer ud fra søjlerne i AA.

Dette betyder, at vektorerne i QQ alle er vinkelrette (ortogonale) på hinanden og har enhedslængde (normaliseret). Denne egenskab forenkler mange beregninger og forbedrer numerisk stabilitet ved løsning af ligningssystemer.

Målet her er derfor:

  • At gøre søjlerne i QQ ortonormale;
  • At skabe matrixen RR, som vil indeholde projektionerne.

Beregn første basisvektor

Vi udtrækker den første søjle af AA:

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

For at normalisere denne beregner vi normen:

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

Derefter:

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}

Dette er den første ortonormale vektor for QQ.

Sådan normaliseres en vektor

Givet en vektor:

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

Vi beregner dens norm:

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

Derefter normaliseres:

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

Eksempel:

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

Så vores normaliserede vektor er:

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 ved, hvordan man normaliserer og ortogonaliserer vektorer, kan vi anvende Gram-Schmidt-processen til at danne QQ-matrixen og bruge den til at beregne RR i QR-dekompositionen.

Beregn q₂ ved hjælp af Gram-Schmidt

For at beregne q2q_2 starter vi med den anden søjle af AA:

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

Dernæst projiceres 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

Fjern projektionen fra a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normaliser derefter (som vist ovenfor):

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

Nu danner både q1q_1 og q2q_2 det ortonormale grundlag for QQ. Du samler nu det endelige resultat:

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}

Disse opfylder:

A=QRA = QR
question mark

Hvad er det første trin i Gram-Schmidt-processen for QR-dekomponering?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 8
some-alt