Matriisihajotelman Perusteet
Järjestelmien, kuten Ax=b, ratkaiseminen voi olla laskennallisesti raskasta, erityisesti suurissa järjestelmissä.
Matriisin hajotelma yksinkertaistaa tätä prosessia jakamalla matriisin A yksinkertaisempiin osiin, jotka voidaan ratkaista vaiheittain.
LU vs QR
Matriisi A hajotetaan muihin rakenteellisiin matriiseihin.
LU-hajotelma
Hajotetaan A alemmaksi ja ylemmäksi kolmiomatriisiksi:
- Rakennetaan Gaussin eliminaatiolla;
- Toimii parhaiten neliömatriiseille.
QR-hajotelma
Hajotetaan A ortogonaaliseksi ja ylemmäksi matriisiksi:
- Käytetään usein ei-neliömatriiseille;
- Ihanteellinen pienimmän neliösumman ongelmiin tai kun LU ei toimi.
LU-hajotelma
Aloitetaan neliömatriisilla:
A=[4633]Tavoitteena on kirjoittaa tämä muodossa:
A=LUMissä:
L=[1l2101], U=[u110u12u22]Tämä hajotelma on mahdollinen jos A on neliö ja kääntyvä.
Tärkeitä huomioita:
- Alemmissa kolmiomatriiseissa kaikki päädiagonaalin yläpuoliset alkiot ovat nollia, mikä helpottaa eteenpäinsuuntaista sijoitusta;
- Ylemmissä kolmiomatriiseissa diagonaalin alapuolella on nollia, mikä tekee taaksepäinsuuntaisesta 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:
R2→R2−46R1Tämä antaa meille:
R2′=[0,−1.5]Joten päivitetyt matriisit ovat:
U=[403−1.5]Ja rivitoimituksesta tiedämme:
L=[11.501]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=[11.501][403−1.5]=[4633]Nyt järjestelmä Ax=b voidaan ratkaista kahdessa vaiheessa:
- Ratkaise Ly=b eteenpäin sijoittamalla;
- Ratkaise Ux=y taaksepäin sijoittamalla.
QR-hajotelma
Halutaan esittää matriisi A kahden matriisin tulona:
A=QRMissä:
- A on syötematriisi (esim. data, kertoimet jne.);
- Q on ortogonaalinen matriisi (sen sarakkeet ovat ortonormaalivektoreita);
- R on yläkolmiomatriisi.
Esimerkki muotojen jaosta:
A=[a1a3a2a4]=[q1q3q2q4][r110r12r22]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,v ovat ortogonaalisia, jos niiden pistetulo on nolla:
u⋅v=0Normalisoitu vektori
Vektori u on normalisoitu, kun ∣u∣=1.
Ortonormaali joukko
Vektorijoukko {q1,q2,...,qk} on ortonormaali, jos jokainen vektori on yksikköpituinen ja ne ovat keskenään ortogonaalisia:
qi⋅qj={1, jos i=j,0, jos i=j.Merkitys: Ortonormaalit sarakkeet matriisissa Q säilyttävät geometrian, yksinkertaistavat projisointeja ja parantavat numeerista vakautta.
Määrittele matriisi A
Aloitetaan tällä esimerkillä:
A=[4633]Käytämme Gram-Schmidt-menetelmää löytääksemme matriisit Q ja R siten, että A=QR. Gram-Schmidt-menetelmä muodostaa ortonormaalin vektorijoukon matriisin A sarakkeista.
Tämä tarkoittaa, että Q: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ä Q:n sarakkeista ortonormaaleja;
- Luoda matriisi R, joka sisältää projisoinnit.
Ensimmäisen kantavektorin laskeminen
Otetaan matriisin A ensimmäinen sarake:
a1=[46]Normalisoidaan tämä laskemalla normi:
∣a1∣=42+62=16+36=52Tällöin:
q1=521[46]=[524526]Tämä on ensimmäinen ortonormaali vektori matriisille Q.
Vektorin normalisointi
Annetaan vektori:
v=v1v2⋮vnLasketaan sen normi:
∣v∣=v12+v22+...+vn2Normalisoidaan:
v^=∣v∣1vEsimerkki:
v=[34], ∣v∣=32+42=5Normalisoitu vektori on siis:
v^=51[34]=[0.60.8]Kun osaamme normalisoida ja ortogonalisoida vektoreita, voimme soveltaa Gram-Schmidt-menetelmää Q-matriisin muodostamiseen ja käyttää sitä R:n laskemiseen QR-hajotelmassa.
Laske q₂ Gram-Schmidt-menetelmällä
Lasketaan q2 aloittamalla matriisin A toisesta sarakkeesta:
a2=[33]Seuraavaksi projisoidaan a2 vektorin q1 suuntaan:
r12=q1Ta2=521(4⋅3+6⋅3)=521⋅30Poistetaan projektion osuus a2:sta:
u2=a2−r12q1Normalisoidaan (kuten yllä esitettiin):
q2=∣u2∣u2Nyt sekä q1 että q2 muodostavat ortonormaalin kannan matriisille Q. Kootaan lopullinen tulos:
Q=[q1q2], R=[r110r12r22]Nämä toteuttavat ehdon:
A=QRKiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 1.96
Matriisihajotelman Perusteet
Pyyhkäise näyttääksesi valikon
Järjestelmien, kuten Ax=b, ratkaiseminen voi olla laskennallisesti raskasta, erityisesti suurissa järjestelmissä.
Matriisin hajotelma yksinkertaistaa tätä prosessia jakamalla matriisin A yksinkertaisempiin osiin, jotka voidaan ratkaista vaiheittain.
LU vs QR
Matriisi A hajotetaan muihin rakenteellisiin matriiseihin.
LU-hajotelma
Hajotetaan A alemmaksi ja ylemmäksi kolmiomatriisiksi:
- Rakennetaan Gaussin eliminaatiolla;
- Toimii parhaiten neliömatriiseille.
QR-hajotelma
Hajotetaan A ortogonaaliseksi ja ylemmäksi matriisiksi:
- Käytetään usein ei-neliömatriiseille;
- Ihanteellinen pienimmän neliösumman ongelmiin tai kun LU ei toimi.
LU-hajotelma
Aloitetaan neliömatriisilla:
A=[4633]Tavoitteena on kirjoittaa tämä muodossa:
A=LUMissä:
L=[1l2101], U=[u110u12u22]Tämä hajotelma on mahdollinen jos A on neliö ja kääntyvä.
Tärkeitä huomioita:
- Alemmissa kolmiomatriiseissa kaikki päädiagonaalin yläpuoliset alkiot ovat nollia, mikä helpottaa eteenpäinsuuntaista sijoitusta;
- Ylemmissä kolmiomatriiseissa diagonaalin alapuolella on nollia, mikä tekee taaksepäinsuuntaisesta 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:
R2→R2−46R1Tämä antaa meille:
R2′=[0,−1.5]Joten päivitetyt matriisit ovat:
U=[403−1.5]Ja rivitoimituksesta tiedämme:
L=[11.501]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=[11.501][403−1.5]=[4633]Nyt järjestelmä Ax=b voidaan ratkaista kahdessa vaiheessa:
- Ratkaise Ly=b eteenpäin sijoittamalla;
- Ratkaise Ux=y taaksepäin sijoittamalla.
QR-hajotelma
Halutaan esittää matriisi A kahden matriisin tulona:
A=QRMissä:
- A on syötematriisi (esim. data, kertoimet jne.);
- Q on ortogonaalinen matriisi (sen sarakkeet ovat ortonormaalivektoreita);
- R on yläkolmiomatriisi.
Esimerkki muotojen jaosta:
A=[a1a3a2a4]=[q1q3q2q4][r110r12r22]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,v ovat ortogonaalisia, jos niiden pistetulo on nolla:
u⋅v=0Normalisoitu vektori
Vektori u on normalisoitu, kun ∣u∣=1.
Ortonormaali joukko
Vektorijoukko {q1,q2,...,qk} on ortonormaali, jos jokainen vektori on yksikköpituinen ja ne ovat keskenään ortogonaalisia:
qi⋅qj={1, jos i=j,0, jos i=j.Merkitys: Ortonormaalit sarakkeet matriisissa Q säilyttävät geometrian, yksinkertaistavat projisointeja ja parantavat numeerista vakautta.
Määrittele matriisi A
Aloitetaan tällä esimerkillä:
A=[4633]Käytämme Gram-Schmidt-menetelmää löytääksemme matriisit Q ja R siten, että A=QR. Gram-Schmidt-menetelmä muodostaa ortonormaalin vektorijoukon matriisin A sarakkeista.
Tämä tarkoittaa, että Q: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ä Q:n sarakkeista ortonormaaleja;
- Luoda matriisi R, joka sisältää projisoinnit.
Ensimmäisen kantavektorin laskeminen
Otetaan matriisin A ensimmäinen sarake:
a1=[46]Normalisoidaan tämä laskemalla normi:
∣a1∣=42+62=16+36=52Tällöin:
q1=521[46]=[524526]Tämä on ensimmäinen ortonormaali vektori matriisille Q.
Vektorin normalisointi
Annetaan vektori:
v=v1v2⋮vnLasketaan sen normi:
∣v∣=v12+v22+...+vn2Normalisoidaan:
v^=∣v∣1vEsimerkki:
v=[34], ∣v∣=32+42=5Normalisoitu vektori on siis:
v^=51[34]=[0.60.8]Kun osaamme normalisoida ja ortogonalisoida vektoreita, voimme soveltaa Gram-Schmidt-menetelmää Q-matriisin muodostamiseen ja käyttää sitä R:n laskemiseen QR-hajotelmassa.
Laske q₂ Gram-Schmidt-menetelmällä
Lasketaan q2 aloittamalla matriisin A toisesta sarakkeesta:
a2=[33]Seuraavaksi projisoidaan a2 vektorin q1 suuntaan:
r12=q1Ta2=521(4⋅3+6⋅3)=521⋅30Poistetaan projektion osuus a2:sta:
u2=a2−r12q1Normalisoidaan (kuten yllä esitettiin):
q2=∣u2∣u2Nyt sekä q1 että q2 muodostavat ortonormaalin kannan matriisille Q. Kootaan lopullinen tulos:
Q=[q1q2], R=[r110r12r22]Nämä toteuttavat ehdon:
A=QRKiitos palautteestasi!