Matemaattiset ohjelmistot 1-2 ov, 2-3 op

Samankaltaiset tiedostot
Ominaisarvoon 4 liittyvät ominaisvektorit ovat yhtälön Ax = 4x eli yhtälöryhmän x 1 + 2x 2 + x 3 = 4x 1 3x 2 + x 3 = 4x 2 5x 2 x 3 = 4x 3.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matemaattinen Analyysi / kertaus

Insinöörimatematiikka D

Kohdeyleisö: toisen vuoden teekkari

Insinöörimatematiikka D

5 OMINAISARVOT JA OMINAISVEKTORIT

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

Paikannuksen matematiikka MAT

Insinöörimatematiikka D

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

6 MATRIISIN DIAGONALISOINTI

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

2.5. Matriisin avaruudet ja tunnusluvut

Inversio-ongelmien laskennallinen peruskurssi Luento 2

1 Matriisit ja lineaariset yhtälöryhmät

Ominaisvektoreiden lineaarinen riippumattomuus

Insinöörimatematiikka D

Vektoreiden virittämä aliavaruus

Matematiikka B2 - TUDI

(1.1) Ae j = a k,j e k.

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

MS-A0004/A0006 Matriisilaskenta

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Ominaisarvo ja ominaisvektori

Tehtäväsarja I Seuraavat tehtävät liittyvät kurssimateriaalin lukuun 7 eli vapauden käsitteeseen ja homogeenisiin

Lineaarikuvauksen R n R m matriisi

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/81

Ominaisarvo-hajoitelma ja diagonalisointi

Insinöörimatematiikka D

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

Ratkaisuehdotukset LH 7 / vko 47

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Valitse ruudun yläosassa oleva painike Download Scilab.

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

Tehtäväsarja I Kertaa tarvittaessa materiaalin lukuja 1 3 ja 9. Tarvitset myös luvusta 4 määritelmän 4.1.

Lineaarialgebra ja matriisilaskenta I

Käänteismatriisin ominaisuuksia

Numeeriset menetelmät

Determinantti 1 / 30

Kanta ja Kannan-vaihto

Ratkaisuehdotukset LH 8 / vko 47

5 Lineaariset yhtälöryhmät

Ortogonaalisen kannan etsiminen

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Ratkaisuehdotukset LH 3 / alkuvko 45

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

7 Vapaus. 7.1 Vapauden määritelmä

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Numeeriset menetelmät

1. LINEAARISET YHTÄLÖRYHMÄT JA MATRIISIT. 1.1 Lineaariset yhtälöryhmät

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Pienimmän neliösumman menetelmä (PNS)

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

MS-C1340 Lineaarialgebra ja

Ortogonaaliset matriisit, määritelmä 1

Oppimistavoitematriisi

Matematiikka B2 - Avoin yliopisto

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Similaarisuus. Määritelmä. Huom.

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/210

BM20A0700, Matematiikka KoTiB2

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Insinöörimatematiikka D

Lineaarialgebra ja matriisilaskenta I

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Pienimmän neliösumman menetelmä (PNS)

Pienimmän neliösumman menetelmä (PNS)

Tyyppi metalli puu lasi työ I II III

Johdatus tekoälyn taustalla olevaan matematiikkaan

Pienimmän Neliösumman menetelmä (PNS)

Ominaisarvo ja ominaisvektori

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

1 Lineaariavaruus eli Vektoriavaruus

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Matriiseista. Emmi Koljonen

Oppimistavoitematriisi

Ortogonaalinen ja ortonormaali kanta

Lineaarinen yhtälöryhmä

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Tehtäväsarja I Seuraavat tehtävät liittyvät kurssimateriaalin lukuun 7 eli vapauden käsitteeseen ja homogeenisiin

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

Matlab- ja Maple- ohjelmointi

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Transkriptio:

Matemaattiset ohjelmistot 1-2 ov, 2-3 op Aloitustehtävät Perehdy netissä olevan oppaan http://mtl.uta.fi/opetus/matem_ohjelmistot/matlab lukuihin 0 Johdanto, 1 matriisit ja vektorit sekä 4 Ohjelmointi ja m-tiedostot. 1. Käynnistä Matlab. Etsi Matlabin helpin avulla tietoa diary -komennosta. Laske sitten Matlabin avulla, mitä on 1+1 ja tallenna lasku ja sen vastaus korpullesi A-asemalle tiedostoon aloitus.txt (komentona siis diary a:aloitus.txt) tai muistitikullesi e-asemalle (yleensä e, komentona siis diary e:aloitus.txt) 2. Muodosta Matlabissa seuraavat matriisit: 1 2 3 4 5 0 6 7 8 9 A = 0 0 10 11 12 0 0 0 13 14, 0 0 0 0 15 1 1 1 1 1 1 1 1 1 1 B = 1 1 1 1 1 1 1 1 1 1, 1 1 1 1 1 C = (c ij ) 5 5, jossa alkiot c ij ovat tasaisesti jakautuneita reaalilukuja välillä (0,1), ( ) A B D =, I 5 0 5 jossa I n tarkoittaa n n identtistä matriisia ja 0 n tarkoittaa n n nollamatriisia. Tulosta (siis tallenna Matlabin komentojen tuottamat vastaukset diarykomentoa käyttäen) tiedostoon a:aloitus.txt seuraavat matriisit (tai alkiot): C, matriisin D alkio d 72, matriisin C 2. vaakarivi (eli rivi), matriisin C 3. pystyrivi (eli sarake) ja matriisi ( ) c22 c 23, c 32 c 33 1

Laske sitten seuraavien lausekkeiden arvot Matlabin avulla: (A + B)(A 5C), (C + C T )/2, A 1, det(d), tr B 3 Vastaukset tiedostoon a:aloitus.txt 3. Selvitä, mitä path-komento tekee (tai sen vastinen the Set Path dialog box File-valikossa). Avaa polku A-asemalle esim. komennolla path(path, a: ), jos käytät korppua tiedostojen tallennusvälineenä (muistitikkua käytettäessä path(path, e: )). Valitse Matlabin File-valikosta New-optiosta vaihtoehto M-file. Kirjoita sitten tiedostoon rivit function s=summa(x,y) %funktio, joka laskee kahden argumenttina saadun luvun summan s=x+y; Tallenna tiedosto summa.m Save-valikon avulla korpullesi (tai muistitikullesi) Kokeile komentoa help summa Jos ei toimi, muista Path-komento. Laske sitten funktiosi avulla, mitä on 1+1. Tallenna suoritus tiedostoon a:aloitus.txt 4. Perehdy Sylvesterin matriisin määritelmään esimerkiksi osoitteista http://mathworld.wolfram.com/letters/ http://planetmath.org/encyclopedia Netissä olevassa Lyhyt johdatus Matlab-ohjelman käyttöön -tekstissä on kohdassa http://mtl.uta.fi/opetus/matem_ohjelmistot/data/ohjelmointi.htm 2

annettu esimerkkinä funktio, joka laskee kahden polynomin Sylvesterin matriisin. Kopioi kyseinen funktio ja muokkaa sitä niin, että se antaa tavanmukaisen määritelmän mukaisen matriisin: Vastaukseksi esimerkkitehtävässä ei siis pitäisi tulla 2 0 0 1 0 0 0 2 0-1 1 0 1 0 2 0-1 1 3 1 0 5 0-1 0 3 1 0 5 0 0 0 3 0 0 5 vaan 2 0 1 3 0 0 0 2 0 1 3 0 0 0 2 0 1 3 1-1 0 5 0 0 0 1-1 0 5 0 0 0 1-1 0 5 Tallenna funktion kutsu ja sen tuottama vastaus tiedostoon a:aloitus.txt 5. Tutustu helpin avulla loogisiin operaattoreihin (Logical Operators), vertailuoperaattoreihin (Relational Operators) ja kontrollirakenteisiin (Flow Control). Olkoon p, q {0, 1}. Laadi funktio lauseen p q totuusarvo lauseen p q totuusarvo T A(p, q, X) = lauseen p q totuusarvo lauseen p q totuusarvo jos X = K (konjunktio) jos X = D (disjunktio) jos X = I (implikaatio) jos X = E (ekvivalenssi) Huomaa että kun esimerkiksi K-kirjain tulkitaan merkkijonoksi, sen ympäri asetetaan heittomerkit. Tallenna funktio nimellä TA.m korpullesi. 6. Selvitä, miten Matlabin komennot min, max, ja sum toimivat. Muodosta jokin 1000 1000 satunnainen matriisi A = rand(1000) (kannattaa käyttää puolipistettä komennon lopussa). Mikä on sen suurin ja mikä 3

pienin alkio? Mikä sen alkioiden summan pitäisi olla noin tilastollisesti? Kuinka monta prosenttia todellinen summa poikkeaa ennusteesta? Tallenna tehtävän suoritus tiedostoon a:aloitus.txt 7. Tee Matlab-funktio, joka saa argumentteina samandimensioiset neliömatriisit A, B ja C ja vertailee matriisien ABC, BAC ja CAB jälkijä (traces) keskenään. Mitä huomaat (tai ainakin mitä pitäisi huomata)? Tee funktiostasi sellainen, että se tulostaa vastaukseksi onko jälki sama vai ei. Hyödynnä tässä display -komentoa (tyyliin if [...] display( tr ABC = tr BAC ), else display( tr ABC <> tr BAC ), end Tallenna funktio korpullesi nimellä tracetesti.m Tehtyäsi tehtävät kopioi tiedostojen aloitus.txt, TA.m ja tracetesti.m sisältö sähköpostiin (ei liitetiedostoina). Liitä loppuun myös havaintosi tracetesti.m funktion tuottamista tuloksista. Huolehdi siitä, että aloitus.txt -tiedostossa on selvästi ilmoitettu mihin tehtävään tiedostossa oleva teksti liittyy. Voit esimerkiksi matlabissa käyttää kommenttiriviä %Tehtävä n otsikoinnissa. Mailaa teksti sitten osoitteeseen ari.virtanen@uta.fi Kommentoin sitten suoritusta ja sen jälkeen voit alkaa tekemään muita alla olevia tehtäviä. Kun yksittäisen tehtävän ratkaiseminen tuntuu onnistuvan, tallenna Matlabissa suorittamasi toimenpiteet lokitiedostoon matlab.txt (voit toki tallentaa koko istuntosi, mutta deletoi turhat yritysket pois). Kun tehtävä on laatia funktio f, niin kun olet saanut funktion toimimaan, laadi siihen copy-%-paste -menetelmällä helppi, joka tulostaa tiedoston f.m määrityksen lokitiedostoosi (komennolla help f ). Osassa tehtävässä edellyttään myös jotain kommenttia. Kirjoita se joko Matlabissa kommenttiriviksi %- merkkiä käyttäen tai tekstieditorilla lokitiedostoosi. Vastaukseksi läheteään sähköpostissa tiedoston matlab.txt sisältö (ei liitetiedostona). 4

Lineaariset yhtälöryhmät 8. Polynomin a 0 + a 1 x + a 2 x 2 + + a 5 x 5 kuvaaja kulkee pisteiden (1, 2), (2, 1), (3, 6), (4, 5), (5, 4), (6, 3) kautta. Määritä ratkaisemalla sopiva lineaarinen yhtälöryhmä kertoimien a i arvot. Anna vastaus vektorimuodossa (a 0, a 1,..., a 5 ). 9. Tee funktiota rank hyödyntävä Matlabin funktio, joka saa syötteenä m n-matriisin A ja m 1-vektorin b ja antaa vastaukseksi yhtälöryhmän Ax = b jonkin ratkaisun, jos sillä ylipäätään on ratkaisu, ja muussa tapauksessa palauttaa tiedon, ettei ratkaisua ole. 10. Olkoon s opiskelijanumerosi numero-osa. Aseta satunnaislukugeneraattori tilaan s komennolla rand( state,s). Generoi sitten matriisi A = rand(10). Tutki, onko homogeenisella yhtälöryhmällä Ax = 0 muitakin kuin triviaali ratkaisu x = 0. Jos ei ole, niin muodosta sellainen matriisi B, että sen 9 ensimmäistä vaakariviä ovat samoja kuin matriisissa A, viimeinen vaakarivi ei ole minkään muun vaakarivin monikerta (koska tämä on liian helposti keksittävä ratkaisu) ja yhtälöryhmällä Bx = 0 on muitakin kuin triviaali ratkaisua. 11. Mikä on edellisen tehtävän matriisin A pelkistetty porrasmuoto? Mikä on matriisin B pelkistetyn porrasmuodon viimeinen pystyrivi? Vihje: ainakin matriisin B kohdalla kannattaa tutkia, mitä komento rref tekee. 12. Olkoon s syntymäpäiväsi muodossa ppkk. Aseta satunnaislukugeneraattori tilaan s komennolla rand( state,s) ja generoi sitten satunnainen 3 6-matriisi. Etsi yhtälöryhmän Cx = (1, 2, 3) T kaikki ratkaisut. Vastaus muodossa X0 + t1 X1 + t2 X2 +... + tn Xn X0=... X1=... tässä numeroarvoja Xn =... t1,..., tn vapaasti valittavia reaalilukuja. 5

Tarkista vastauksesi joillekin valitsemillesi parametrien t i arvoille. 13. Konstruoi jokin sellainen 2 3-matriisi A, että yhtälöryhmällä Ax = (1, 1) T ei ole ratkaisua. Mikä on paras approksimatiivinen ratkaisu pienimmän neliösumman mielessä (ks. least squares, overdetermined problem). 14. Olkoon annettu pisteet (x i, y i ), i = 1, 2,..., n. Yleensä nämä pisteet eivät ole samalla suoralla. Miten Matlabissa löydetään suora kx + b, joka minimoi virheen n i=1 (kx i + b y i ) 2 eli joka on paras mahdollinen pienimmän neliösumman mielessä? Vastaukseksi riittää käsitellä esimerkkitapausta, jossa pisteet ovat (0, 1), (1, 2), (2, 3), (3, 3), (4, 5), (5, 5). Yleistä vektoriavaruuksiin liittyen 15. Muodostetaan matriisi A seuraavasti rand( state, 011206) A=round(10*rand(5,4)) Olkoon a i matriisin A i:s pystyrivi (sarake). Esitä, jos mahdollista, (i) vektori x = (16, 14, 13, 2, 1) (ii) vektori y = (2, 14, 13, 1, 16) (iii) z = (14, 2, 1, 13, 16) vektoreiden a 1, a 2, a 3, a 4 lineaarikombinaationa. 16. Tee funktio kulma(i), joka palauttaa vektorin (l 1, l 2, a), jossa l 1 on vektorin x = (i, 2, 3,..., 100) pituus, l 2 on vektorin y = (100, 99, 98,..., i) pituus ja a on vektoreiden x ja y välinen kulma radiaaneissa. Suorita funktiosi parilla kolmella argumentin i arvolla. 17. Määritä Matlabin null-komentoa käyttäen kaikki vektorit, jotka ovat kohtisuorassa vektoreita (1, 3, 5, 7, 9) ja (1, 1, 1, 1, 1) vastaan. 18. Laadi funktio asteet(a), joka saa argumenttina m n-matriisin A ja palauttaa vektorin (m, n, rank A, rank AA T ). Kokeile funktiotasi muutaman kerran. Mitä huomaat? 6

19. Olkoon A = 1 2 3 4 2 3 4 5 3 4 5 6. Laske rref -komentoa hyödyntäen matriisin A sarakkeiden virittämän aliavaruuden kanta. Anna vastaukseksi myös kyseinen kanta. 20. Laske Matlabin avulla vektorien (1, 2), (2, 1) ja (10, 9) virittämän aliavaruuden ortonormaali kanta. Ominaisarvot ja -vektorit 21. Muodosta jokin satunnainen symmetrinen 5 5-matriisi A, jonka alkiot ovat kokonaislukuja. Laske matriisin A ominaisarvot. Mikä on suurinta ominaisarvoa vastaava ominaisvektori? 22. Merkitään su A tarkoittamaan matriisin A alkioiden summaa. Generoi symmetrisiä n n-matriiseja ja vertaile lausekkeen su A/n arvoa matriisin A suurimpaan ominaisarvoon. Mitä huomaat? Pyri sitten selvittämään kokeilemalla, mikä on lim m (su A m /n) 1/m, kun A on mielivaltainen symmetrinen matriisi. 23. Diagonalisoi matriisi A = 4 5 0 3 5 5 0 1 0 0 6 0 3 1 0 1 Olkoon vastaus PDP T. Vertaile matriiseja A m ja PD m P T arvoilla m = 1, 2, 3,.... Onko tulos odotusten mukainen? 7

Lisätehtäviä Lisätehtäviä tehdään vasta menestyksellisesti suoritetun näyttökokeen jälkeen. Opintopisteläiset tekevät lisätehtävät 2 opintopisteen suoritukseen, opintoviikkolaiset 2 opintoviikon suoritukseen. Näiden lisätehtävien (joilla lähinnä tasoitetaan opintopisteiden ja opintoviikkojen välistä suhdetta) lisäksi laajempaan 3 opintopisteen tai 2 opintoviikon suoritukseen edellytetään pienimuotoinen harjoitustyö joko annetusta tai itse valitusta aiheesta. 24. Olkoon 1 vektori (1, 1,..., 1) T. Matriisin A sanotaan olevan kaksoisstokastinen, jos jokainen matriisin alkio on ei-negatiivinen ja A1 = 1 ja 1 T A = 1 T (eli rivi- ja sarakesummat ovat 1). Esimerkiksi permutaatiomatriisi on kaksoisstokastinen matriisi. Konstruoi sellainen kaksoisstokastinen 3 3-, 5 5- ja 20 20-matriisi, jonka mikään alkio ei ole nolla. 25. (Vrt. MVLS, eli Merikoski, Väänänen, Laurinolli, Sankilampi: Matematiikan taito 15, s. 56). Mikä on vakioita a 0 ja b koskeva välttämätön ja riittävä ehto sille, että yhtälöparilla { x + 4y = 3 ax + 2y = b on ratkaisuja (i) täsmälleen yksi (ii) ei yhtään (iii) äärettömän monta. Selvitä asia itselle teorian tasolla. Havainollista sitten tulosta Matlabin avulla esittämällä graafisesti suorat (3 x)/4 ja (b ax)/2 sellaisilla a:n ja b:n arvoilla, jotka vastaavat tapauksia (i), (ii) ja (iii) (siis kolme kuviota). Laadi funktio kuvio(a, b), jolla näitä kuvioita voi tuottaa. Suoran y = kx + m voi piirtää esim. komennolla >> suora= [ (,num2str(k), *x), +,num2str(m)]; >> ezplot(suora,[t0,t1]) jossa k:lle ja m:lle on asetettu numeroarvo ja [t 0, t 1 ] on sopiva väli. Komennolla hold on saa piirrettyä useita funktioiden kuvaajia samaan kuvioon. 26. Laadi funktio, joka saa argumenttina sopivassa matriisimuodossa pisteet (x i, y i ), i = 1, 2,..., n ja palauttaa suoran kx+b, joka minimoi virheen n i=1 (kx i + b y i ) 2 eli joka on paras mahdollinen pienimmän 8

neliösumman mielessä, parametrit k ja b. Lisäksi funktion on tuotettava kuvio, jossa ovat nämä pisteet ja löytämäsi suora y = kx + b. Kuvion tuottamiseksi harjoittele kokeilemalla komentoa plot(0:5,[1,2,3,3,5,5], x ). Muista myös komento hold on. 27. Tee Matlabissa funktio, joka saa argumenttina neliömatriisin A ja tulostaa sen asteen ja tiedon, kuinka monikertainen ominaisarvo nolla on (vastaus voi olla siis myös 0 eli nolla ei ole ominaisarvo). Mitä huomaat? Pyöristysvirheiden vuoksi riittävän lähellä nollaa oleva ominaisarvo on syytä tulkita nollaksi. 28. Tee funktio, joka saa argumenttina matriisin, palauttaa virheilmoituksen, jos matriisin alkiot eivät ole positiivisia, ja muussa tapauksessa palauttaa matriisin itseisarvoltaan suurimman ominaisarvon λ, pienimmän rivisumman r, pienimmän sarakesumman c, suurimman rivisumman R ja suurimman sarakesumman C. Tee sitten funktio, joka suorittaa yllä olevan funktion k:lle satunnaiselle positiiviselle matriisille ja vertailee lukuja λ, λ, r, R, c ja C toisiinsa. Mitä huomaat? 9