Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Matriisihajotelman Perusteet | Lineaarialgebran Perusteet
Matematiikka Data-analytiikkaan

bookMatriisihajotelman Perusteet

Järjestelmien, kuten Ax=bA \vec{x} = \vec{b}, ratkaiseminen voi olla laskennallisesti raskasta, erityisesti suurissa järjestelmissä.

Matriisin hajotelma yksinkertaistaa tätä prosessia jakamalla matriisin AA yksinkertaisempiin osiin, jotka voidaan ratkaista vaiheittain.

LU vs QR

Matriisi AA hajotetaan muihin rakenteellisiin matriiseihin.

LU-hajotelma

Hajotetaan AA alemmaksi ja ylemmäksi kolmio­matriisiksi:

  • Rakennetaan Gaussin eliminaatiolla;
  • Toimii parhaiten neliömatriiseille.
A=LUA = LU

QR-hajotelma

Hajotetaan AA ortogonaaliseksi ja ylemmäksi matriisiksi:

  • Käytetään usein ei-neliömatriiseille;
  • Ihanteellinen pienimmän neliösumman ongelmiin tai kun LU ei toimi.
A=QRA = QR

LU-hajotelma

Aloitetaan neliömatriisilla:

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

Tavoitteena on kirjoittaa tämä muodossa:

A=LUA = LU

Missä:

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}

Tämä hajotelma on mahdollinen jos A on neliö ja kääntyvä.

Tärkeitä huomioita:

  • Alemmissa kolmio­matriiseissa kaikki pää­diagonaalin yläpuoliset alkiot ovat nollia, mikä helpottaa eteenpäin­suuntaista sijoitusta;
  • Ylemmissä kolmio­matriiseissa diagonaalin alapuolella on nollia, mikä tekee taaksepäin­suuntaisesta sijoituksesta suoraviivaista;
  • Ortogonaalisessa matriisissa sarakkeet ovat ortonormaaleja vektoreita (vektorit, joiden pituus on 1 ja jotka ovat kohtisuorassa toisiinsa nähden);
  • Tämä ominaisuus säilyttää vektorin pituuden ja kulmat, mikä on hyödyllistä pienimmän neliösumman ratkaisuissa ja parantaa numeerista vakautta.

Gaussin eliminointi

Sovella Gaussin eliminointia poistaaksesi ylävasemman pivotin alapuolella olevan alkion:

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

Tämä antaa meille:

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

Joten päivitetyt matriisit ovat:

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

Ja rivitoimituksesta tiedämme:

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

Tärkeitä huomioita:

  • Gaussin eliminointi poistaa järjestelmällisesti pivot-alkion alapuolella olevat alkiot jokaisessa sarakkeessa vähentämällä pivot-rivin skaalattuja versioita alemmista riveistä;
  • Tämä prosessi muuntaa A:n yläkolmiomatriisiksi U;
  • Eliminoinnissa käytetyt kertoimet tallennetaan matriisiin L, jolloin A voidaan esittää tulona LU.

LU-hajotelman tulos

Tarkistetaan:

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}

Nyt järjestelmä Ax=bA \vec{x} = \vec{b} voidaan ratkaista kahdessa vaiheessa:

  1. Ratkaise Ly=bL \vec{y} = \vec{b} eteenpäin sijoittamalla;
  2. Ratkaise Ux=yU \vec{x} = \vec{y} taaksepäin sijoittamalla.

QR-hajotelma

Halutaan esittää matriisi AA kahden matriisin tulona:

A=QRA = QR

Missä:

  • AA on syötematriisi (esim. data, kertoimet jne.);
  • QQ on ortogonaalinen matriisi (sen sarakkeet ovat ortonormaalivektoreita);
  • RR on yläkolmiomatriisi.

Esimerkki muotojen jaosta:

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}

Tätä hajotelmaa käytetään usein kun:

  • Matriisi A ei ole neliömatriisi;
  • Ratkaistaan pienimmän neliösumman ongelmia;
  • LU-hajotelma ei ole stabiili.

Mitä ovat ortonormaalit vektorit?

Ortogonaaliset vektorit

Kaksi vektoria u,vu, v ovat ortogonaalisia, jos niiden pistetulo on nolla:

uv=0u \cdot v = 0

Normalisoitu vektori

Vektori uu on normalisoitu, kun u=1|u| = 1.

Ortonormaali joukko

Vektorijoukko {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} on ortonormaali, jos jokainen vektori on yksikköpituinen ja ne ovat keskenään ortogonaalisia:

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

Merkitys: Ortonormaalit sarakkeet matriisissa QQ säilyttävät geometrian, yksinkertaistavat projisointeja ja parantavat numeerista vakautta.

Määrittele matriisi A

Aloitetaan tällä esimerkillä:

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

Käytämme Gram-Schmidt-menetelmää löytääksemme matriisit QQ ja RR siten, että A=QRA=QR. Gram-Schmidt-menetelmä muodostaa ortonormaalin vektorijoukon matriisin AA sarakkeista.

Tämä tarkoittaa, että QQ:n vektorit ovat kaikki keskenään kohtisuorassa (ortogonaalisia) ja yksikköpituudella (normalisoituja). Tämä ominaisuus yksinkertaistaa monia laskuja ja parantaa numeerista vakautta yhtälöitä ratkaistaessa.

Tavoitteena on siis:

  • Tehdä QQ:n sarakkeista ortonormaaleja;
  • Luoda matriisi RR, joka sisältää projisoinnit.

Ensimmäisen kanta­vektorin laskeminen

Otetaan matriisin AA ensimmäinen sarake:

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

Normalisoidaan tämä laskemalla normi:

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

Tällöin:

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}

Tämä on ensimmäinen ortonormaali vektori matriisille QQ.

Vektorin normalisointi

Annetaan vektori:

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

Lasketaan sen normi:

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

Normalisoidaan:

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

Esimerkki:

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

Normalisoitu vektori on siis:

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}

Kun osaamme normalisoida ja ortogonalisoida vektoreita, voimme soveltaa Gram-Schmidt-menetelmää QQ-matriisin muodostamiseen ja käyttää sitä RR:n laskemiseen QR-hajotelmassa.

Laske q₂ Gram-Schmidt-menetelmällä

Lasketaan q2q_2 aloittamalla matriisin AA toisesta sarakkeesta:

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

Seuraavaksi projisoidaan a2a_2 vektorin q1q_1 suuntaan:

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

Poistetaan projektion osuus a2a_2:sta:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normalisoidaan (kuten yllä esitettiin):

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

Nyt sekä q1q_1 että q2q_2 muodostavat ortonormaalin kannan matriisille QQ. Kootaan lopullinen tulos:

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}

Nämä toteuttavat ehdon:

A=QRA = QR
question mark

Mikä on ensimmäinen vaihe Gram-Schmidt-menetelmässä QR-hajotelmaa varten?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 8

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 1.96

bookMatriisihajotelman Perusteet

Pyyhkäise näyttääksesi valikon

Järjestelmien, kuten Ax=bA \vec{x} = \vec{b}, ratkaiseminen voi olla laskennallisesti raskasta, erityisesti suurissa järjestelmissä.

Matriisin hajotelma yksinkertaistaa tätä prosessia jakamalla matriisin AA yksinkertaisempiin osiin, jotka voidaan ratkaista vaiheittain.

LU vs QR

Matriisi AA hajotetaan muihin rakenteellisiin matriiseihin.

LU-hajotelma

Hajotetaan AA alemmaksi ja ylemmäksi kolmio­matriisiksi:

  • Rakennetaan Gaussin eliminaatiolla;
  • Toimii parhaiten neliömatriiseille.
A=LUA = LU

QR-hajotelma

Hajotetaan AA ortogonaaliseksi ja ylemmäksi matriisiksi:

  • Käytetään usein ei-neliömatriiseille;
  • Ihanteellinen pienimmän neliösumman ongelmiin tai kun LU ei toimi.
A=QRA = QR

LU-hajotelma

Aloitetaan neliömatriisilla:

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

Tavoitteena on kirjoittaa tämä muodossa:

A=LUA = LU

Missä:

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}

Tämä hajotelma on mahdollinen jos A on neliö ja kääntyvä.

Tärkeitä huomioita:

  • Alemmissa kolmio­matriiseissa kaikki pää­diagonaalin yläpuoliset alkiot ovat nollia, mikä helpottaa eteenpäin­suuntaista sijoitusta;
  • Ylemmissä kolmio­matriiseissa diagonaalin alapuolella on nollia, mikä tekee taaksepäin­suuntaisesta sijoituksesta suoraviivaista;
  • Ortogonaalisessa matriisissa sarakkeet ovat ortonormaaleja vektoreita (vektorit, joiden pituus on 1 ja jotka ovat kohtisuorassa toisiinsa nähden);
  • Tämä ominaisuus säilyttää vektorin pituuden ja kulmat, mikä on hyödyllistä pienimmän neliösumman ratkaisuissa ja parantaa numeerista vakautta.

Gaussin eliminointi

Sovella Gaussin eliminointia poistaaksesi ylävasemman pivotin alapuolella olevan alkion:

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

Tämä antaa meille:

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

Joten päivitetyt matriisit ovat:

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

Ja rivitoimituksesta tiedämme:

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

Tärkeitä huomioita:

  • Gaussin eliminointi poistaa järjestelmällisesti pivot-alkion alapuolella olevat alkiot jokaisessa sarakkeessa vähentämällä pivot-rivin skaalattuja versioita alemmista riveistä;
  • Tämä prosessi muuntaa A:n yläkolmiomatriisiksi U;
  • Eliminoinnissa käytetyt kertoimet tallennetaan matriisiin L, jolloin A voidaan esittää tulona LU.

LU-hajotelman tulos

Tarkistetaan:

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}

Nyt järjestelmä Ax=bA \vec{x} = \vec{b} voidaan ratkaista kahdessa vaiheessa:

  1. Ratkaise Ly=bL \vec{y} = \vec{b} eteenpäin sijoittamalla;
  2. Ratkaise Ux=yU \vec{x} = \vec{y} taaksepäin sijoittamalla.

QR-hajotelma

Halutaan esittää matriisi AA kahden matriisin tulona:

A=QRA = QR

Missä:

  • AA on syötematriisi (esim. data, kertoimet jne.);
  • QQ on ortogonaalinen matriisi (sen sarakkeet ovat ortonormaalivektoreita);
  • RR on yläkolmiomatriisi.

Esimerkki muotojen jaosta:

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}

Tätä hajotelmaa käytetään usein kun:

  • Matriisi A ei ole neliömatriisi;
  • Ratkaistaan pienimmän neliösumman ongelmia;
  • LU-hajotelma ei ole stabiili.

Mitä ovat ortonormaalit vektorit?

Ortogonaaliset vektorit

Kaksi vektoria u,vu, v ovat ortogonaalisia, jos niiden pistetulo on nolla:

uv=0u \cdot v = 0

Normalisoitu vektori

Vektori uu on normalisoitu, kun u=1|u| = 1.

Ortonormaali joukko

Vektorijoukko {q1,q2,...,qk}\{q_1, q_2, ..., q_k\} on ortonormaali, jos jokainen vektori on yksikköpituinen ja ne ovat keskenään ortogonaalisia:

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

Merkitys: Ortonormaalit sarakkeet matriisissa QQ säilyttävät geometrian, yksinkertaistavat projisointeja ja parantavat numeerista vakautta.

Määrittele matriisi A

Aloitetaan tällä esimerkillä:

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

Käytämme Gram-Schmidt-menetelmää löytääksemme matriisit QQ ja RR siten, että A=QRA=QR. Gram-Schmidt-menetelmä muodostaa ortonormaalin vektorijoukon matriisin AA sarakkeista.

Tämä tarkoittaa, että QQ:n vektorit ovat kaikki keskenään kohtisuorassa (ortogonaalisia) ja yksikköpituudella (normalisoituja). Tämä ominaisuus yksinkertaistaa monia laskuja ja parantaa numeerista vakautta yhtälöitä ratkaistaessa.

Tavoitteena on siis:

  • Tehdä QQ:n sarakkeista ortonormaaleja;
  • Luoda matriisi RR, joka sisältää projisoinnit.

Ensimmäisen kanta­vektorin laskeminen

Otetaan matriisin AA ensimmäinen sarake:

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

Normalisoidaan tämä laskemalla normi:

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

Tällöin:

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}

Tämä on ensimmäinen ortonormaali vektori matriisille QQ.

Vektorin normalisointi

Annetaan vektori:

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

Lasketaan sen normi:

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

Normalisoidaan:

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

Esimerkki:

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

Normalisoitu vektori on siis:

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}

Kun osaamme normalisoida ja ortogonalisoida vektoreita, voimme soveltaa Gram-Schmidt-menetelmää QQ-matriisin muodostamiseen ja käyttää sitä RR:n laskemiseen QR-hajotelmassa.

Laske q₂ Gram-Schmidt-menetelmällä

Lasketaan q2q_2 aloittamalla matriisin AA toisesta sarakkeesta:

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

Seuraavaksi projisoidaan a2a_2 vektorin q1q_1 suuntaan:

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

Poistetaan projektion osuus a2a_2:sta:

u2=a2r12q1u_2 = a_2 - r_{12}q_1

Normalisoidaan (kuten yllä esitettiin):

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

Nyt sekä q1q_1 että q2q_2 muodostavat ortonormaalin kannan matriisille QQ. Kootaan lopullinen tulos:

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}

Nämä toteuttavat ehdon:

A=QRA = QR
question mark

Mikä on ensimmäinen vaihe Gram-Schmidt-menetelmässä QR-hajotelmaa varten?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 8
some-alt