Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Introductie tot Matrixdecompositie | Grondslagen van Lineaire Algebra
Wiskunde voor Data Science

bookIntroductie tot Matrixdecompositie

Het oplossen van systemen zoals Ax=bA \vec{x} = \vec{b} kan computationeel intensief zijn, vooral bij grote systemen.

Matrixdecompositie vereenvoudigt dit proces door matrix AA op te splitsen in eenvoudigere delen – die vervolgens stapsgewijs kunnen worden opgelost.

LU versus QR

De matrix AA wordt gedecomponeerd in andere gestructureerde matrices.

LU-decompositie

Splits AA in een Lagere en Bovenste driehoeksmatrix:

  • Gebaseerd op Gauss-eliminatie;
  • Werkt het beste voor vierkante matrices.
A=LUA = LU

QR-decompositie

Splits AA in een Orthogonale en Bovenste matrix:

  • Vaak gebruikt voor niet-vierkante matrices;
  • Ideaal voor kleinste-kwadratenproblemen of wanneer LU niet toepasbaar is.
A=QRA = QR

LU-decompositie

Begin met een vierkante matrix:

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

Het doel is om dit te schrijven als:

A=LUA = LU

Waarbij:

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}

Deze decompositie is mogelijk als A vierkant en inverteerbaar is.

Belangrijke punten:

  • Lagere driehoeksmatrices hebben alleen nullen boven de diagonaal, wat voorwaartse substitutie vereenvoudigt;
  • Bovenste driehoeksmatrices hebben nullen onder de diagonaal, waardoor achterwaartse substitutie eenvoudig wordt;
  • Een orthogonale matrix heeft kolommen die orthonormale vectoren zijn (vectoren met lengte 1 die loodrecht op elkaar staan);
  • Deze eigenschap behoudt vectorlengte en hoeken, wat nuttig is bij het oplossen van kleinste-kwadratenproblemen en het verbeteren van numerieke stabiliteit.

Gauss-eliminatie

Pas Gauss-eliminatie toe om het element onder het linksbovenste pivot te elimineren:

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

Dit levert op:

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

De bijgewerkte matrices worden dan:

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

En uit onze rijoperatie volgt:

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

Belangrijke punten:

  • Gauss-eliminatie elimineert systematisch de elementen onder het pivotelement in elke kolom door geschaalde versies van de pivotrij af te trekken van de onderliggende rijen;
  • Dit proces transformeert A in een bovendiagonale matrix U;
  • De vermenigvuldigingsfactoren die gebruikt worden om deze elementen te elimineren, worden opgeslagen in L, waardoor we A kunnen weergeven als het product LU.

Resultaat van LU-decompositie

We verifiëren:

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 het stelsel Ax=bA \vec{x} = \vec{b} in twee stappen worden opgelost:

  1. Los Ly=bL \vec{y} = \vec{b} op met voorwaartse substitutie;
  2. Los Ux=yU \vec{x} = \vec{y} op met achterwaartse substitutie.

QR-decompositie

We willen een matrix AA uitdrukken als een product van twee matrices:

A=QRA = QR

Waarbij:

  • AA de invoermatrix is (bijvoorbeeld data, coëfficiënten, enz.);
  • QQ een orthogonale matrix is (de kolommen zijn orthonormale vectoren);
  • RR een bovendiagonale matrix is.

Een voorbeeld van de vorm:

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}

Deze decompositie wordt vaak gebruikt wanneer:

  • Matrix A niet vierkant is;
  • Bij het oplossen van kleinste-kwadratenproblemen;
  • LU-decompositie niet stabiel is.

Wat zijn orthonormale vectoren?

Orthogonale vectoren

Twee vectoren u,vu, v zijn orthogonaal als hun inwendig product nul is:

uv=0u \cdot v = 0

Genormaliseerde vector

Een vector uu is genormaliseerd wanneer u=1|u| = 1.

Orthonormale verzameling

Een verzameling vectoren {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} is orthonormaal als elke vector eenheidslengte heeft en ze onderling orthogonaal zijn:

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

Belang: orthonormale kolommen in QQ behouden de geometrie, vereenvoudigen projecties en verbeteren de numerieke stabiliteit.

Definieer de matrix A

Laten we beginnen met dit voorbeeld:

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

We gebruiken het Gram-Schmidt-proces om matrices QQ en RR te vinden zodat A=QRA=QR. Het Gram-Schmidt-proces vormt een orthonormale verzameling vectoren uit de kolommen van AA.

Dit betekent dat de vectoren in QQ allemaal loodrecht (orthogonaal) op elkaar staan en eenheidslengte (genormaliseerd) hebben. Deze eigenschap vereenvoudigt veel berekeningen en verbetert de numerieke stabiliteit bij het oplossen van stelsels.

Het doel is hier om:

  • De kolommen van QQ orthonormaal te maken;
  • De matrix RR te creëren die de projecties encodeert.

Bereken de eerste basisvector

We nemen de eerste kolom van AA:

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

Om deze te normaliseren, berekenen we de norm:

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

Dan:

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}

Dit is de eerste orthonormale vector voor QQ.

Hoe een vector te normaliseren

Gegeven een vector:

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

We berekenen de norm:

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

Daarna normaliseren:

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

Voorbeeld:

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

Dus, onze genormaliseerde vector is:

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}

Zodra we weten hoe we vectoren moeten normaliseren en orthogonaliseren, kunnen we het Gram-Schmidt-proces toepassen om de QQ-matrix te vormen en deze gebruiken om RR te berekenen in de QR-decompositie.

Bereken q₂ met behulp van Gram-Schmidt

Om q2q_2 te berekenen, beginnen we met de tweede kolom van AA:

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

Vervolgens projecteer je a2a_2 op q1q_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

Verwijder de projectie van a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normaliseer vervolgens (zoals hierboven getoond):

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

Nu vormen zowel q1q_1 als q2q_2 de orthonormale basis voor QQ. Stel nu het eindresultaat samen:

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}

Deze voldoen aan:

A=QRA = QR
question mark

Wat is de eerste stap in het Gram-Schmidt-proces voor QR-decompositie?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 8

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 1.96

bookIntroductie tot Matrixdecompositie

Veeg om het menu te tonen

Het oplossen van systemen zoals Ax=bA \vec{x} = \vec{b} kan computationeel intensief zijn, vooral bij grote systemen.

Matrixdecompositie vereenvoudigt dit proces door matrix AA op te splitsen in eenvoudigere delen – die vervolgens stapsgewijs kunnen worden opgelost.

LU versus QR

De matrix AA wordt gedecomponeerd in andere gestructureerde matrices.

LU-decompositie

Splits AA in een Lagere en Bovenste driehoeksmatrix:

  • Gebaseerd op Gauss-eliminatie;
  • Werkt het beste voor vierkante matrices.
A=LUA = LU

QR-decompositie

Splits AA in een Orthogonale en Bovenste matrix:

  • Vaak gebruikt voor niet-vierkante matrices;
  • Ideaal voor kleinste-kwadratenproblemen of wanneer LU niet toepasbaar is.
A=QRA = QR

LU-decompositie

Begin met een vierkante matrix:

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

Het doel is om dit te schrijven als:

A=LUA = LU

Waarbij:

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}

Deze decompositie is mogelijk als A vierkant en inverteerbaar is.

Belangrijke punten:

  • Lagere driehoeksmatrices hebben alleen nullen boven de diagonaal, wat voorwaartse substitutie vereenvoudigt;
  • Bovenste driehoeksmatrices hebben nullen onder de diagonaal, waardoor achterwaartse substitutie eenvoudig wordt;
  • Een orthogonale matrix heeft kolommen die orthonormale vectoren zijn (vectoren met lengte 1 die loodrecht op elkaar staan);
  • Deze eigenschap behoudt vectorlengte en hoeken, wat nuttig is bij het oplossen van kleinste-kwadratenproblemen en het verbeteren van numerieke stabiliteit.

Gauss-eliminatie

Pas Gauss-eliminatie toe om het element onder het linksbovenste pivot te elimineren:

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

Dit levert op:

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

De bijgewerkte matrices worden dan:

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

En uit onze rijoperatie volgt:

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

Belangrijke punten:

  • Gauss-eliminatie elimineert systematisch de elementen onder het pivotelement in elke kolom door geschaalde versies van de pivotrij af te trekken van de onderliggende rijen;
  • Dit proces transformeert A in een bovendiagonale matrix U;
  • De vermenigvuldigingsfactoren die gebruikt worden om deze elementen te elimineren, worden opgeslagen in L, waardoor we A kunnen weergeven als het product LU.

Resultaat van LU-decompositie

We verifiëren:

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 het stelsel Ax=bA \vec{x} = \vec{b} in twee stappen worden opgelost:

  1. Los Ly=bL \vec{y} = \vec{b} op met voorwaartse substitutie;
  2. Los Ux=yU \vec{x} = \vec{y} op met achterwaartse substitutie.

QR-decompositie

We willen een matrix AA uitdrukken als een product van twee matrices:

A=QRA = QR

Waarbij:

  • AA de invoermatrix is (bijvoorbeeld data, coëfficiënten, enz.);
  • QQ een orthogonale matrix is (de kolommen zijn orthonormale vectoren);
  • RR een bovendiagonale matrix is.

Een voorbeeld van de vorm:

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}

Deze decompositie wordt vaak gebruikt wanneer:

  • Matrix A niet vierkant is;
  • Bij het oplossen van kleinste-kwadratenproblemen;
  • LU-decompositie niet stabiel is.

Wat zijn orthonormale vectoren?

Orthogonale vectoren

Twee vectoren u,vu, v zijn orthogonaal als hun inwendig product nul is:

uv=0u \cdot v = 0

Genormaliseerde vector

Een vector uu is genormaliseerd wanneer u=1|u| = 1.

Orthonormale verzameling

Een verzameling vectoren {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} is orthonormaal als elke vector eenheidslengte heeft en ze onderling orthogonaal zijn:

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

Belang: orthonormale kolommen in QQ behouden de geometrie, vereenvoudigen projecties en verbeteren de numerieke stabiliteit.

Definieer de matrix A

Laten we beginnen met dit voorbeeld:

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

We gebruiken het Gram-Schmidt-proces om matrices QQ en RR te vinden zodat A=QRA=QR. Het Gram-Schmidt-proces vormt een orthonormale verzameling vectoren uit de kolommen van AA.

Dit betekent dat de vectoren in QQ allemaal loodrecht (orthogonaal) op elkaar staan en eenheidslengte (genormaliseerd) hebben. Deze eigenschap vereenvoudigt veel berekeningen en verbetert de numerieke stabiliteit bij het oplossen van stelsels.

Het doel is hier om:

  • De kolommen van QQ orthonormaal te maken;
  • De matrix RR te creëren die de projecties encodeert.

Bereken de eerste basisvector

We nemen de eerste kolom van AA:

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

Om deze te normaliseren, berekenen we de norm:

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

Dan:

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}

Dit is de eerste orthonormale vector voor QQ.

Hoe een vector te normaliseren

Gegeven een vector:

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

We berekenen de norm:

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

Daarna normaliseren:

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

Voorbeeld:

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

Dus, onze genormaliseerde vector is:

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}

Zodra we weten hoe we vectoren moeten normaliseren en orthogonaliseren, kunnen we het Gram-Schmidt-proces toepassen om de QQ-matrix te vormen en deze gebruiken om RR te berekenen in de QR-decompositie.

Bereken q₂ met behulp van Gram-Schmidt

Om q2q_2 te berekenen, beginnen we met de tweede kolom van AA:

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

Vervolgens projecteer je a2a_2 op q1q_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

Verwijder de projectie van a2a_2:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normaliseer vervolgens (zoals hierboven getoond):

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

Nu vormen zowel q1q_1 als q2q_2 de orthonormale basis voor QQ. Stel nu het eindresultaat samen:

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}

Deze voldoen aan:

A=QRA = QR
question mark

Wat is de eerste stap in het Gram-Schmidt-proces voor QR-decompositie?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 8
some-alt