Rinnakkaistietokoneet luento S

Koko: px
Aloita esitys sivulta:

Download "Rinnakkaistietokoneet luento S"

Transkriptio

1 Rinnakkaistietokoneet luento S

2 Silmukkamuunnokset Silmukkamuunnoksilla silmukat muunnetaan joihinkin edellä esitettyihin rinnakkaismuotoihin Jakson kutistaminen (cycle shrinking) tämä muunnos soveltuu tapauksiin joissa riippuvuussykli liittyy iteraatioihin jotka ovat kaukana toisistaan Muuttaa sarjamuotoisen DO-silmukan kahdeksi sisäkkäiseksi silmukaksi: ulompi silmukka on sarjamuotoinen ja sisempi rinnakkaismuodossa Jakson kutistaminen erottaa lauseiden riippumattomat osat ja muodostaa rinnakkaisen sisäsilmukan

3 Esim: do i=1,n, step 1 a(i+k) = b(i) 1 b(i+k) = a(i) + c(i) Silmukalla on vakio riippuvuussykli jossa jokainen riippuvuusvektori on muotoa d = k (luotua muuttujaa käytetään k iteraation päästä: a ja b muuttujat) Jos riippuvuuden etäisyys on suurempi kuin 1, eli k > 1, voidaan silmukka muuttaa nopeampaan muotoon: do i1=1,n, step k doall i=i1, i1 + k 1 a(i+k) = b(i) 1 b(i+k) = a(i) + c(i) all... i1 i1+1 i k = 3

4 Jos silmukassa on useita vakioriippuvuuksia, silmukan läpikäyntiaikaa voidaan pienentää riippuvuuksien minimietäisyyteen verrannollisella tekijällä Esim: do i = 1,n x(i) = y(i) + z(i) y(i+3) = x(i-4)*w(i) Silmukalla on kaksi riippuvuutta: toinen pituudeltaan 3 (y:n kautta) ja toinen 4 (x:n kautta) Tämä tarkoittaa, että silmukka voidaan suorittaa kolmen (= min(3, 4)) iteraation samanaikaisissa lohkoissa: do j = 1,n, step 3 doall i = j, j+2 x(i) = y(i) + z(i) y(i+3) = x(i-4)*w(i) all

5 Katsotaan seuraavaksi silmukkaa jonka iteraatioavaruus on moniulotteinen Esim: do i = 3, n do j = 5, m a(i,j) = b(i-3,j-5) b(i,j) = a(i-2,j-4) Riippuvuusmatriisi on: D 2 = d1 d2 i j

6 Jakson kutistamista voidaan soveltaa molempiin indekseihin erikseen, eli riippuvuusmatriisin riveihin Ulompi silmukka voidaan kutistaa tekijän 2 = min(2,3) verran ja sisempi silmukka tekijän 4 = min(4,5) verran, eli: do i1 = 3,N, step 2 do j1 = 5,m, step 4 doall i = i1, i1 + 1 doall j = j1, j1 + 3 a(i,j) = b(i-3,j-5) i b(i,j) = a(i-2,j-4) all all j Uudessa silmukassa lauseet evaluoidaan 2 x 4 kokoisissa (iteraatioavaruuden) lohkoissa samanaikaisesti Kuten kaikissa silmukoissa, joissa on iteraatioiden välisiä riippuvuuksia täytyy reunaehto (boundary condition) olla määritelty, eli iteraatiot joiden riippuvuudet vievät silmukassa käytävän iteraatioavaruuden ulkopuolelle pitää olla määriteltyjä (ts. muuttujilla näiden riippuvuuksien alkupäässä on jokin määritetty alkuarvo)

7 Muunnetussa silmukassa suoritetaan 8 (= 4 x 2) operaatiota samanaikaisesti, mikä antaan kahdeksan kertaisen suoritusnopeuden Riippuvuusvektorien tarkempi analyysi kertoo, että silmukan suoritusaikaa voidaan edelleen pienentää soveltamalla valikoitua kutistamista (selective shrinking): tämä tarkoittaa, että usein riittä uloimman silmukan kutistaminen ja muuntaa sisemmät silmukan DOALL-rakenteeksi (=rinnakkaiseksi) Edellisessä esimerkissä riittää ulomman silmukan kutistaminen: j iteraatiot suoritetaan samanaikaisesti Tämä on mahdollista, koska uloimman silmukan kutistaminen hoitelee riippuvuuden oikein automaattisesti: do i1 = 3, n, step 2 doall i = i1, i1+1 doall j = 5,m a(i,j) = b(i-3,j-5) b(i,j) = a(i-2,j-4) all all i d1 2 d2 j

8 Silmukan keskinäisvaihto (loop interchange) silmukoiden järjestys vaihdetaan: pidetään huoli, että koodin oikeellisuus säilyy esim. edellisessä esimerkissä vaihtamalla sisä- ja ulkosilmukka keskenään saadaan kutistustekijää suurennettua kahdesta neljään, mikä mahdollistaa enemmän rinnakkaisuutta Silmukan keskinäisvaihto on sallittu toimenpide, jos uudet riippuvuusvektorit pysyvät positiivisina Esim. seuraava silmukka ei sovellu keskinäisvaihtomuunnokseen: do i = 1,n do j = 1,n a(i,j) = a(i-1,j+1) + b(i-2,j) d = [1-1] i j Jos silmukat i ja silmukka j vaihdetaan keskenään, riippuvuusvektorista tulee negatiivinen, mikä tarkoittaa, että oikea suoritusjärjestys menetetään: riippuvuusvektori osoitaa menneisyyteen ts. muuttujan käyttäjä on menneisyydessä, eli tuottaja on myöhässä Huom: riippuvuusvektori on negatiivinen, jos sen osoittaa siitä indeksiavaruuden pisteestä missä muuttuja luotiin, pienempään käyttäjän pisteeseen ( menneisyyteen )

9 Kuva 3.12: Riippuvuudet esimerkissä 3.11 suoritusjärjestys jos silmukat vaihdetaan keskenään: riippuvuuksia rikotaan, koodi ei toimi oikein d = [-1 1] (j,i)-avaruudessa muunnoksen jälkeen

10 Seuraavassa esimerkissä (esim. 3.12) silmukat voidaan vaihtaa: do j = 1,n do i = 1,n a(i,j) = a(i-1,j) + b(i-2,j) Silmukka vastaa toiminnaltaan seuraavaa silmukaa: do i = 1,n do j = 1,n a(i,j) = a(i-1,j) + b(i-2,j)

11 Kuva 3.13: datariippuvuudet esimerkissä 3.12 indeksi J voidaan vektoroida muunnoksen jälkeen: voidaan laskea saman aikaisesti, koska ei riippuvuuksia J iteraatioiden välillä

12 Seuraavassa esimerkissä (esim. 3.13) tarkastellaan useampi indeksistä silmukkaa: do i = 0,9 do j = 0,9 do k = 0,9 a(i,j) = a(i,j) + b(i,k) * c(j,k) Silmukan lauseeseen voidaan täydentää puuttuvat indeksit: a(i,j,k) = a(i,j,k-1) + b(i,j,k) * c(i,j,k) Silmukassa esiintyy yksi riippuvuusvektori d = (0,0,1) T, mistä nähdään, että riippuvuudet ovat indeksin k suunnassa: silmukkaa k ei voida suorittaa rinnakkain Vaihtamalla silmukoiden k ja i järjestystä voidaan j- ja i-silmukka suorittaa samanaikaisesti (ei riippuvuuksia (i,j)-tasossa) Silmukan suoritus nopeutuu 100 kertaisesti (10x10x10 10)

13 Silmukan yhdistäminen (loop fusion) Tekniikkaa käytetään yhdistämään kaksi peräkkäistä silmukkarakennetta yhdeksi silmukaksi Datariippuvuuksien määrittelemää laskentajärjestystä ei saa rikkoa esim. seuraavat silmukat voidaan yhdistää do i = 1,n S1: a(i) = b(i) + c(i+1) do i = 1,n S2: c(i) = a(i-1) Silmukaksi: do i = 1,n S1: a(i) = b(i) + c(i+1) S2: c(i) = a(i-1) koska datariippuvuus suhteita ei rikota yhdistetyssä silmukassa

14 Seuraavia silmukoita ei voida yhdistää: do i = 1,n S1: a(i) = b(i) + c(i+1) S1 do i = 1,n S2: c(i) = a(i+2) S2 sillä yhdistäminen: do i = 1,n S1: a(i) = b(i) + c(i+1) S2: c(i) = a(i+2) S1 S2 muuttaisi lauseen S2 datariippuvuuden lauseesta S1 (1. silmukasta) epäriippuvuudeksi S2:sta S1:een (S2 lukee muuttujan ennen sen tuottamista lauseessa S1) t t silmukka 1 silmukka 2 yhdistetty silmukka

15 Silmukan yhdistämistä käytetään normaaleissa kääntäjissä vähentämään silmukoiden aiheuttamaa yleisrasitetta (overhead) Silmukan yhdistäminen vähentää myös DOALL silmukoiden tapauksessa silmukan alustamiseen liittyviä rasitteita: alustus täytyy tehdä vain kerran

16 Silmukan purku (loop collapsing) Silmukan purku yhdistää kaksi sisäkkäistä silmukka yhdeksi silmukaksi Tekniikkaa voidaan hyödyntää, kun riippuvuuksien määräämää laskentajärjestystä ei rikota Tekniikka muuntaa silmukan yksiulotteiseksi määrittelemällä muuttujien indeksi käytetyn indeksin funktioina Esim: do i = 1,4 do j = 1,5 a(i,j) = a(i,j-1) 3 voidaan kirjoittaa muodossa do k = 1,20 i = roof(k/5) j = k mod 5 a(i,j) = a(i,j-1) 3 Huom! kirjan esimerkeissä kirjan tekijä on käyttänyt mod-operatiota siten, että a mod a = a, eli esim. 5 mod 5 = 5, eli x mod 5 = 1,2,3,4,5,1,2,3,..., kun x = 1,2,3,4,5,6,7,8,...

17 Silmukan jakaminen Eräät ohjelmat voidaan jakaa itsenäisiksi (tai lähes itsenäisiksi) yksinkertaisemmiksi ohjelmiksi Jakaminen voi johtaa laskentaan käytetyn ajan lyhenemiseen Jakamistapa voidaan johtaa analysoimalla laskennallisten osasten riippuvuuksia: mitä vähemmän riippuvuuksia osien välillä, sitä paremmin jakaminen on tehty

18 Esim: do i = 1,m a(i) = a(i-2) 3 Silmukassa on yksi riippuvuus d = 2 Koska d > 1, voidaan silmukka jakamalla muodostaa kaksi itsenäistä prosessia, jotka suorittavat itsenäisesti oman osan ohjelman suorituksesta: prosessi 1: do i = 1,floor( (m-1)/2 ) * 2 + 1, step 2 a(i) = a(i-2) 3 prosessi 2: do i = 2,floor(m/2) * 2 + 1, step 2 a(i) = a(i-2) 3 esim. d1 = 3 ja d2 = 6 gcd = 3 kolme prosessia: sininen, punainen ja vihreä (askelkoko 3) Silmukka voidaan jakaa g kappaleeseen itsenäisiä osia, missä g on riippuvuusvektorien (pituuden) suurin yhteinen jakaja (gcd): jos g löytyy se tarkoittaa, että itsenäiset prosessit voidaan toteuttaa silmukoina joilla on vakio askelkoko (=gcd) ja etenemällä tällä askelkoolla, riippuvuudet toteutuvat oikein

19 Indeksijoukkojen ja riippuvuuksien muunnokset Perusajatus on muuntaa indeksi joukkoja ja datariippuvuuksia käyttäen matemaattisia funktioita siten, että alkuperäisiä riippuvuuksia ei rikota ja ohjelman suoritus tehostuisi Kyseessä on globaalimuunnos: indeksijoukko järjestetään uudelleen ja samalla riippuvuudet Sisäkkäiset silmukan ovat hyvin yleisiä algoritmeissa ja ohjelmissa

20 Termejä Indeksijoukko: algoritmin n-ulotteista indeksijoukko merkitään J n : algoritmissa esiintyy tällöin n-kertaa sisäkkäinen silmukka Jokainen piste tässä n-ulotteisessa avaruudessa on erillinen algoritmiin liittyvä laskentapiste Indeksiavaruuden muoto määräytyy silmukoissa käytettyjen indeksien arvoalueista: esim. kolmen indeksin tapauksessa kunkin indeksin arvoalueen ollessa vakio indeksiavaruus on suuntaissärmiö k j i

21 Riippuvuusvektorit: matriisin D muodostavat riippuvuusvektorit on määriteltyjä indeksiavaruudessa: niiden lähtöpiste ja kohdepiste on indeksiavaruuden pisteitä Jokaiseen indeksiavaruuden pisteeseen voidaan assosioida riippuvuusvektori(t), joka lähtee ko. pisteestä Jokaiseen indeksiavaruuden pisteeseen voidaan myös assosioida muuttuja(t) jotka tuotetaa ko. pisteessä Indeksiavaruudessa on pisteitä jotka vastaanottavat dataa riippuvuusvektorien kautta toisista pisteistä Indeksiavaruudessa on myös pisteitä joissa tuotetaan muuttujia ja joista tuotettuja muuttujia haetaan toisiin pisteisiin riippuvuusvektoreita pitkin

22 Suoritusjärjestys: algoritmin kannalta äärimmäisen olennainen käsite; kertoo missä järjestyksessä indeksijoukon pisteet suoritetaan Oikea suoritus järjestys on sellainen, joka ei riko algoritmissa esiintyviä riippuvuuksia Oikeita suoritusjärjestyksiä voi olla useita Sekventiaalisessa algoritmissa indeksipisteet käydään läpi yksi kerrallaan Rinnakkaisalgoritmissa muodostetaan yhteensopivien indeksipisteiden ryhmiä: jokainen ryhmä voidaan laskea samanaikaisesti

23 Indeksijoukon muunnoksen periaate on löytää funktio, joka muuntaa sekventiaalisesti järjestetyn indeksijoukon uudeksi joukoksi, jonka järjestys soveltuu rinnakkaislaskentaan Esim. 3.14: katsotaan seuraavaa algoritmia: for i = 1 to n for j = 1 to n for k = 1 to n S1: a(i,j,k) = a(i-1,j+1,k) * b(i-1,j,k+1) S2: b(i,j,k) = b(i-1,j-1,k+2) + b(i,j-3,k+2) end k end j end i Indeksiavaruus on J 3 = {(i,j,k); 1 i, j, k n} Jokaisessa em. indeksiavaruuden pisteessä tapahtuu laskentaa: kertolasku ja yhteenlasku Jokaisessa em. indeksiavaruuden pisteessä tuotetaan myös kaksi muuttujaa a(i,j,k) ja b(i,j,k), joiden tuottamiseen käytetään algoritmista löytyvien riippuvuusvektoreiden alkupäistä haettuja arvoja (aikaisemmin tuotettuja arvoja)

24 Riippuvuudet on määritetty tuotettujen ja käytettujen muuttujien välillä: neljä riippuvuusvektoria tässä tapauksessa d1 = (1,-1,0) T parille ( a(i,j,k), a(i-1,j+1,k) ) d2 = (1,0,-1) T parille ( b(i,j,k), b(i-1,j,k+1) ) d3 = (1,1,-2) T parille ( b(i,j,k), b(i-1,j-1,k+2) ) d4 = (0,3,-2) T parille ( b(i,j,k), b(i,j-3,k+2) ) Riippuvuusmatriisi saa muodon: D = d1 [ d d d ] d = a b b b i j k

25 Määritelmä 3.1: T on validi muunnosfunktio, joka muuntaa algoritmin A algoritmiksi A jos: 1. Algoritmi A on syöte-ulostuloekvivalentti algorimin A kanssa; 2. T on bijektio (yksi-yhteenkuvaus) ja monotoninen funktio, joka on määritelty indeksijoukossa J n ; 3. A :n indeksijoukko on A:n muunnettu indeksijoukko, eli J n = T(J n ); ja 4. A :n riippuvuudet ovat A:n muunnetut riippuvuudet, eli D = T(D) Tarkoitus on yrittää etsiä sellainen T, jolla A :n suoritusaika olisi merkittävästi lyhempi kuin A:n suoritusaika Koska T on bijektio ja monotoninen funktio (ei-vähenevä) indeksijoukossa, niin d > 0 tarkoittaa että d = T(d) > 0, eli muunnos T säilyttää datariippuvuudet (suoritusjärjestyksen)

26 Ositetaan muunnos T kahdeksi funktioksi siten, että ensimmäinen huolehtii ensimmäisistä k:sta indeksistä ja toinen lopuista n k indeksistä: missä kuvaus π on määritely seuraavasti: π: J n J k tai π(i 1,i 2,...,i n ) = (i 1, i 2,...,i k ) ja kuvaus S on määritely seuraavasti S: J n J k tai S(i 1,i 2,...,i n ) = (i k+1, i k+2,...,i n ) funktioiden π ja S ulottuvuuden määrittelee k, joka on pienin arvo siten, ettäπyksi määrittelee A :n suoritusjärjestyksen ts. varmistaa muunnetun algoritmin syöteulostuloekvivalenttisuuden k ensimmäistä indeksiä voidaan ajatella aikakoordinaateina ja loppuja avaruuskoordinaatteina: aikakoordinaatit antavat suoritusjärjestyksen ja avaruuskoordinaatit määrittelevät (kullekkin aikakoordinaatille) pisteryhmän, joka voidaan suorittaa samanaikaisesti (esim. eri prosessoreissa) Aikakoordinaatteja käytetään ajallisen suorituskyvyn muunteluun ja avaruuskoordinaatteja tiedonsiirrollisen suorituskyvyn muunteluun T Π = S

27 Kaikki indeksijoukon J n elementit I joille π(i) on vakio voidaan suorittaa samanaikaisesti: ensimmäiset k muunnettua koordinaattia ovat tällöin vakio ja määritelmän mukaan ne edustavat aikaa, eli näille elementeille laskenta-ajanhetki on sama joten ne voidaan suorittaa myös rinnakkain π(i) = vakio edustaa hypertasoja jotka sisältävät pisteitä joilla ei ole datariippuvuuksia Avaruuskoordinaattimuunnos valitaan siten, että muunnetut koordinaatit soveltuvat hyvin laskentaa tekevän rinnakkaistietokoneen tiedonsiirtorakenteeseen

28 Lineaariset muunnokset Oletetaan, että ohjelmassa on n sisäkkäistä silmukkaa ja m vakioriippuvuusvektoria (ts. eivät muutu ajon aikana) Riippuvuusvektorit muodostavat matriisin D = [d1,d2,...,dm], jonka koko on n x m Etsitään lineaarinen muunnos T siten, että I = TI Koska T on lineaarinen, niin T(I+d j ) T(I) = T(d j ) = d j, kun 1 j m Tämä voidaan kirjoittaa muotoon: TD = D, missä D = [d 1,d 2,...,d m] edustaa J n :n muokattuja riippuvuusvektoreita

29 Oletetaan, että halutaan valita D siten, että uusi algoritmi täyttää annetut vaatimukset T on olemassa jos em. yhtälöllä on ratkaisu ja ratkaisu koostuu kokonaisluvuista Seuraava teoreema osoittaa tarvittavat ja riittävät ehdot validille lineaariselle muunnokselle: voidaan käyttää työkaluna esivalittaessa D Määritelmä: kongruenttisuus (congruence) Jos kahden kokonaisluvun a ja b erotus on jaollinen luvulla p, niin a:n ja b:n sanotaan olevan kongurentteja, mikä kirjoitetaan a b mod p kongruenttisuus sanoo, että a mod p = b mod p Esim. 7 2 mod 5, 13-3 mod 8

30 Jos a ja b ovat vektoreita kongruenttisuus määritellään: jos c on vektorin b elementtien suurin yhteinen jakaja niin a ja b ovat kongruentteja, kun a i b i mod c, i = 1,...,n. Eli, ai on jaollinen c:lla kaikilla i = 1,..,n (b i on määritelmän mukaan jaollinen c:llä ja jos a i mod c = b i mod c täytyy a i :n olla myös jaollinen c:llä, eli a i mod c = b i mod c = 0)

31 Teoreema 3.1: Tarvittavat ja riittävät ehdot algoritmin validin muunnoksen T olemassa ololle, kun algoritmilla on vakio riippuvuusmatriisi D, ovat: 1. d j d j mod c j ; i j m, missä m on riippuvuusvektorien lkm. ja c i on alkuperäisen riippuvuusvektorin d j elementtien suurin yhteinen jakaja 2. Jokaisen vektorin d j ensimmäinen elementti, joka ei ole nolla, arvo on positiivinen Ensimmäinen ehto kertoo, että uuden riippuvuusvektorin elementit ovat jaollisia alkuperäisen vektorin elementtien suurimmalla yhteisellä jakajalla, joka on kokonaisluku: tämä on tarvittava ehto sille, että T voidaan ratkaista kokonaisluvuille (eli T koostuu kokonaisluvuista) yhtälöllä TD = D on validi ratkaisu Toinen ehto kertoo, ettäπd j > 0, eli T säilyttää suoritusjärjestyksen muunnetussa algoritmissa

32 Esim: tutkitaan silmukkaa jolla on riippuvuusmatriisi: D = [ ] = d 1 d 2 d1:n suurin yhteinen jakaja on 1 ja d2:n 2 d1:n kongruentti on vektori d 1, jonka elementit muodostaa mikä tahansa seuraavien rivien elementtien kombinaatio (ykkösellä jaolliset luvut): Vastaavasti d2:n kongruenttin d 2 muodostaa mikä tahansa seuraavien rivien elementtien kombinaatio (kakkosella jaolliset luvut): Valitaan: D = ' 1 2 [ d 1 d ] ' = ' 2 1 0

33 Yhtälöstä D = TD tunnetaan D ja D ja T voidaan laskea: T = D D T = 1 2 D voidaan valita eri tavoin joten muunnoksia T on useita: yleensä pyritään löytämään muunnos, joka minimoi rinnakkaislaskenta-ajan ja tiedonsiirron määrän (tiedonsiirtoreittien kompleksisuuden)

34 Optimaaliset aikamuunnokset Rinnakkaisalgoritmissa laskenta pyritään järjestämään ryhmiksi siten, että kaikki laskenta yhden ryhmän sisällä voidaan suorittaa samanaikaisesti: tälläinen ryhmä edustaa rinnakkaislaskennan aika-askelta Ryhmien lukumäärä edustaa täten laskentaan käytettyä kokonaisaikaa Rinnakkaislaskenta-askelten määrä (rinnakkaisaika) voidaan määritellä: aika = (lopetusaika aloitusaika)/siirtymä + 1 missä siirtymä on minimiaika kahden askeleen välissä (kuva 3.14) sisältäen aika-askeleella tehtyyn laskentaan käytetyn ajan ja seuraavalle askeleelle siirrettyjen muuttujien välittämiseen käytetty aika Yksinkertaisuuden vuoksi oletetaan, että ainoastaan ensimmäinen muunnetun algoritmin koordinaateista liittyy aikaan, eli k = 1: tämä tarkoittaa, että esim. 3-ulotteisessa indeksiavaruuden tapauksessa, pyrimme etsimään 2-ulotteisia tasoja joilla laskenta voidaan tehdä samanaikaisesti (eli jäljelle jäävät kaksi ulottuvuutta edustavat hetkellisiä muuttujien arvoja tai fyysisiä laskentayksiköitä tietyllä ajan hetkellä) Tästä seuraa, että muunnos π on muotoa 1 x n (eli 1 x k matriisi tai rivivektori): ts. etsimme vektoria, joka on tasojen normaalin suuntainen ja jonka projektio riippuvuusvektoreille on positiivinen (varmistaa suoritusjärjestyksen säilymisen) Indeksiavaruuden pisteiden projektio π:lle antaa aikakoordinaatin ja projektio on sama niille pisteille, jotka voidaan suorittaa samanaikaisesti

35 Kuva 3.14: rinnakkaislaskenta-aika

36 Algoritmin muunnos säilyttää suoritusjärjestyksen, jos πd j > 0, eli riippuvuusvektorit säilyvät positiivisina (=datariippuvuudet säilyvät muuttujien välillä) Tuotetun ja käytetyn muuttujan välinen aikaero (askelissa) on täsmälleen πd j muuttujalle jolla on riippuvuus d j Jokainen riippuvuus voi johtaa eri aikaeroon Algoritmin siirtymä määritellään pienimpänä aikaerona (askeleina) minkä tahansa kahden laskennan välillä: dispπ = min{πd j }, j = 1,...,m aloitusajan ja lopetusajan välinen aikaero on max(πi 2 ) - max(πi 1 ) = max π(i 2 I 1 ), missä I 2 on viimeisellä askeleella laskettava piste ja I 1 on ensimmäisellä askeleella laskettava piste Tästä seuraa, että rinnakkasilaskenta-aika on: t π = 1 + ceil(max π(i 2 I 1 )/ dispπ)

37 Optimaalinen aikamuunnos saavutetaan, kun t π minimoidaan: tämä on vaikea ongelma Esim. 3.15: johdetaan optimaalinen π esimerkissä 3.14 esitetylle ohjelmalle, eli etsimme muunnosta t Π T = = t S t t t t t t t Kun muunnosta π käytetään riippuvuusvektoreihin saadaan seuraavat ehdot: πd 1 > 0 t 11 t 12 > 0 πd 2 > 0 t 11 t 13 > 0 πd 3 > 0 t 11 + t 12-2 t 13 > 0 πd 1 > 0 3t 12 2t 13 > 0 On olemassa useita mahdollisia aikamuunnoksia π jotka täyttävät ehdot: asetetaan hatusta vedetty ehto jolla rajataan muunnosten lukumäärää: 3 t1 i 3 i= 1

38 Asetetulla ehdolla pyritään pitämään muunnosmatriisin elementtien arvot pieninä, jolloin muunnetut riippuvuudet pysyvät lyhyinä (yksinkertaistaa mm. vaadittavaa tiedonsiirtoverkkoa prosessoreiden välillä) Taulukko 3.1 esittää viisi eri aikamuunnosta jotka täyttävät ehdot:

39 Taulukossa 3.1 ensimmäinen sarake esittelee löydetyt aikamuunnokset, toinen sarake näyttää muunnetun riippuvuusmatriisin (tästä nähdään aikasiirtymä kunkin muuttujat/riippuvuuden tuottamisen ja käyttämisen välillä), kolmas sarake kertoo algoritmin aloituspisteen, missä X on don tcare, eli on olemassa useita pisteitä joille aikamuunnos antaa saman arvon (X johtuu muunnoksessa olevista nollista): aloituspisteessä aikamuunnos antaa pienimmän arvon neljäs kertoo algoritmin lopetuspisteen, jossa aikamuunnos antaa suurimman arvon, ja viides sarake kertoo tarvittavien rinnakkaislaskenta askelien määrän: π 5 on paras aikamuunnos jolle t = (2N 1) (2 N)/2 + 1 = (3N 3)/2 = (3N 1)/2 lopetus aloitus

40 Kuva 3.15 näyttää indeksiavaruuden ja π 5 määrittelemät tasot π 5 I = vakio, eli kaikki ne pisteet joille π 5 I on sama voidaan suorittaa saman aikaisesti (eli ne sijaitsevat samalla tasolla jonka normaali on yhdensuuntainen π 5 :n kanssa) Koska riippuvuusvektoreilla on π:n suuntainen komponentti, säilyvät ne muunnoksessa positiivisina, eli riippuvuusvektorien projektio π:lle on positiivinen: tästä seuraa, että siirryttäessä tasolta seuraavalle riippuvuusvektorien suunnassa, seuraavalla tasolla olevien pisteiden projektio π:lle täytyy kasvaa, ts. projektio π:lle toimii aikakoordinaattina kasvaen riippuvuuksien suunnassa Saavutettu nopeutus on 2N 3 /(3N-1)

41 Kuva 3.15: Indeksijoukko ja π 5 :n määrittelemät hypertasot π 5 I = vakio Tason pisteet I projosoituvat siten, ettäπ 5 I = vakio, eli π 5 on tason normaalin suuntainen π 5 = (2,0,-1)

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 2 521475S Tietokonealgoritmien rinnakkaisuuden analysointi Algoritmi on proseduuri, joka koostuu äärellisestä joukosta yksiselitteisiä sääntöjä jotka muodostavat operaatiosekvenssin,

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 3 521475S Rinnakkaiset Numeeriset Algoritmit Silmukattomat algoritmit Eivät sisällä silmukka lauseita kuten DO,FOR tai WHILE Nopea suorittaa Yleisimmässä muodossa koostuu peräkkäisistä

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 4 521475S Rinnakkaiset ei-numeeriset algoritmit: transitiivisulkeuma (transitive closure) Oletetaan suunnattu graafi G = (V,E) ja halutaan tietää onko olemassa kahta pistettä

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava

Lisätiedot

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1 Kertaus. Lineaarinen optimointitehtävä on muotoa: 1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku

Lisätiedot

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Kokonaislukuoptiomointi Leikkaustasomenetelmät Kokonaislukuoptiomointi Leikkaustasomenetelmät Systeemianalyysin Laboratorio 19.3.2008 Sisällys Leikkaustasomenetelmät yleisesti Leikkaustasomenetelmät generoivilla kokonaislukujoukoilla Gomoryn leikkaavat

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 4 To 15.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 4 To 15.9.2011 p. 1/38 p. 1/38 Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä matriisimuodossa Ax = b

Lisätiedot

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

Lisätiedot

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

Lisätiedot

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.

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. Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +

Lisätiedot

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Merkintöjä 1 Matriisi on suorakulmainen lukukaavio.

Lisätiedot

JYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö

JYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö JYVÄSKYLÄN YLIOPISTO 3. Luennon sisältö Lineaarisen optimointitehtävän sallittu alue Optimointitehtävien muunnoksia Lineaarisen yhtälöryhmän perusmuoto ja perusratkaisut Lineaarisen optimointitehtävän

Lisätiedot

Vektoreiden virittämä aliavaruus

Vektoreiden virittämä aliavaruus Vektoreiden virittämä aliavaruus Määritelmä Oletetaan, että v 1, v 2,... v k R n. Näiden vektoreiden virittämä aliavaruus span( v 1, v 2,... v k ) tarkoittaa kyseisten vektoreiden kaikkien lineaarikombinaatioiden

Lisätiedot

Latinalaiset neliöt ja taikaneliöt

Latinalaiset neliöt ja taikaneliöt Latinalaiset neliöt ja taikaneliöt LuK-tutkielma Aku-Petteri Niemi Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2018 Sisältö Johdanto 2 1 Latinalaiset neliöt 3 1.1 Latinalainen neliö.........................

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

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

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja 7 NELIÖMATRIISIN DIAGONALISOINTI. Ortogonaaliset matriisit Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja A - = A T () Muistutus: Kokoa n olevien vektorien

Lisätiedot

Kokonaislukuoptimointi

Kokonaislukuoptimointi Kokonaislukuoptimointi Algebrallisen geometrian sovelluksia Sisältö Taustaa algebrallisesta geometriasta Gröbnerin kanta Buchbergerin algoritmi Kokonaislukuoptimointi Käypyysongelma Algoritmi ratkaisun

Lisätiedot

Ratkaisuehdotukset LH 7 / vko 47

Ratkaisuehdotukset LH 7 / vko 47 MS-C34 Lineaarialgebra, II/7 Ratkaisuehdotukset LH 7 / vko 47 Tehtävä : Olkoot M R symmetrinen ja positiividefiniitti matriisi (i) Näytä, että m > ja m > (ii) Etsi Eliminaatiomatriisi E R siten, että [

Lisätiedot

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen

Lisätiedot

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Duaalisuus kokonaislukuoptimoinnissa Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Duaalisuus binäärisissä optimointitehtävissä Lagrangen duaalisuus Lagrangen

Lisätiedot

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt Yhtälöryhmät 1/6 Sisältö Yhtälöryhmä Yhtälöryhmässä on useita yhtälöitä ja yleensä myös useita tuntemattomia. Tavoitteena on löytää tuntemattomille sellaiset arvot, että kaikki yhtälöt toteutuvat samanaikaisesti.

Lisätiedot

Matematiikka B2 - TUDI

Matematiikka B2 - TUDI Matematiikka B2 - TUDI Miika Tolonen 3. syyskuuta 2012 Miika Tolonen Matematiikka B2 - TUDI 1 Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus

Lisätiedot

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia Voidaan osoittaa, että avaruuden R n vektoreilla voidaan laskea tuttujen laskusääntöjen mukaan. Huom. Lause tarkoittaa väitettä, joka voidaan perustella

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

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

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos: 8 Kanta Tässä luvussa tarkastellaan aliavaruuden virittäjävektoreita, jotka muodostavat lineaarisesti riippumattoman jonon. Merkintöjen helpottamiseksi oletetaan luvussa koko ajan, että W on vektoreiden

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M Hirvensalo mikhirve@utufi V Junnila viljun@utufi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M Hirvensalo mikhirve@utufi V Junnila viljun@utufi Luentokalvot 5 1

Lisätiedot

Vapaus. Määritelmä. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee:

Vapaus. Määritelmä. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +

Lisätiedot

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ( 0, 4, ( ( 1 4 2, a 11 a 12 a 21 a 22 Kaavio kirjoitetaan kaarisulkujen väliin (amer. kirjoissa

Lisätiedot

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus 1 / 51 Lineaarikombinaatio Johdattelua seuraavaan asiaan (ei tarkkoja määritelmiä): Millaisen kuvan muodostaa joukko {λv λ R, v R 3 }? Millaisen

Lisätiedot

Johdatus matematiikkaan

Johdatus matematiikkaan Johdatus matematiikkaan Luento 7 Mikko Salo 11.9.2017 Sisältö 1. Funktioista 2. Joukkojen mahtavuus Funktioista Lukiomatematiikassa on käsitelty reaalimuuttujan funktioita (polynomi / trigonometriset /

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Determinantti. Määritelmä

Determinantti. Määritelmä Determinantti Määritelmä Oletetaan, että A on n n-neliömatriisi. Merkitään normaaliin tapaan matriisin A alkioita lyhyesti a ij = A(i, j). (a) Jos n = 1, niin det(a) = a 11. (b) Muussa tapauksessa n det(a)

Lisätiedot

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, kertausta Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Kaavio kirjoitetaan kaarisulkujen väliin

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2014 Mika Hirvensalo mikhirve@utu.fi Luentokalvot 3 1 of 16 Kertausta Lineaarinen riippuvuus

Lisätiedot

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen

Lisätiedot

Ortogonaalinen ja ortonormaali kanta

Ortogonaalinen ja ortonormaali kanta Ortogonaalinen ja ortonormaali kanta Määritelmä Kantaa ( w 1,..., w k ) kutsutaan ortogonaaliseksi, jos sen vektorit ovat kohtisuorassa toisiaan vastaan eli w i w j = 0 kaikilla i, j {1, 2,..., k}, missä

Lisätiedot

Ennakkotehtävän ratkaisu

Ennakkotehtävän ratkaisu Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb

Lisätiedot

Käänteismatriisin ominaisuuksia

Käänteismatriisin ominaisuuksia Käänteismatriisin ominaisuuksia Lause 1.4. Jos A ja B ovat säännöllisiä ja luku λ 0, niin 1) (A 1 ) 1 = A 2) (λa) 1 = 1 λ A 1 3) (AB) 1 = B 1 A 1 4) (A T ) 1 = (A 1 ) T. Tod.... Ortogonaaliset matriisit

Lisätiedot

Gaussin ja Jordanin eliminointimenetelmä

Gaussin ja Jordanin eliminointimenetelmä 1 / 25 : Se on menetelmä lineaarisen yhtälöryhmän ratkaisemiseksi. Sitä käytetään myöhemmin myös käänteismatriisin määräämisessä. Ideana on tiettyjä rivioperaatioita käyttäen muokata yhtälöryhmää niin,

Lisätiedot

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

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35 Numeeriset menetelmät TIEA381 Luento 8 Kirsi Valjus Jyväskylän yliopisto Luento 8 () Numeeriset menetelmät 11.4.2013 1 / 35 Luennon 8 sisältö Interpolointi ja approksimointi Funktion approksimointi Tasainen

Lisätiedot

Matematiikka B2 - Avoin yliopisto

Matematiikka B2 - Avoin yliopisto 6. elokuuta 2012 Opetusjärjestelyt Luennot 9:15-11:30 Harjoitukset 12:30-15:00 Tentti Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus

Lisätiedot

Kertausta: avaruuden R n vektoreiden pistetulo

Kertausta: avaruuden R n vektoreiden pistetulo Kertausta: avaruuden R n vektoreiden pistetulo Määritelmä Vektoreiden v R n ja w R n pistetulo on v w = v 1 w 1 + v 2 w 2 + + v n w n. Huom. Pistetulo v w on reaaliluku! LM2, Kesä 2012 227/310 Kertausta:

Lisätiedot

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2. a m1 x 1 + a m2 x 2 + + a mn x n b m x 1, x 2,..., x n 0 1

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 6. Alkeislukuteoria 6.1 Jaollisuus Käsitellään kokonaislukujen perusominaisuuksia: erityisesti jaollisuutta Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,...

Lisätiedot

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset 32 Idea: Lineaarikuvausten laskutoimitusten avulla määritellään vastaavat matriisien laskutoimitukset Vakiolla kertominen ja summa Olkoon t R ja A, B R n m Silloin ta, A + B R n m ja määritellään ta ta

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45 MS-A0003/A0005 Matriisilaskenta Laskuharjoitus / vko 5 Tehtävä 1 (L): Hahmottele kompleksitasoon ne pisteet, jotka toteuttavat a) z 3 =, b) z + 3 i < 3, c) 1/z >. Yleisesti: ehto z = R, z C muodostaa kompleksitasoon

Lisätiedot

Liittomatriisi. Liittomatriisi. Määritelmä 16 Olkoon A 2 M(n, n). Matriisin A liittomatriisi on cof A 2 M(n, n), missä. 1) i+j det A ij.

Liittomatriisi. Liittomatriisi. Määritelmä 16 Olkoon A 2 M(n, n). Matriisin A liittomatriisi on cof A 2 M(n, n), missä. 1) i+j det A ij. Liittomatriisi Määritelmä 16 Olkoon A 2 M(n, n). Matriisin A liittomatriisi on cof A 2 M(n, n), missä (cof A) ij =( 1) i+j det A ij kaikilla i, j = 1,...,n. Huomautus 8 Olkoon A 2 M(n, n). Tällöin kaikilla

Lisätiedot

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila Lineaarialgebra ja matriisilaskenta II Syksy 29 Laskuharjoitus (9. - 3..29) Ratkaisuehdotuksia Vesa Ala-Mattila Tehtävä. Olkoon V vektoriavaruus. Todistettava: jos U V ja W V ovat V :n aliavaruuksia, niin

Lisätiedot

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 14 To 20.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 14 To 20.10.2011 p. 1/39 p. 1/39 Nopeat Fourier-muunnokset Diskreetti Fourier-muunnos ˆf k = 1 N 1 N

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

2.3 Virheitä muunnosten käytössä

2.3 Virheitä muunnosten käytössä 2.3 Virheitä muunnosten käytössä Esimerkissä 1 yhtälönratkaisuprosessi näytetään kokonaisuudessaan. Yhtälön rinnalla ovat muunnokset ja sanallinen selitys, johon oppilaat täydentävät esimerkissä käytetyt

Lisätiedot

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu

811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu 811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään

Lisätiedot

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara Kuvauksista ja relaatioista Jonna Makkonen Ilari Vallivaara 20. lokakuuta 2004 Sisältö 1 Esipuhe 2 2 Kuvauksista 3 3 Relaatioista 8 Lähdeluettelo 12 1 1 Esipuhe Joukot ja relaatiot ovat periaatteessa äärimmäisen

Lisätiedot

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on 0. Kertausta ja täydennystä Kurssille Äärelliset kunnat tarvittavat esitiedot löytyvät Algebran kurssista [Alg]. Hyödyksi voivat myös olla (vaikka eivät välttämättömiä) Lukuteorian alkeet [LTA] ja Salakirjoitukset

Lisätiedot

Lineaariset kongruenssiyhtälöryhmät

Lineaariset kongruenssiyhtälöryhmät Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.4 Lineaarinen ohjelmointi..7 Luento 7 Duaalisimple ja herkkyysanalyysi (kirja 4.5, 5., 5.5-5.6) Lineaarinen ohjelmointi - Syksy 7 / Duaalisimple Herkkyysanalyysi Luentorunko Parametrinen ohjelmointi

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 11.4.2019 Timo Männikkö Luento 10 Merkkitiedon tiivistäminen LZW-menetelmä Taulukointi Editointietäisyys Peruutusmenetelmä Osajoukon summa Algoritmit 2 Kevät 2019 Luento 10 To

Lisätiedot

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

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo. Lineaariavaruudet aiheita 1 määritelmä Nelikko (L, R, +, ) on reaalinen (eli reaalinen vektoriavaruus), jos yhteenlasku L L L, ( u, v) a + b ja reaaliluvulla kertominen R L L, (λ, u) λ u toteuttavat seuraavat

Lisätiedot

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

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä 3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a 21

Lisätiedot

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m ) Määritelmä 519 Olkoon T i L V i, W i, 1 i m Yksikäsitteisen lineaarikuvauksen h L V 1 V 2 V m, W 1 W 2 W m h v 1 v 2 v m T 1 v 1 T 2 v 2 T m v m 514 sanotaan olevan kuvausten T 1,, T m indusoima ja sitä

Lisätiedot

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa - johdanto - matemaattinen induktiotodistus - matriisien kertolaskun käyttömahdollisuus - käsinlaskuesimerkkejä - kaikki välivaiheet esittävä

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 / Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 / MS-A3/A5 Matriisilaskenta, II/27 MS-A3/A5 Matriisilaskenta Laskuharjoitus 3 / 3. 7..27 Tehtävä (L): Etsi kaikki yhtälön Ax = b ratkaisut, kun 3 5 4 A = 3 2 4 ja b = 6 8 7 4. Ratkaisu : Koetetaan ratkaista

Lisätiedot

2.5. Matriisin avaruudet ja tunnusluvut

2.5. Matriisin avaruudet ja tunnusluvut 2.5. Matriisin avaruudet ja tunnusluvut m n-matriisi A Lineaarikuvaus A : V Z, missä V ja Z ovat sopivasti valittuja, dim V = n, dim Z = m (yleensä V = R n tai C n ja Z = R m tai C m ) Kuva-avaruus ja

Lisätiedot

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä?

saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä? ANALYYSI A, HARJOITUSTEHTÄVIÄ, KEVÄT 209 4 Funktion raja-arvo 4. Määritelmä. Funktion raja-arvon määritelmän ehdosta ε > 0: δ > 0: f) A < ε aina, kun 0 < a < δ, saadaan kvanttorien järjestystä vaihtamalla

Lisätiedot

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen 4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen Käypä kantaratkaisu löytyy helposti, esimerkiksi tapauksessa Ax b, b 0 x 0 jolloin sen määräävät puutemuuttujat. Tällöin simplex-menetelmän alustus

Lisätiedot

2017 = = = = = = 26 1

2017 = = = = = = 26 1 JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot

Lisätiedot

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai

Lisätiedot

Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot

Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot 3. Funktion raja-arvo ja jatkuvuus 3.1. Reaali- ja kompleksifunktiot 43. Olkoon f monotoninen ja rajoitettu välillä ]a,b[. Todista, että raja-arvot lim + f (x) ja lim x b f (x) ovat olemassa. Todista myös,

Lisätiedot

Juuri 12 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Juuri 12 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Juuri Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 7.5.08 Kertaus K. a) Polynomi P() = + 8 on jaollinen polynomilla Q() =, jos = on polynomin P nollakohta, eli P() = 0. P() = + 8 = 54 08 +

Lisätiedot

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,...

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,... Ratkaisut 1 1. Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,.... Nolla, koska kerrotaan nollalla. 3. 16 15 50 = ( 8) 15 50 = (8 15) ( 50) = 1000 500 = 500 000. 4.

Lisätiedot

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

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 12 Kirsi Valjus Jyväskylän yliopisto Luento 12 () Numeeriset menetelmät 25.4.2013 1 / 33 Luennon 2 sisältö Tavallisten differentiaaliyhtälöiden numeriikasta Rungen

Lisätiedot

KOMPLEKSILUVUT C. Rationaaliluvut Q. Irrationaaliluvut

KOMPLEKSILUVUT C. Rationaaliluvut Q. Irrationaaliluvut KOMPLEKSILUVUT C Luonnolliset luvut N Kokonaisluvut Z Rationaaliluvut Q Reaaliluvut R Kompleksi luvut C Negat kokonaisluvut Murtoluvut Irrationaaliluvut Imaginaariluvut Erilaisten yhtälöiden ratkaiseminen

Lisätiedot

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

Lisätiedot

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim. Injektio Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim. Funktio f on siis injektio mikäli ehdosta f (x 1 ) = f (x 2 ) seuraa, että x 1 = x 2.

Lisätiedot

2.8. Kannanvaihto R n :ssä

2.8. Kannanvaihto R n :ssä 28 Kannanvaihto R n :ssä Seuraavassa kantavektoreiden { x, x 2,, x n } järjestystä ei saa vaihtaa Vektorit ovat pystyvektoreita ( x x 2 x n ) on vektoreiden x, x 2,, x n muodostama matriisi, missä vektorit

Lisätiedot

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo Antti Rasila 2016 Vektoriavaruuden kannan olemassaolo Jos {v 1, v 2,..., v k } on äärellisulotteisen vektoriavaruuden V lineaarisesti riippumaton

Lisätiedot

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

Lisätiedot

Lineaarialgebra ja matriisilaskenta I

Lineaarialgebra ja matriisilaskenta I Lineaarialgebra ja matriisilaskenta I 29.5.2013 HY / Avoin yliopisto Jokke Häsä, 1/26 Kertausta: Kanta Määritelmä Oletetaan, että w 1, w 2,..., w k W. Vektorijono ( w 1, w 2,..., w k ) on aliavaruuden

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi A. Lepistö alepisto@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2016 M. Hirvensalo V. Junnila A. Lepistö

Lisätiedot

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä JYVÄSKYLÄN YLIOPISTO 4. Luennon sisältö Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä kevät 2012 TIEA382 Lineaarinen ja diskreetti optimointi Lineaarinen optimointitehtävä Minimointitehtävä

Lisätiedot

Vektorien virittämä aliavaruus

Vektorien virittämä aliavaruus Vektorien virittämä aliavaruus Esimerkki 13 Mikä ehto vektorin w = (w 1, w 2, w 3 ) komponenttien on toteutettava, jotta w kuuluu vektoreiden v 1 = (3, 2, 1), v 2 = (2, 2, 6) ja v 3 = (3, 4, 5) virittämään

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016 Antti Rasila

Lisätiedot

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi A. Lepistö alepisto@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2016 M. Hirvensalo V. Junnila A. Lepistö

Lisätiedot

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141 Lineaarialgebra ja matriisilaskenta II LM2, Kesä 2012 1/141 Kertausta: avaruuden R n vektorit Määritelmä Oletetaan, että n {1, 2, 3,...}. Avaruuden R n alkiot ovat jonoja, joissa on n kappaletta reaalilukuja.

Lisätiedot

6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio

6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio 6 Vektoriavaruus R n 6.1 Lineaarikombinaatio Määritelmä 19. Vektori x œ R n on vektorien v 1,...,v k œ R n lineaarikombinaatio, jos on olemassa sellaiset 1,..., k œ R, että x = i v i. i=1 Esimerkki 30.

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot

Lisätiedot