Liukuluvut Tietokonelaskuissa käytetään liukulukuja: mikä esittää lukua ± α α α M β k ± ( M α i β i )β k, i= β on järjestelmän kantaluku, α α M liukuluvun mantissa, α,, α M lukuja,,,, β, siten että α Esimerkki 674 3 = (6 +7 +4 3 ) 3 = 6 +7 +4 = 674 Osittaistuenta Laskuissa esiintyy pyöristysvirheitä, joiden vaikutus saattaa kasautua Jos tukialkio Gaussin algoritmissa on itseisarvoltaan pieni muihin alkioihin verrattuna, niin rivien lisäämisessä tarvittavat kertoimet tulevat itseisarvoltaan suuriksi Luvuissa jo olevat pyöristysvirheet voimistuvat Osittaistuenta Gaussin algoritmissa: Etsitään sarakkeen itseisarvoltaan suurin alkio ja vaihdetaan tämä tukialkioiksi (eli ko rivi riviksi) Tämä tehdään jokaiselle Gaussin algoritmiin liittyvälle osamatriisille
Esimerkki Ratkaise yhtälöryhmä 7x + 3x + 5x 3 = 55 35x + 47x + 3x 3 = 5 7x + 3x x 3 = 6 käyttämällä liukulukuaritmetiikkaa, missä β = ja M = 4 Tarkka ratkaisu: x = x = x 3 = Gauss ilman osittaistuentaa: x =, 3, x =, 9944 ja x 3 =, 9939 Esimerkki jatkoa Ratk Laajennettu kerroinmatriisi: 7 3 5 55 7 3 5 55 35 47 3 5 35 47 3 5 7 3 6 7 3 6 35 47 3 5 4857 7 3 5 55 + 7 3 6 35 47 3 5 7 388 4 6 66 5 +
Esimerkki jatkoa 35 47 3 5 6 66 5 7 388 4 35 47 3 5 6 66 5 396 396 Vastaava yhtälöryhmä: 7967 + 35x + 47x + 3x 3 = 5 6x 66x 3 = 5 396x 3 = 396 x = x = x 3 = 4 Käänteismatriisin laskeminen Jos matriisilla A on käänteismatriisi A, niin AA = A A = I Miten käänteismatriisi lasketaan tehokkaasti?
Esimerkki 3 Määrää matriisin Käänteismatriisi A = 3 4 3 8 Ratk Merkitään A = b b b 3 b b b 3 b 3 b 3 b 33 Oltava A A = I Esimerkki jatkoa b b b 3 3 b b b 3 = 4 3 8 b 3 b 3 b 33 3 yhtälöryhmää:
Esimerkki jatkoa b b b 3 3 b b b 3 = 4 3 8 b 3 b 3 b 33 sarake: b + b + b 3 = Gauss: b + b + 3 b 3 = 4 b 3 b + 8 b 3 = 3 4 3 8 Esimerkki jatkoa 3 b b b 3 3 b b b 3 = 4 3 8 b 3 b 3 b 33 sarake: b + b + b 3 = Gauss: b + b + 3 b 3 = 4 b 3 b + 8 b 3 = 3 4 3 8
Esimerkki jatkoa 4 b b b 3 3 b b b 3 = 4 3 8 b 3 b 3 b 33 3 sarake: b 3 + b 3 + b 33 = Gauss: b 3 + b 3 + 3 b 33 = 4 b 3 3 b 3 + 8 b 33 = 3 4 3 8 Esimerkki jatkoa 5 3 yhtälöryhmää: 3, 3, 3 4 3 8 4 3 8 4 3 8 Voidaan ratkaista yhtäaikaa: 3 4 3 8
Esimerkki jatkoa 6 3 4 3 8 3 4 3 8 3 3 4 4 3 3 4 4 + 3 + Esimerkki jatkoa 7 Jatketaan vielä: 3 + 3 4 + 3 9 7 3 4 3
Esimerkki jatkoa 8 Palautus yhtälöryhmäksi: Sarake: 9 7 3 4 3 b + b + b 3 = 9 b + b + b 3 = b + b + b 3 = 3 b = 9 b = b 3 = 3 Esimerkki jatkoa 9 Palautus yhtälöryhmäksi: 9 7 3 4 3 Sarake: b = 7 b = 4 = b 3 3 Sarake: b 3 = 3 b 3 = b 33 =
Esimerkki jatkoa A = b b b 3 b b b 3 = b 3 b 3 b 33 9 7 3 4 3 Vertaa: 9 7 3 4 3 Osa ratkaisusta turhaa Käänteismatriisi yleisesti Yleisesti: Jos A = u u u n u u u n = ( u u u n ) u n u n u nn on A:n käänteismatriisi, niin AA = A( u u u n ) = I, joten A u = A u u u n = A u = e, A u 3 = e 3,, A u n = e n = e,
Jatkoa Aina kun i =,, 3,, n: a a a n a a a n a n a n a nn u i u i u ni =, Jatkoa u i löydetään ratkaisemalla lineaarinen yhtälöryhmä Gaussin menetelmällä lähtemällä matriisista a a n a (i ) a (i )n a i a in a (i+) a (i+)n a n a nn = (A e i ) ja käänteismatriisi saadaan ratkaisemalla n yhtälöryhmää A u i = e i, i =,, n
Jatkoa 3 Ratkaisu yhtäaikaa: a a n a a n = (A I ) a n a nn Jatkoa 4 Jos (A I ) voidaan saattaa vaakarivialkeismuunnoksille muotoon b b b n b b b n b n b n b nn = (I b b b n ) = (I B), niin B = A
Jatkoa 5 Perustelu: (I B) vastaa n:ää lineaarista yhtälöryhmää u i + u i + u 3i + + u ni = b i u i + u i + u 3i + + u ni = b i u i + u i + + u n i + u ni = b ni, i =,,, n Matriisimuodossa: I ( u u u n ) = ( b b b n ) Siis: ( u u u n ) = ( b b b n ) eli A = B Esimerkki 4 Määrää matriisin käänteismatriisi A = 3 4 Ratk (A I ) = 3 4 ( ) 3 3 +
Esimerkki 4 jatkoa 3 ( ) 3 6 + 3 + 6 3 + 6 Esimerkki 4 jatkoa 3 6 = (I A ), eli A = 3 6
Esimerkki 5 Määrää matriisin käänteismatriisi Ratk A = 4 6 5 LU-hajotelma
Esimerkki 6 Ratkaise yhtälöryhmä x + 3x x 3 = 4 x + x + x 3 = 7 x + 6x + x 3 =, kun tiedetään, että yhtälöryhmän kerroinmatriisi 3 3 A = = 4 6 4 Esimerkki 6 jatkoa Ratk x + 3x x 3 = 4 x + x + x 3 = 7 x + 6x + x 3 = eli 3 x x = 6 x 3 4 7 Siis Merkitään 3 x 4 4 x = 7 4 x 3 3 x y 4 x = y 4 x 3 y 3
Esimerkki 6 jatkoa Silloin Vastaava yhtälöryhmä: y 4 y = 7 y 3 y = 4 y +y = 7 y + y 3 = y = 4, y = ja y 3 = Esimerkki 6 jatkoa 3 Koska niin 3 x y 4 x = y 4 x 3 y 3 3 x 4 4 x = 4 x 3 Vastaava yhtälöryhmä: x +3x x 3 = 4 4x +x 3 = 4x 3 = Taaksepäin sijoittamalla saadaan x 3 = 3, x = ja x = Vastaus: x =, x =, x 3 = 3
LU-hajotelma Yleisesti: Oletus: n n neliömatriisi A voidaan kirjoittaa tulona LU = A, missä L on alakolmiomatriisi ja U on yläkolmiomatriisi Tapaus n = 4: l u u u 3 u 4 l l u u 3 u 4 l 3 l 3 l 33 u 33 u 34 = l 4 l 4 l 43 l 44 u 44 a a a 3 a 4 a a a 3 a 4 a 3 a 3 a 33 a 34 a 4 a 4 a 43 a 44 Jatkoa Lineaarinen yhtälöryhmä A x = b, eli A x = (LU) x = L(U x) = b, voidaan ratkaista ratkaisemalla ensin alakolmioryhmä L y = b ja sen jälkeen yläkolmioryhmä U x = y
Jatkoa Alakolmioryhmä ratkaistaan eteenpäin sijoittamisella, y = b l, y i = l ii [b i i l ij y j ], i =, 3,, n, j= ja yläkolmioryhmä taaksepäin sijoittamisella, x n = y n u nn, x i = u ii [y i n j=i+ u ij x j ], i = n, n,, Yksikäsitteisyys Huom LU-hajotelma ei ole yksikäsitteinen Jos A = LU, niin A = LDD U = (LD)(D U) = L U on myös LU-hajotelma, jos D on diagonaalimatriisi Jos vaaditaan, että l ii = kaikilla i =,, n, niin hajotelma on yksikäsitteinen
Doolittlen algoritmi Määrää LU-hajotelma matriisille: 3 4 4 5 3 7 3 Ratk U saadaan lisäämällä luvulla kerrottuja rivejä toisiinsa L saadaan lisättyjen rivien kertoimista 3 4 U = A = 4 5 L = I = 3 7 3 Nyt L U = I A = A Jatkoa Lisätään U :n rivi luvulla kerrottuna riviin: 3 4 3 4 U = 3 4 4 5 = 3 3 7 3 3 7 3 L = L U = = 3 4 + 3 + 4 + 3 3 7 3 3 4 4 5 = A 3 7 3
Jatkoa Lisätään U :n rivi luvulla 3 kerrottuna 3 riviin: 3 4 3 4 U = 3 = 3 3 + 3 3 3 + 7 3 4 + 3 8 L = +3 L U = 3 4 + 3 + 4 + 3 = A 3 + 3 3 + 8 3 4 + Jatkoa 3 Lisätään U :n rivi luvulla 4 kerrottuna 3 riviin: 3 4 U = 3 L = 3 4 Nyt L U = A