Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduksjon til Matrisedekomponering | Grunnleggende Lineær Algebra
Matematikk for Datavitenskap

bookIntroduksjon til Matrisedekomponering

Å løse systemer som Ax=bA \vec{x} = \vec{b} kan være beregningsmessig krevende, spesielt for store systemer.

Matrisedekomponering forenkler denne prosessen ved å dele matrisen AA opp i enklere deler – som vi deretter kan løse trinnvis.

LU vs QR

Vi dekomponerer matrisen AA i andre strukturerte matriser.

LU-dekomponering

Deler AA opp i en nedre og en øvre triangulær matrise:

  • Bygges ved hjelp av Gauss-eliminasjon;
  • Fungerer best for kvadratiske matriser.
A=LUA = LU

QR-dekomponering

Deler AA opp i en ortogonal og en øvre matrise:

  • Ofte brukt for ikke-kvadratiske matriser;
  • Ideell for minste kvadraters problemer eller når LU ikke fungerer.
A=QRA = QR

LU-dekomponering

Start med en kvadratisk matrise:

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

Målet vårt er å 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 dekomponeringen er mulig hvis A er kvadratisk og inverterbar.

Viktige punkter:

  • Nedre triangulære matriser har alle nullverdier over diagonalen, noe som forenkler fremoversubstitusjon;
  • Øvre triangulære matriser har nullverdier under diagonalen, noe som gjør bakoversubstitusjon enkel;
  • En ortogonal matrise har kolonner som er ortonormale vektorer (vektorer med lengde 1 som er ortogonale);
  • Denne egenskapen bevarer vektorlengde og vinkler, noe som er nyttig ved løsning av minste kvadraters problemer og forbedrer numerisk stabilitet.

Gauss-eliminasjon

Bruk Gauss-eliminasjon for å eliminere elementet under det øverste venstre pivot-elementet:

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

Dette gir oss:

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

De oppdaterte matrisene blir da:

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

Og fra radoperasjonen vet vi:

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

Viktige punkter:

  • Gauss-eliminasjon eliminerer systematisk elementene under pivotelementet i hver kolonne ved å trekke fra skalerte versjoner av pivot-raden fra radene under;
  • Denne prosessen omformer A til en øvre triangulær matrise U;
  • Multiplisatorene som brukes for å eliminere disse elementene lagres i L, slik at vi kan representere A som produktet LU.

Resultat av LU-dekomponering

Vi verifiserer:

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}

Nå kan systemet Ax=bA \vec{x} = \vec{b} løses i to steg:

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

QR-dekomponering

Vi ønsker å uttrykke en matrise AA som et produkt av to matriser:

A=QRA = QR

Hvor:

  • AA er innmatrisen (for eksempel data, koeffisienter, osv.);
  • QQ er en ortogonal matrise (kolonnene er ortonormale vektorer);
  • RR er en øvre triangulær matrise.

Et eksempel på oppdeling:

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 dekomponeringen brukes ofte når:

  • Matrisen A ikke er kvadratisk;
  • Løsning av minste kvadraters problemer;
  • LU-dekomponering ikke er stabil.

Hva er ortonormale vektorer?

Ortogonale vektorer

To vektorer u,vu, v er ortogonale hvis deres skalarprodukt er null:

uv=0u \cdot v = 0

Normalisert vektor

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

Ortonormalt sett

Et sett med vektorer {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} er ortonormalt hvis hver vektor har lengde én og de er gjensidig 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}

Hvorfor det er viktig: ortonormale kolonner i QQ bevarer geometrien, forenkler projeksjoner og gir bedre numerisk stabilitet.

Definer matrisen A

La oss starte med dette eksempelet:

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

Vi skal bruke Gram-Schmidt-prosessen for å finne matriser QQ og RR slik at A=QRA=QR. Gram-Schmidt-prosessen lager et ortonormalt sett med vektorer fra kolonnene i AA.

Dette betyr at vektorene i QQ er ortogonale (vinkelrette) på hverandre og har lengde én (normalisert). Denne egenskapen forenkler mange beregninger og gir bedre numerisk stabilitet ved løsning av ligningssystemer.

Målet her er å:

  • Gjøre kolonnene i QQ ortonormale;
  • Lage matrisen RR som vil inneholde projeksjonene.

Beregn første basisvektor

Vi tar ut den første kolonnen i AA:

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

For å normalisere denne, beregner vi normen:

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

Deretter:

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 vektoren for QQ.

Hvordan normalisere en vektor

Gitt en vektor:

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

Vi beregner normen:

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

Deretter normaliserer vi:

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å vår normaliserte 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 vet hvordan vi normaliserer og ortogonaliserer vektorer, kan vi bruke Gram-Schmidt-prosessen til å danne QQ-matrisen, og bruke den til å beregne RR i QR-dekomponeringen.

Beregn q₂ ved hjelp av Gram-Schmidt

For å beregne q2q_2, starter vi med den andre kolonnen i AA:

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

Deretter projiserer du 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 projeksjonen fra a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normaliser deretter (som vist ovenfor):

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

Nå danner både q1q_1 og q2q_2 det ortonormale basiset for QQ. Du setter nå sammen det endelige 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}

Disse tilfredsstiller:

A=QRA = QR
question mark

Hva er det første steget i Gram-Schmidt-prosessen for QR-dekomponering?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 8

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 1.96

bookIntroduksjon til Matrisedekomponering

Sveip for å vise menyen

Å løse systemer som Ax=bA \vec{x} = \vec{b} kan være beregningsmessig krevende, spesielt for store systemer.

Matrisedekomponering forenkler denne prosessen ved å dele matrisen AA opp i enklere deler – som vi deretter kan løse trinnvis.

LU vs QR

Vi dekomponerer matrisen AA i andre strukturerte matriser.

LU-dekomponering

Deler AA opp i en nedre og en øvre triangulær matrise:

  • Bygges ved hjelp av Gauss-eliminasjon;
  • Fungerer best for kvadratiske matriser.
A=LUA = LU

QR-dekomponering

Deler AA opp i en ortogonal og en øvre matrise:

  • Ofte brukt for ikke-kvadratiske matriser;
  • Ideell for minste kvadraters problemer eller når LU ikke fungerer.
A=QRA = QR

LU-dekomponering

Start med en kvadratisk matrise:

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

Målet vårt er å 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 dekomponeringen er mulig hvis A er kvadratisk og inverterbar.

Viktige punkter:

  • Nedre triangulære matriser har alle nullverdier over diagonalen, noe som forenkler fremoversubstitusjon;
  • Øvre triangulære matriser har nullverdier under diagonalen, noe som gjør bakoversubstitusjon enkel;
  • En ortogonal matrise har kolonner som er ortonormale vektorer (vektorer med lengde 1 som er ortogonale);
  • Denne egenskapen bevarer vektorlengde og vinkler, noe som er nyttig ved løsning av minste kvadraters problemer og forbedrer numerisk stabilitet.

Gauss-eliminasjon

Bruk Gauss-eliminasjon for å eliminere elementet under det øverste venstre pivot-elementet:

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

Dette gir oss:

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

De oppdaterte matrisene blir da:

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

Og fra radoperasjonen vet vi:

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

Viktige punkter:

  • Gauss-eliminasjon eliminerer systematisk elementene under pivotelementet i hver kolonne ved å trekke fra skalerte versjoner av pivot-raden fra radene under;
  • Denne prosessen omformer A til en øvre triangulær matrise U;
  • Multiplisatorene som brukes for å eliminere disse elementene lagres i L, slik at vi kan representere A som produktet LU.

Resultat av LU-dekomponering

Vi verifiserer:

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}

Nå kan systemet Ax=bA \vec{x} = \vec{b} løses i to steg:

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

QR-dekomponering

Vi ønsker å uttrykke en matrise AA som et produkt av to matriser:

A=QRA = QR

Hvor:

  • AA er innmatrisen (for eksempel data, koeffisienter, osv.);
  • QQ er en ortogonal matrise (kolonnene er ortonormale vektorer);
  • RR er en øvre triangulær matrise.

Et eksempel på oppdeling:

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 dekomponeringen brukes ofte når:

  • Matrisen A ikke er kvadratisk;
  • Løsning av minste kvadraters problemer;
  • LU-dekomponering ikke er stabil.

Hva er ortonormale vektorer?

Ortogonale vektorer

To vektorer u,vu, v er ortogonale hvis deres skalarprodukt er null:

uv=0u \cdot v = 0

Normalisert vektor

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

Ortonormalt sett

Et sett med vektorer {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} er ortonormalt hvis hver vektor har lengde én og de er gjensidig 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}

Hvorfor det er viktig: ortonormale kolonner i QQ bevarer geometrien, forenkler projeksjoner og gir bedre numerisk stabilitet.

Definer matrisen A

La oss starte med dette eksempelet:

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

Vi skal bruke Gram-Schmidt-prosessen for å finne matriser QQ og RR slik at A=QRA=QR. Gram-Schmidt-prosessen lager et ortonormalt sett med vektorer fra kolonnene i AA.

Dette betyr at vektorene i QQ er ortogonale (vinkelrette) på hverandre og har lengde én (normalisert). Denne egenskapen forenkler mange beregninger og gir bedre numerisk stabilitet ved løsning av ligningssystemer.

Målet her er å:

  • Gjøre kolonnene i QQ ortonormale;
  • Lage matrisen RR som vil inneholde projeksjonene.

Beregn første basisvektor

Vi tar ut den første kolonnen i AA:

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

For å normalisere denne, beregner vi normen:

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

Deretter:

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 vektoren for QQ.

Hvordan normalisere en vektor

Gitt en vektor:

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

Vi beregner normen:

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

Deretter normaliserer vi:

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å vår normaliserte 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 vet hvordan vi normaliserer og ortogonaliserer vektorer, kan vi bruke Gram-Schmidt-prosessen til å danne QQ-matrisen, og bruke den til å beregne RR i QR-dekomponeringen.

Beregn q₂ ved hjelp av Gram-Schmidt

For å beregne q2q_2, starter vi med den andre kolonnen i AA:

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

Deretter projiserer du 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 projeksjonen fra a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normaliser deretter (som vist ovenfor):

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

Nå danner både q1q_1 og q2q_2 det ortonormale basiset for QQ. Du setter nå sammen det endelige 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}

Disse tilfredsstiller:

A=QRA = QR
question mark

Hva er det første steget i Gram-Schmidt-prosessen for QR-dekomponering?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 8
some-alt