张良和刘邦是什么关系
Numeerinen analyysi on matematiikan osa-alue, joka pyrkii l?yt?m??n likim??r?isratkaisuja matemaattisiin ongelmiin, joita ei voi tai ei kannata ratkaista tarkasti. Numeerisia menetelmi? sovelletaan usein muun muassa fysiikan tarpeisiin esimerkiksi differentiaaliyht?l?iden ratkaisemiseksi. Numeerisia menetelmi? ovat esimerkiksi yht?l?iden numeerinen ratkaiseminen, approksimointi ja numeerinen integrointi. [1]
Esimerkki numeerisen analyysin menetelmist? on haarukointimenetelm?, jolla etsit??n jatkuvan funktion nollakohtia. Haarukointimenetelm?n algoritmi on seuraava:
- Valitaan lukuv?li, jolla tutkittava funktio on m??ritelty ja jonka p??tepisteiss? funktio saa erimerkkiset arvot.
- Lyhennet??n v?li? jommastakummasta p??st? siten, ett? funktio saa erimerkkiset arvot v?lin p??tepisteiss?.
- Toistetaan kunnes haluttu tarkkuus on saavutettu.
Yleinen johdatus
[muokkaa | muokkaa wikiteksti?]Monia matemaattisia ongelmia ei voida ratkaista suljetussa muodossa. Esimerkkin? ovat funktion exp() integrointi (katso virhefunktio) tai nelj?tt? korkeampiasteisten yleisten polynomiyht?l?iden ratkaisu. N?iden ratkaisemiseen on olemassa kaksi vaihtoehtoa: 1) yritet??n l?yt?? likim??r?inen vastaus k?ytt?en asymptoottisia menetelmi? tai 2) numeerisella analyysill?. J?lkimm?inen vaihtoehto kuvaa numeeristen menetelmien teht?v?kentt??.
Numeeriset teht?v?t soveltuvat erityisen hyvin tietokoneen laskemaksi.
Suorat ja iteratiiviset menetelm?t
[muokkaa | muokkaa wikiteksti?]Joidenkin ongelmien ratkaisuun on olemassa tarkkoja algoritmeja, joita kutsutaan suoriksi menetelmiksi. Esimerkkein? ovat Gaussin eliminointi lineaaristen yht?l?ryhmien ratkaisemisessa ja simplex-menetelm? lineaarisessa ohjelmoinnissa.
Kuitenkaan suurimmalle osalle ongelmista ei ole olemassa suoraa ratkaisumenetelm??. N?iss? tapauksissa on joskus mahdollista k?ytt?? iteratiivista menetelm??. Sellainen menetelm? l?htee arvauksella ja l?yt?? onnistuneen arvion (approksimaation), joka on kyllin l?hell? ratkaisua. Jopa silloin kun suora menetelm? on olemassa, iteratiivinen menetelm? saattaa olla suositeltavampi tehokkuuden ja stabiiliuden takia.
Diskretointi
[muokkaa | muokkaa wikiteksti?]Jatkuva teht?v? pit?? joskus korvata diskreetill? teht?v?ll?, jonka ratkaisun tiedet??n approksimoivan jatkuvaa ongelmaa. T?t? prosessia kutsutaan diskretoinniksi. Esimerkiksi differentiaaliyht?l?n ratkaisu on funktio, joka diskretoituna kuvataan ??rellisell? lukujoukolla. T?m? voi esimerkiksi olla sen arvojoukko ??rellisess? pisteist?ss?, vaikka funktio olisikin m??ritelty jatkumossa.
Virheiden synty ja kumuloituminen
[muokkaa | muokkaa wikiteksti?]Virheiden arviointi on t?rke? osa numeerisia menetelmi?. Virhe voi tulla esiin monella tavalla ongelman ratkaisussa. Py?ristysvirheit? tulee, koska on mahdotonta kuvata kaikkia reaalilukuja t?sm?llisesti ??rellisess? automaatissa (jollaisia k?yt?nn?ss? kaikki tietokoneet ovat). Katkaisuvirheit? syntyy, kun iteratiivinen menetelm? katkaistaan ja approksimoitu ratkaisu eroaa tarkasta ratkaisusta. Samoin diskretointi aiheuttaa diskretointivirheen, koska diskreetin ongelman ratkaisu ei t?sm?? jatkuvan ongelman ratkaisun kanssa.
Kun kerran virhe on syntynyt, se etenee l?pi koko laskennan. T?m? johtaa numeerisen stabilisuuden k?sitteeseen: menetelm? on numeerisesti stabiili jos virhe, kun se on kerran syntynyt, ei kasva liian suureksi laskennan aikana. T?m? on mahdollista vain jos ongelma on hyvin asetettu, mik? merkitsee, ett? ratkaisu muuttuu vain v?h?n, jos l?ht?arvot muuttuvat v?h?n. Vastaavasti huonosti asetetussa ongelmassa mik? tahansa virhe l?ht?tiedoissa kasvaa suureksi.
Hyvin asetetun ongelman ratkaiseva menetelm? ei ole v?ltt?m?tt? numeerisesti stabiili. Stabiilien menetelmien etsint? hyvin asetetuille teht?ville muodostaakin t?rke?n osan numeerista analyysi?. Toisenlainen osa-alue on stabiilien algoritmien etsiminen huonosti asetetuille ongelmille. Yleens? t?m? edellytt??, ett? l?ydet??n hyvin asetettu teht?v?, jonka ratkaisu on l?hell? alkuper?isen teht?v?n ratkaisua.
Sovellukset
[muokkaa | muokkaa wikiteksti?]Numeerisia menetelmi? on sovellettu moniin tieteellisiin ja teknisiin ongelmiin. Esimerkkej? ovat silta- ja lentokonerakenteet (katso laskennallinen fysiikka ja laskennallinen nesteiden dynamiikka), s??ennustukset, ilmastomallit, molekyylianalyysi ja molekyylien suunnittelu (laskennallinen kemia) ja ?ljyesiintymien etsint?. Itse asiassa supertietokoneita k?ytet??n jatkuvasti numeerisen analyysin sovelluksiin.
T?m?n seurauksena tehokkuudella on suuri merkitys, ja teoreettisesti t?sm?llisemm?n menetelm?n voi joskus korvata nopeampi heuristinen menetelm?. Yleisesti numeerisessa analyysiss? k?ytet??n empiirisi? tuloksia uusien menetelmien ja ongelmien tutkimiseen, mutta tietenkin siin? my?s sovelletaan matemaattisia aksioomia, lauseita ja todistuksia.
Osa-alueet
[muokkaa | muokkaa wikiteksti?]Numeerinen analyysi tieteen? jaetaan ratkaistavan ongelman mukaan.
Funktion arvojen laskenta
[muokkaa | muokkaa wikiteksti?]Funktion arvojen laskenta annetussa pisteess? on yksi yksinkertaisimmista numeeristen menetelmien ongelmista. Mutta edes polynomien arvojen laskeminen ei ole suoraviivaista. Hornerin skeema on usein tehokkaampi kuin tavanomainen menetelm?. Yleisesti on t?rke?? arvioida ja hallita liukulukuaritmetiikan py?ristysvirheit?.
Interpolointi, ekstrapolointi ja regressio
[muokkaa | muokkaa wikiteksti?]Interpolointi ratkaisee seuraavan ongelman: On annettu tuntemattoman funktion arvoja joissakin pisteiss?. Mit? arvoja funktio saa n?iden pisteiden v?liss?? Eritt?in yksinkertainen menetelm? on k?ytt?? lineaarista interpolointia, joka olettaa, ett? tuntematon funktio on lineaarinen jokaisen kahden pisteen v?liss?. T?m? voidaan yleist?? polynomiseen interpolointiin, joka on joskus tarkempi, mutta k?rsii Rungen ilmi?st?. Muut interpolointimenetelm?t k?ytt?v?t paikallistettuja funktioita kuten splinej? ja aallokkeita.
Ekstrapolointi on hyvin samantapainen kuin interpolointi, paitsi ett? nyt haluamme l?yt?? tuntemattoman funktion arvoja annettujen pisteiden ulkopuolella.
Regressio on my?s samankaltainen, mutta siin? pisteet eiv?t ole tarkkoja. Haluamme m??ritell? tuntemattoman funktion mittaamalla sen arvoja joissakin annetuissa pisteiss? (virheen kanssa). Pienimm?n neli?summan menetelm? on yksi tunnetuimmista tavoista etsi? t?t?.
Yht?l?iden ratkaiseminen ja yht?l?j?rjestelm?t
[muokkaa | muokkaa wikiteksti?]Toinen perusongelma on annetun yht?l?n ratkaiseminen. Kaksi erilaista tilannetta erotellaan riippuen onko yht?l? lineaarinen vai ei.
Lineaaristen yht?l?ryhmien ratkaisumenetelmien kehitykselle on laitettu paljon painoa. Standardimenetelmi? ovat Gauss-jordan eliminointi ja LU-hajotelma. Iteratiiviset menetelm?t kuten liittogradienttimenetelmi? sopivat suuriin yht?l?ryhmiin.
Juurenhakumentelmi? k?ytet??n ep?lineaaristen yht?l?iden ratkaisemiseen (niit? nimitet??n sellaisiksi, koska funktion juuri on argumentti, jossa funktion arvo tulee nollaksi). Jos funktio on derivoituva ja sen derivaatta on tunnettu, on Newtonin menetelm? suosittu valinta. Yht?l?n linearisointi on toinen tekniikka ratkaista ep?lineaarisia yht?l?it?.
Optimointi
[muokkaa | muokkaa wikiteksti?]Optimointiongelmissa haetaan pistett?, jossa annetun funktion arvo on maksimissaan (tai minimiss??n). Usein t?m?n pisteen tulee t?ytt?? rajoitusehtoja.
Optimoinnin ongelmakentt? jaetaan osa-alueisiin riippuen funktiosta ja rajoituksista. Esimerkiksi lineaariohjelmoinnissa sek? funktio, ett? rajoitukset ovat lineaarisia. Tunnettu menetelm? lineaariohjelmoinnissa on simplex-menetelm?.
Lagrangen kertojien menetelm?? k?ytet??n palauttamaan rajoitteinen optimointiongelma rajoitteettomaksi.
Integraalilaskenta
[muokkaa | muokkaa wikiteksti?]Numeerisia integrointimenetelmi?, joita joskus kutsutaan kvadratuureiksi, k?ytet??n m??r?ttyjen integraalien laskemiseen. Yksinkertaisimpiin menetelmiin kuuluu Eulerin menetelm?. Se ei ole kovinkaan tarkka, mutta sen kautta on johdettu useat paremmat menetelm?t. Suositut menetelm?t k?ytt?v?t jotakin Newton-Cotes kaavaa (kuten keskipiste- tai Simpsonin s??nt?) tai Gaussin kvadratuuria. N?m? menetelm?t perustuvat "hajota ja hallitse" -strategiaan, jossa integraali suhteellisen laajassa joukossa jaetaan pienempien joukkojen integraaleiksi. Tunnetuimpia t?ll? tavoin johdettuja menetelmi? ovat monet Runge-Kutta-menetelm?t. Korkeissa dimensioissa, joissa n?m? menetelm?t tulevat raskaiksi tietokonelaskennalle, voidaan k?ytt?? Monte Carlo tai kvasi-Monte Carlo -metodeita, tai dimensioltaan kohtuullisissa teht?viss? harvojen hilojen menetelm??.
Differentiaalilaskenta
[muokkaa | muokkaa wikiteksti?]Numeerinen analyysiin kuuluu my?s tavallisten sek? osittaisdifferentiaaliyht?l?iden ratkaisujen laskeminen (approksimoivalla tavalla).
Osittaisdifferentiaaliyht?l?t ratkaistaan diskretoimalla ensin yht?l? tuomalla se ??rellisulotteiseen avaruuteen. T?m? voidaan tehd? elementtimenetelm?ll?, differenssimenetelm?ll? tai (etenkin teknisiss? sovelluksissa) kontrollitilavuusmenetelm?ll?. N?iden menetelmien teoreettinen pohja on funktionaalianalyysin teoreemoissa. T?m? palauttaa ongelman algebrallisten yht?l?iden ratkaisuhin.
Historia
[muokkaa | muokkaa wikiteksti?]Numeeriset menetelm?t edelt?v?t modernin tietokoneen keksimist? monia vuosisatoja. Itse asiassa, monet suuret matemaatikot menneisyydess? askartelivat numeeristen menetelmien parissa, mik? k?y ilmi t?rkeiden menetelmien nimiss? kuten Newtonin menetelm?, Lagrangen polynomiaalinen interpolointi, Gaussin eliminointi tai Eulerin menetelm?.
Laskentaa helpottamaan tehtiin laajoja kirjoja kaavoja ja arvotaulukkoineen kuten interpolointipisteet ja funktiokertoimet. K?ytt?m?ll? n?it? taulukkoarvoja laskettiin usein 16 desimaalilukua tai viel? enemm?n joillekin funktioille. Niit? voidaan verrata annettuun kaavaan ja l?ydet??n eritt?in hyvi? numeerisia estimaatteja (arvioita) joillekin funktioille. T?llainen kanoninen teos on NIST-julkaisu, jonka tekij?t ovat Abramowitz ja Stegun. Yli tuhatsivuinen kirja eritt?in suuresta joukosta yleisesti k?ytettyj? kaavoja ja funktioita ja niiden arvoja monissa pisteiss?. Funktioiden arvot eiv?t ole en?? kovin k?ytt?kelpoisia kun tietokoneita on saatavilla. Mutta laaja lista kaavoista voi olla viel?kin hyvin k?yt?nn?llisi?.
Mekaaninen laskin on kehitetty k?sinlaskennan ty?kaluksi. N?m? laskimet johtivat elektroniseen tietokoneeseen 1940-luvulla. Sitten huomattiin, ett? n?m? tietokoneet olivat k?ytt?kelpoisia yll?pidollisten syiden takia. Mutta tietokoneen keksint? vaikutti numeerisiin menetelmiin, sill? nykyisin voidaan tehd? monimutkaisempia laskutoimituksia.
Sovellukset
[muokkaa | muokkaa wikiteksti?]Nykyp?ivin? l?hes kaikki numeeriset menetelm?t on toteutettu suoritettaviksi tietokoneohjelmiksi. Netlib -palvelin sis?lt?? erilaisia kokoelmia enimm?kseen Fortran- ja C-kielisi? ohjelmarutiineja numeerisiin teht?viin. Kaupalliset tuotteet, kuten IMSL ja NAG-kirjastot toteuttavat monia erilaisia numeerisia menetelmi?. Vapaa vaihtoehto n?ille on GNU Scientific Library -kirjasto. Toisenlainen l?hestymistapa on Numerical Recipes -kirjastolla, jossa paino on menetelmien ymm?rt?misell? maallikon n?k?kulmasta.
Muita suosittuja kieli? numeerisessa analyysiss? ovat MATLAB, IDL ja Python. Ne ovat tulkkattavia kieli?, mutta ne mahdollistavat nopeamman kehitysty?n. Jos on tarpeen, ne voidaan muuntaa Fortraniin tai C:hen nopeuden saamiseksi suoritettaviin ohjelmiin.
Monia tietokonealgebraohjelmia kuten Mathematicaa ja Maplea (tai vapaita ohjelmistoja kuten Maximaa, Axiomia, calcia ja Yacasia) voidaan k?ytt?? numeeristen menetelmien laskentaan. Niiden vahvuus on kuitenkin tyypillisesti symbolisessa laskennassa.
L?hteet
[muokkaa | muokkaa wikiteksti?]- Nick Trefethen, The definition of numerical analysis, SIAM News, November 1992.
- Numerische Mathematik (Complete digitized copies of volumes 1–66, spanning the years 1959 to 1994, of a well-known journal of numerical analysis.)
- Higham, Nicholas J. (1996). Accuracy and Stability of Numerical Algorithms. Society for Industrial and Applied Mathematics.
- Gautschi, W. (1997). Numerical analysis. Springer Science & Business Media.
- Leader, Jeffery J. (2004). Numerical Analysis and Scientific Computation. Addison Wesley.
- Quarteroni, A., Sacco, R., & Saleri, F. (2010). Numerical mathematics. Springer Science & Business Media.
- Stoer, J., & Bulirsch, R. (2013). Introduction to numerical analysis. Springer Science & Business Media.
- Conte, S. D., & De Boor, C. (2017). Elementary numerical analysis: an algorithmic approach. Society for Industrial and Applied Mathematics.
- Greenspan, D. (2018). Numerical Analysis. CRC Press.
- Linz, P. (2019). Theoretical numerical analysis. Courier Dover Publications.
Viitteet
[muokkaa | muokkaa wikiteksti?]- ↑ Kaleva, Osmo: Numeerinen analyysi. (Opintomoniste 163) Tampere: TTKK, 1993. ISBN 951-721-941-5
Aiheesta muualla
[muokkaa | muokkaa wikiteksti?]- Scientific computing FAQ (Arkistoitu – Internet Archive)
- Numerical Recipes Homepage – with free, complete downloadable books (Arkistoitu – Internet Archive)
- Alternatives to Numerical Recipes (Arkistoitu – Internet Archive)