Numerička analiza – razlika između verzija

Izvor: Wikipedija
Prijeđi na navigaciju Prijeđi na pretragu
Uklonjeni sadržaj Dodani sadržaj
Red 184: Red 184:
== Oblasti izučavanja ==
== Oblasti izučavanja ==


Polje numeričke analize obuhvata mnoštvo potdisciplina. Neke od glavnih su:
The field of numerical analysis includes many sub-disciplines. Some of the major ones are:


=== Izračunavanje vrednosti funkcija ===
=== Izračunavanje vrednosti funkcija ===
Red 190: Red 190:
{| class="wikitable" style="float: right; width: 250px; clear: right; margin-left: 1em;"
{| class="wikitable" style="float: right; width: 250px; clear: right; margin-left: 1em;"
|
|
'''Interpolation''': We have observed the temperature to vary from 20 degrees Celsius at 1:00 to 14 degrees at 3:00. A linear interpolation of this data would conclude that it was 17 degrees at 2:00 and 18.5 degrees at 1:30pm.
'''Interpolacija''': Primećeno je da temperatura varira od 20 stepeni Celzijusa u 1:00 do 14 stepeni u 3:00. Linearnom interpolacijom tih podataka se dolazi do zaključka da je bilo 17 stepeni u 2:00 i 18,5 stepeni u 1:30 pm.


'''Ekstrapolacija''': Ako je [[bruto domaći proizvod]] zemlje prosečno rastao sa 5% godišnje i ako je bio 100 milijarde dolara prošle godine, ekstrapolacijom možemo zaključiti da će biti 105 milijarde dolara ove godine.
'''Extrapolation''': If the [[gross domestic product]] of a country has been growing an average of 5% per year and was 100 billion dollars last year, we might extrapolate that it will be 105 billion dollars this year.


[[Image:Linear-regression.svg|right|100px|A line through 20 points]]
[[Image:Linear-regression.svg|right|100px|Linija kroz 20 tačaka]]


'''Regression''': In linear regression, given ''n'' points, we compute a line that passes as close as possible to those ''n'' points.
'''Regresija''': U linearnoj regresiji, polazeći od ''n'' tačka, izračunavamo liniju koja prolazi koliko god je moguće blizo tih ''n'' tačaka.


[[Image:LemonadeJuly2006.JPG|right|100px|How much for a glass of lemonade?]]
[[Image:LemonadeJuly2006.JPG|right|100px|Koliko košta čaša limunade?]]


'''Optimizacija''': Recimo da prodajemo limunadu na tezgi, i uočimo da pri ceni $1, možemo da prodamo 197 čaša lemunade na dana, i da za svakih $0,01 povećanja cene, prodaja opada za jednu čašu linumanade na dan. Ako prodajemo po ceni od $1,485, dolazi do maksimizacije profita, ali zbog ograničenja da je neophodno napaćivati celobrojnu cenu, naplaćivanje $1,48 ili $1,49 po čaši će proizvesti maksimalni prihod od $220,52 na dan.
'''Optimization''': Say you sell lemonade at a [[lemonade stand]], and notice that at $1, you can sell 197 glasses of lemonade per day, and that for each increase of $0.01, you will sell one glass of lemonade less per day. If you could charge $1.485, you would maximize your profit, but due to the constraint of having to charge a whole cent amount, charging $1.48 or $1.49 per glass will both yield the maximum income of $220.52 per day.


[[Image:Wind-particle.png|right|Wind direction in blue, true trajectory in black, Euler method in red.]]
[[Image:Wind-particle.png|right|Pravac vetra je označen plavom bojom, istinska trajektorija crno, rezultat Ojlerovog metoda crveno.]]


'''Diferencijalna jednačina''': Ako se 100 fanova podesi da duvaju vetar sa jednog kraja sobe na drugu i zatim se pusti pero u vetar, šta se događa? Pero će slediti struju vazduha, koja može da bude veoma kompleksna. Jedna aproksimacija je da se izmeri brzina kojom se duva vazduh u blizini pera u svakoj sekundi, i da se simulisano pomera pero kao da se kreće u pravoj liniji istom brzinom tokom jedne sekunde, pre nego što se ponovo izmeri brzina vetra. To se naziva [[Ojlerov metod|Ojlerovim metodom]] rešavanja obične diferencijalne jednačine.
'''Differential equation''': If you set up 100 fans to blow air from one end of the room to the other and then you drop a feather into the wind, what happens? The feather will follow the air currents, which may be very complex. One approximation is to measure the speed at which the air is blowing near the feather every second, and advance the simulated feather as if it were moving in a straight line at that same speed for one second, before measuring the wind speed again. This is called the [[Euler method]] for solving an ordinary differential equation.
|}
|}


Jedan od najjednostavnijih problema je evaluacija funkcije u datoj tački. Najprostiji pristup unošenja broja u formulu nije uvek veoma efikasan. Za polinome, bolji pristup je korišćenje [[Hornerova šema|Hornerove šeme]], pošto se time redukuje broj neophodnih množenja i sabiranja. Generalno je važno da se proceni i kontroliše [[greška zaokruživanja]] koja nastaje pri upotrebi aritmentike [[Broj sa pokretnim zarezom|pokretnog zareza]].
One of the simplest problems is the evaluation of a function at a given point. The most straightforward approach, of just plugging in the number in the formula is sometimes not very efficient. For polynomials, a better approach is using the [[Horner scheme]], since it reduces the necessary number of multiplications and additions. Generally, it is important to estimate and control [[round-off error]]s arising from the use of [[floating point]] arithmetic.


=== Interpolacija, ekstrapolacija, i regresija ===
=== Interpolacija, ekstrapolacija, i regresija ===


[[Interpolacija]] rešava sledeći problem: polazeći od vrednosti neke nepoznate funkcije u više tačaka, koju će vrednost ta funkcija imati u nekoj drugoj tački između poznatih tačaka?
[[Interpolation]] solves the following problem: given the value of some unknown function at a number of points, what value does that function have at some other point between the given points?


[[Ekstrapolacija]] je veoma slična interpolaciji, izuzev da je ovde cilj da se nađe vrednost nepoznate funkcije u tački koja je izvan opsega poznatih tačaka.
[[Extrapolation]] is very similar to interpolation, except that now we want to find the value of the unknown function at a point which is outside the given points.


[[Regresiona analiza|Regresija]] je takođe slična, izuzev da uzima u obzir podatke kao da su neprecizni. Polazeći od datog broja tačaka i izmerenih vrednosti neke funkcije u tim tačkama (sa greškom), cilj je da se odredi nepoznata funkcija. [[Metod najmanjih kvadrata]] je jedan od popularnih pristupa regresione analize.
[[Regression analysis|Regression]] is also similar, but it takes into account that the data is imprecise. Given some points, and a measurement of the value of some function at these points (with an error), we want to determine the unknown function. The [[least squares]]-method is one popular way to achieve this.


=== Rešavanje jednačina i sistema jednačina ===
=== Rešavanje jednačina i sistema jednačina ===


Another fundamental problem is computing the solution of some given equation. Two cases are commonly distinguished, depending on whether the equation is linear or not. For instance, the equation <math>2x+5=3</math> is linear while <math>2x^2+5=3</math> is not.
Još jedan fundamentalni problem je izračunavanje rešenja date jednačine. Dva slučaja se obično razlikuju, u zavisnosti od toga da li je jednačina linearna ili nije. Na primer, jednačina <math>2x+5=3</math> je linearna, dok <math>2x^2+5=3</math> nije.


Znatne količine truda su uložene u razvoj metoda za rešavanje [[Sistem linearnih jednačina |sistema linearnih jednačina]]. Standardni direktni metodi, i.e., metodi koji koriste neku od [[Dekompozicija matrice|dekompozicija matrica]] su [[Gaussova eliminacijska metoda |Gausova eliminacija]], [[LU dekompozicija]], [[Čoleskijeva dekompozicija]] za [[simetrična matrica|simetrične]] (ili [[hermitijanska matrica|hermitijanske]]) ili [[pozitivna-konačna matrica|pozitivno-konačne matrice]], i [[QR dekompozicija]] za nekvadratne matrice. [[Iterativni metod]]i kao što je [[Jakobijev metod]], [[Gaus-Zajdelova metod]], [[sukcesivna prekomerna relaksacija]] i [[metod konjugovanog gradijenta]] su obično preferentni za velike sisteme. Opšti iterativni metodi se mogu razviti koristići [[podela matrice|podele matrice]].
Much effort has been put in the development of methods for solving [[systems of linear equations]]. Standard direct methods, i.e., methods that use some [[matrix decomposition]] are [[Gaussian elimination]], [[LU decomposition]], [[Cholesky decomposition]] for [[symmetric matrix|symmetric]] (or [[hermitian matrix|hermitian]]) and [[positive-definite matrix]], and [[QR decomposition]] for non-square matrices. [[Iterative method]]s such as the [[Jacobi method]], [[Gauss–Seidel method]], [[successive over-relaxation]] and [[conjugate gradient method]] are usually preferred for large systems. General iterative methods can be developed using a [[matrix splitting]].


[[Algoritam nalaženja korena|Algoritmi nalaženja korena]] se koriste za rešavanje nelinearnih jednačina (oni su tako nazvani zato što je koren funkcije argument za koji je vrednost funkcije nula). Ako je funkcija [[derivat|diferencijabilna]] i ako su derivati poznati, onda je [[Njutnov metod]] popularni izvor. [[Linearizacija]] je još jedna tehnika za rešavanje nelinearnih jenačina.
[[Root-finding algorithm]]s are used to solve nonlinear equations (they are so named since a root of a function is an argument for which the function yields zero). If the function is [[derivative|differentiable]] and the derivative is known, then [[Newton's method]] is a popular choice. [[Linearization]] is another technique for solving nonlinear equations.


=== Rešavanje svojstvene vrednositi ili singularne vrednosti problema ===
=== Rešavanje svojstvene vrednositi ili singularne vrednosti problema ===
Several important problems can be phrased in terms of [[eigenvalue decomposition]]s or [[singular value decomposition]]s. For instance, the [[image compression|spectral image compression]] algorithm<ref>[http://online.redwoods.cc.ca.us/instruct/darnold/maw/single.htm The Singular Value Decomposition and Its Applications in Image Compression]</ref> is based on the singular value decomposition. The corresponding tool in statistics is called [[principal component analysis]].
Nekoliko važnih problema se može izraziti u obliku [[dekompozicija svojstvenim vrednostima]] ili [[dekompozicija singularne vrednosti]]. Na primer, algoritam [[kompresija slika|spektralne kompresije slike]]<ref>[http://online.redwoods.cc.ca.us/instruct/darnold/maw/single.htm The Singular Value Decomposition and Its Applications in Image Compression]</ref> je baziran na dekompoziciji singularne vredsnosti. Korespondiraći alat u statistici se naziva [[analiza principalnih komponenti]].


=== Optimizacija ===
=== Optimizacija ===

Verzija na datum 16 juni 2015 u 12:50

Vavilonska glinena pločica (c. 1800–1600 p.n.e.) sa anotacijama. Aproksimacija kvadratnog korena iz 2 sa četiri šezdesetne cifre, koje su oko šest decimalnih cifara. 1 + 24/60 + 51/602 + 10/603 = 1.41421296...[1]

Numerička analiza je grana numeričke matematike koja se bavi pronalaženjem i unapređivanjem algoritama za numeričko izračunavanje vrijednosti vezanih uz matematičku analizu, poput numeričkog integriranja, numeričkog deriviranja i numeričkog rješavanja diferencijalnih jednadžbi. Sastavni dio numeričke analize je i ocjenjivanje grešaka metoda (algoritama) i to na dvije razine -- analiza grešaka same metode, te analiza grešaka koje nastaju izvrednjavanjem, a vezane su uz arhitekturu računala [2].

Potrebe za numeričkim rješavanjem matematičkih problema su višestruke. Kod nekih problema, dokazano je da analitičko rješenje (rješenje zapisano pomoću elementarnih funkcija) ne postoji -- primjerice rješenje integrala nemoguće je zapisati pomoću elementarnih funkcija. Pa ipak, određeni integral predstavlja konkretnu, jedinstveno određenu površinu. Do te vrijednosti, koja ima široku upotrebu npr. u statistici, moguće je doći samo numeričkim metodama. Osim toga, numeričke metode često se koriste za određivanje rješenja matematičkih problema koji bi zbog svoje veličine, kroz standardni postupak rješavanja, predugo trajali -- primjerice, kada je potrebno riješiti sustav od 10 000 jednadžbi s 10 000 nepoznanica. I konačno, numeričke metode su nezaobilazne u aproksimativnom računu, kada se aproksimacijama (i ocjenama pripadnih grešaka) zamjenjuje stvarna vrijednost funkcije do koje je nemoguće ili preteško doći. To su metode poput metode konačnih elemenata ili pak kubičnih splineova kojima se aproksimira ponašanje nepoznate funkcije o kojoj znamo tek konačan broj vrijednosti, najčešće dobijenih mjerenjima.

Opšti uvod

Sveukupni cilj polja numeričke analize je razvoj i analiza tehnika koje daju aproksimativna ali precizna rešenja teških problema. Njihova raznovrstnost je sumirana sledećim pregledom:

  • Napredni numerički metodi su esencijalni u omogućavanju numeričkih metereoloških predviđanja.
  • Proračunavanje putanje svemirske letilice se vrši putem numeričkog rešavanja sistema običnih diferencijalnih jednačina.
  • Automobilske kompanije mogu da poprave bezbednost vozila koristeće računarske simulacije automobilskih udesa. Takve simulacije se esencijalno sastoje od numeričkog rešavanja parcijalnih diferencijalnih jednačina.
  • Hedž fondovi (privatni investicioni fondovi) koriste oruđa iz svih polja numeričke analize u proračunima vrednosti akcija i derivata.
  • Aviokompanije koriste sofisticirane optimizacione algoritme u određivanju ceni karti, raspodele aviona i posade, i potrebe za gorivom. Istorijski, takvi algoritmi su razvijeni u okviru preklapajućeg polja operacionih istraživanja.
  • Družtva za osiguranje koriste numeričke programe za aktuarne analize.

Ostatak ove sekcije razmatra nekoliko važnih tema numeričke analize.

Istorija

Polje numeričke analize prethodi razvoju modernih računara za par milenijuma. Linearna interpolacija je bila u upotrebi pre više od 2000 godina. Mnogi veliki matematičari su se bavili numeričkom analizom, kao što sledi iz imena važnih algoritama, kao što su Njutnov metod, Lagranžov interpolacioni polinom, Gausova eliminacija, ili Ojlerov method.

Da bi se omogućili ručni proračuni, proizvedene su velike knjige sa formulama i tabelama podataka kao što su interpolacione tačke i koeficijenti funkcija. Koristeći te tabele, koje su često računate sa 16 decimalnih mesta ili više za pojedine funkcije, mogle su se naći vrednosti za uključivanje u formule i tim putem su se mogle ostvariti veoma dobre numeričke procene nekih funkcija. Kanonički rad u polju je NIST publikacija koji su uredili Abramowitz and Stegun. To je knjiga sa više od 1000 strana, u kojoj je obrađen veoma veliki broj ćesto korišćenih formula i funkcija i njihove vrednosti u mnogim tačkama. Štampane vrednosti funkcija više nisu od velike koristi jer su dostupni računari, mada su veliki spiskovi formula još uvek podesni za upotrebu.

Mehanički računar je razvijen kao oruđe za ručno računanje. Ti kalkulatori su evoluirali u elektronske računare tokom 1940-tih, i nakon toga je uočeno da su takvi računari isto tako korisni za administrativne svrhe. Izum računara je takođe uticao na polje numeričke analize, pošto su se sad mogli vršiti duži i kompkovaniji proračuni.

Direktni i iterativni metodi

Direktni vs iterativni metodi

Razmotrimo problem rešavanja

3x3 + 4 = 28

za nepoznatu promenljivu x.

Direktni metod
3x3 + 4 = 28.
Oduzmi 4 3x3 = 24.
Podeli sa 3 x3 = 8.
Uradi kubni koren x = 2.

Za iterativni metod, primeni bisekcioni metod na f(x) = 3x3 − 24. Inicijalne vrednosti su a = 0, b = 3, f(a) = −24, f(b) = 57.

Iterativni metod
a b mid f(mid)
0 3 1.5 −13.875
1.5 3 2.25 10.17...
1.5 2.25 1.875 −4.22...
1.875 2.25 2.0625 2.32...

Iz ove tabele zaključujemo da je rešenje između 1,875 i 2,0625. Algoritam može da vrati bilo koji broj u tom opsegu sa greškom manjom od 0,2.

Diskretizacija i numerička integracija

Tokom dvočasovne trke smo izmerili brzinu kola tri puta, i zapisali smo merenja u sledećoj tabeli.

Vreme 0:20 1:00 1:40
km/h 140 150 180

Diskretizacija bi bila da se kaže da je brzina kola bila konstantna od 0:00 do 0:40, zatim od 0:40 do 1:20 i konačno od 1:20 do 2:00. Na primer, totalno rastojanje pređeno u prvih 40 minuta je aproksimativno (2/3h &puta; 140 km/h) = 93.3 km. To bi nam omogučilo da procenimo totalno pređeno rastojanje kao 93.3 km + 100 km + 120 km = 313.3 km, što je primer numeričke integracije (vidite ispod) koristeći Rimanovu sumu, pošto je rastojanje integral brzine.

Nestabilan problem: Uzmimo funkciju f(x) = 1/(x − 1). Uočimo da f(1,1) = 10 i f(1,001) = 1000: promena x od manje od 0,1 odgovara promeni f(x) od skoro 1000. Evaluacija f(x) u blizini x = 1 je nestabilni problem.

Stabilan problem: U kontrastu s tim evaluacija iste funkcije f(x) = 1/(x − 1) u blizini x = 10 je stabilan problem. Na primer, f(10) = 1/9 ≈ 0,111 i f(11) = 0,1: skromna promena x dovodi do skromne promene f(x).

Direktni metodi računaju rešenja problema u konačnom broju koraka. Ti metodi bi dali precizan odgovor, kad bi se izvodili aritmetikom beskonačne preciznosti. Primeri obuhvataju Gausovu eliminaciju, metod QR faktorizacije za rešavanje sistema linearnih jednačina, i simpleks metod linearnog programiranja. U praksi se koristi konačna preciznost i rezultat je aproksimacija istinskog rešenja (podrazumevajući stabilnost).

U kontrastu sa direktnim metodima, od iterativnih metoda se ne očekuje da završe u konačnom broju koraka. Počevši od inicijalne pretpostavke, iterativni metodi formiraju sukcesivne aproksimacije koje konvergiraju do preciznog rešenja jedino u limitu. Test konvergencije, koji obično obuhvata ostatak, se specificira da bi se odredilo kad je dovoljno precizno rešenje nađeno. Čak kad bi se koristila i aritmetika beskonačne preciznosti ovi metodi (generalno) ne bi dostigli rešenje u konačnom broju koraka. Primeri obuhvataju Njutnov metod, bisekcioni metod, i Jakobijevu iteraciju. U računarskoj matričnoj algebri, iterativni metodi su generalno neophodni za velike probleme.

Iterativni metodi se češće sreću od direktnih u numeričkoj analizi. Neki metodi su direktni u principu, ali se obično koriste kao da nisu, e.g. GMRES i metod konjugovanog gradijenta. Za te metode broj koraka koji su neophodni da bi dobilo precizno rešenje je toliko veliki da se aproksimacija prihvata u istom maniru kao kod iterativnog metoda.

Diskretizacija

Kontinualni problemi se ponekad moraju zameniti diskretnim problemima čije rešenje je poznato da bi se aproksimiralo rešenje kontinualnog problema; taj proces se naziva diskretizacijom. Na primer, rešenje diferencijalne jednačine je funkcija. Ta funkcija se mora zameniti konačnom količinom podataka, na primer njenom vrednošću u konačnom broju tačaka njenog domena, mada je taj domen kontinuum.

Generacija i propagacija grešaka

Izučavanje grešaka sačinjava važan deo numeričke analize. Postoji nekoliko načina na koji se može uneti greška u rešenje problema.

Zaokruživanje

Greške zaokruživanja nastaju zato što je nemoguće precizno predstaviti sve realne brojeve na mašini sa konačnom memorijom (što je slučaj sa praktično svim digitalnim računarima).

Skraćivanje i greške diskretizacije

Greške skraćivanja nastaju kad se iterativni metod završi ili kad se matematička procedura aproksimira, i približno rešenje se razlikuje od tačnog rešenja. Slično tome, diskretizacija unosi grešku diskretizacije zato što se rešenje diskretnog problema ne poklapa sa rešenjem kontinualnog problema. Na primer, u iteraciji prikazanoj na desnoj strani da bi se izračunalo rešenje jednačine , nakon 10 ili više iteracija, zaključuje se (na primer) da je koren oko 1,99. Stoga imamo grešku skraćivanja od 0,01.

Nakon generisanja greške, ona se generalno uvećava tokom proračuna. Na primer, već smo napomenuli da operacija + na kalkulatoru (ili računaru) nije precizna. Iz toga sledi da je sabiranje tipa a+b+c+d+e još nepreciznije.

Gore je pomenuto da dolazi do greške skraćivanja, kad se aproksimira matematička procedura. Poznato je da je za preciznu integraciju funkcije neophodno naći zbir beskonačno velikog broja trapezoida. U praksi se međutim može odrediti jedino zbir konačnog broja trapezoida, i stoga dolazi do aproksimacije matematičke procedure. Slično tome, da bi se diferencirala funkcija, diferencijalni element treba da teži nuli, dok je numerički moguće jedino izabrati konačnu vrednost diferencijalnog elementa.

Numerička stabilnost i dobro postulirani problemi

Numerička stabilnost je važan pojam u numeričkoj analizi. Algoritam se smatra numerički stabilnim ako se greška, nezavisno od izvora, znatno ne uvećava tokom proračuna. Do toga dolazi ako je problem stabilan, što znači da se rešenje malo menja sa malom promenom ulaznih podataka. U kontrastu s tim, ako je problem nestabilan, onda svaka mala greška u ulaznim podacima narasta u veliku grešku u rešenju.

Originalni problem i algoritam koji se koriste za rešavanje problema mogu da budu stabilni i/ili nestabilni, ili bilo koja kombinacija. Stoga algoritam koji rešava stabilni problem može da bude bilo numerički stabilan ili numerički nestabilan. Umetnost numeričke analize je da se nađe stabilan algoritam za rešavanje dobro postavljenog matematičkog problema. Na primer, izračunavanje kvadratnog korena iz 2 (koji je oko 1,41421) je stabilan problem. Mnogi algoritmi rešavaju taj problem počevši od inicijalne aproksimacije x1 od , na primer x1=1,4, i zatim izračunavaju poboljšanje pretpostavke x2, x3, etc.. Jedan takav metod je poznati Vavilonski metod, koji je dat sa xk+1 = xk/2 + 1/xk. Još jedan iterativni pristup, koji ćemo zvati Metod X, je dat sa xk + 1 = (xk2−2)2 + xk.[3] Izračunali smo nekoliko iteracija ovog algoritma u donjoj tabeli, sa inicijalnim pretpostavkama x1 = 1,4 i x1 = 1,42.

Vavilonski metod Vavilonski metod Metod X Metod X
x1 = 1.4 x1 = 1.42 x1 = 1.4 x1 = 1.42
x2 = 1.4142857... x2 = 1.41422535... x2 = 1.4016 x2 = 1.42026896
x3 = 1.414213564... x3 = 1.41421356242... x3 = 1.4028614... x3 = 1.42056...
... ...
x1000000 = 1.41421... x28 = 7280.2284...

Može se uočiti da Vaviloniski metod brzo konvergira nezavisno od inicijalne pretpostavke, dok Metod X konvergira ekstremno sporo sa inicijalnom pretpostavkom od 1,4 i divergira počevši od inicijalne pretpostavke 1,42. Stoga je Vavilonski metod numerički stabilan, dok je Metod X numerički nestabilan.

Numerička stabilnost je zavisna od broja značajnih cifara koje data mašina podržava, ako se koristi mašina koja radi sa prve četiri cifre pokretnog zareza dolazi do znatnog gubitka preciznosti
Ako se uporede rezultati od
i
uočava se da gubitak značaja, koji se takođe naziva poništavanja oduzimanjem, ima ogromni efekat na rezultate, mada su funkcije ekvivalentne; da bi se pokazalo da su ekvivalentne jednostavno se polazi od f(x) i završava sa g(x), tako da je
Istinska vrednost rezultata je 11,174755..., što je tačno g(500) = 11,1748 nakon zaokruživanja rezultata na 4 decimalna mesta.
Sad zamislimo da se koristi mnoštvo članova kao što su ove funkcije u programu; greške će se uvećavati tokom rada programa, osim ako se koristi podesna formula za ove dve funkcije svaki put kad se izračunavaju f(x), ili g(x); izbor je zavistan od pariteta  x.
  • Primer je uzet iz: Mathew; Numerical methods using matlab, 3rd ed.

Oblasti izučavanja

Polje numeričke analize obuhvata mnoštvo potdisciplina. Neke od glavnih su:

Izračunavanje vrednosti funkcija

Interpolacija: Primećeno je da temperatura varira od 20 stepeni Celzijusa u 1:00 do 14 stepeni u 3:00. Linearnom interpolacijom tih podataka se dolazi do zaključka da je bilo 17 stepeni u 2:00 i 18,5 stepeni u 1:30 pm.

Ekstrapolacija: Ako je bruto domaći proizvod zemlje prosečno rastao sa 5% godišnje i ako je bio 100 milijarde dolara prošle godine, ekstrapolacijom možemo zaključiti da će biti 105 milijarde dolara ove godine.

Linija kroz 20 tačaka
Linija kroz 20 tačaka

Regresija: U linearnoj regresiji, polazeći od n tačka, izračunavamo liniju koja prolazi koliko god je moguće blizo tih n tačaka.

Koliko košta čaša limunade?
Koliko košta čaša limunade?

Optimizacija: Recimo da prodajemo limunadu na tezgi, i uočimo da pri ceni $1, možemo da prodamo 197 čaša lemunade na dana, i da za svakih $0,01 povećanja cene, prodaja opada za jednu čašu linumanade na dan. Ako prodajemo po ceni od $1,485, dolazi do maksimizacije profita, ali zbog ograničenja da je neophodno napaćivati celobrojnu cenu, naplaćivanje $1,48 ili $1,49 po čaši će proizvesti maksimalni prihod od $220,52 na dan.

Pravac vetra je označen plavom bojom, istinska trajektorija crno, rezultat Ojlerovog metoda crveno.
Pravac vetra je označen plavom bojom, istinska trajektorija crno, rezultat Ojlerovog metoda crveno.

Diferencijalna jednačina: Ako se 100 fanova podesi da duvaju vetar sa jednog kraja sobe na drugu i zatim se pusti pero u vetar, šta se događa? Pero će slediti struju vazduha, koja može da bude veoma kompleksna. Jedna aproksimacija je da se izmeri brzina kojom se duva vazduh u blizini pera u svakoj sekundi, i da se simulisano pomera pero kao da se kreće u pravoj liniji istom brzinom tokom jedne sekunde, pre nego što se ponovo izmeri brzina vetra. To se naziva Ojlerovim metodom rešavanja obične diferencijalne jednačine.

Jedan od najjednostavnijih problema je evaluacija funkcije u datoj tački. Najprostiji pristup unošenja broja u formulu nije uvek veoma efikasan. Za polinome, bolji pristup je korišćenje Hornerove šeme, pošto se time redukuje broj neophodnih množenja i sabiranja. Generalno je važno da se proceni i kontroliše greška zaokruživanja koja nastaje pri upotrebi aritmentike pokretnog zareza.

Interpolacija, ekstrapolacija, i regresija

Interpolacija rešava sledeći problem: polazeći od vrednosti neke nepoznate funkcije u više tačaka, koju će vrednost ta funkcija imati u nekoj drugoj tački između poznatih tačaka?

Ekstrapolacija je veoma slična interpolaciji, izuzev da je ovde cilj da se nađe vrednost nepoznate funkcije u tački koja je izvan opsega poznatih tačaka.

Regresija je takođe slična, izuzev da uzima u obzir podatke kao da su neprecizni. Polazeći od datog broja tačaka i izmerenih vrednosti neke funkcije u tim tačkama (sa greškom), cilj je da se odredi nepoznata funkcija. Metod najmanjih kvadrata je jedan od popularnih pristupa regresione analize.

Rešavanje jednačina i sistema jednačina

Još jedan fundamentalni problem je izračunavanje rešenja date jednačine. Dva slučaja se obično razlikuju, u zavisnosti od toga da li je jednačina linearna ili nije. Na primer, jednačina je linearna, dok nije.

Znatne količine truda su uložene u razvoj metoda za rešavanje sistema linearnih jednačina. Standardni direktni metodi, i.e., metodi koji koriste neku od dekompozicija matrica su Gausova eliminacija, LU dekompozicija, Čoleskijeva dekompozicija za simetrične (ili hermitijanske) ili pozitivno-konačne matrice, i QR dekompozicija za nekvadratne matrice. Iterativni metodi kao što je Jakobijev metod, Gaus-Zajdelova metod, sukcesivna prekomerna relaksacija i metod konjugovanog gradijenta su obično preferentni za velike sisteme. Opšti iterativni metodi se mogu razviti koristići podele matrice.

Algoritmi nalaženja korena se koriste za rešavanje nelinearnih jednačina (oni su tako nazvani zato što je koren funkcije argument za koji je vrednost funkcije nula). Ako je funkcija diferencijabilna i ako su derivati poznati, onda je Njutnov metod popularni izvor. Linearizacija je još jedna tehnika za rešavanje nelinearnih jenačina.

Rešavanje svojstvene vrednositi ili singularne vrednosti problema

Nekoliko važnih problema se može izraziti u obliku dekompozicija svojstvenim vrednostima ili dekompozicija singularne vrednosti. Na primer, algoritam spektralne kompresije slike[4] je baziran na dekompoziciji singularne vredsnosti. Korespondiraći alat u statistici se naziva analiza principalnih komponenti.

Optimizacija

Optimization problems ask for the point at which a given function is maximized (or minimized). Often, the point also has to satisfy some constraints.

The field of optimization is further split in several subfields, depending on the form of the objective function and the constraint. For instance, linear programming deals with the case that both the objective function and the constraints are linear. A famous method in linear programming is the simplex method.

The method of Lagrange multipliers can be used to reduce optimization problems with constraints to unconstrained optimization problems.

Diferencijalne jednačine

Numerička analiza se isto tako bavi izračunavanjem (na aproksimativan način) rešenja diferencijalnih jednačina, običnih diferencijalnih jednačina i parcijalnih diferencijalnih jednačina.

Partial differential equations are solved by first discretizing the equation, bringing it into a finite-dimensional subspace. This can be done by a finite element method, a finite difference method, or (particularly in engineering) a finite volume method. The theoretical justification of these methods often involves theorems from functional analysis. This reduces the problem to the solution of an algebraic equation.

Softver

Since the late twentieth century, most algorithms are implemented in a variety of programming languages. The Netlib repository contains various collections of software routines for numerical problems, mostly in Fortran and C. Commercial products implementing many different numerical algorithms include the IMSL and NAG libraries; a free alternative is the GNU Scientific Library.

There are several popular numerical computing applications such as MATLAB, TK Solver, S-PLUS, LabVIEW, and IDL as well as free and open source alternatives such as FreeMat, Scilab, GNU Octave (similar to Matlab), IT++ (a C++ library), R (similar to S-PLUS) and certain variants of Python. Performance varies widely: while vector and matrix operations are usually fast, scalar loops may vary in speed by more than an order of magnitude.[5][6]

Many computer algebra systems such as Mathematica also benefit from the availability of arbitrary precision arithmetic which can provide more accurate results.

Also, any spreadsheet software can be used to solve simple problems relating to numerical analysis.

Numeričko integriranje

Glavni članak: Numerička integracija
Površina ispod funkcije f(x) (označene plavom) aproksimira se površinom trapeza ispod po dijelovima linearne aproksimacije (označene crvenom).

Numerical integration, in some instances also known as numerical quadrature, asks for the value of a definite integral. Popular methods use one of the Newton–Cotes formulas (like the midpoint rule or Simpson's rule) or Gaussian quadrature. These methods rely on a "divide and conquer" strategy, whereby an integral on a relatively large set is broken down into integrals on smaller sets. In higher dimensions, where these methods become prohibitively expensive in terms of computational effort, one may use Monte Carlo or quasi-Monte Carlo methods (see Monte Carlo integration), or, in modestly large dimensions, the method of sparse grids.

Jedan od najčešćih problema s kojima se susrećemo u numeričkoj analizi je računanje vrijednosti određenog integrala .

Dvije osnovne metode numeričke integracije su proširena trapezna formula i proširena Simpsonova formula[7].

Kod proširene trapezne formule, interval integracije [a,b] podijeli se u n podintervala uz slijedeću oznaku: a=x0<x1<...<xn=b. U svim se točkama razdiobe izračunaju vrijednosti podintegralne funkcije yi=f(xi), te se nad svakim podintegralom formira trapez spajanjem točaka Ti(xi,yi) i Ti+1(xi+1,yi+1). Tim se trapezom, čija je površina jednaka Pi=(xi+1-xi)(yi+yi+1)/2, aproksimira stvarna površina ispod funkcije f(x) na tom intervalu. Uz uobičajen postupak ekvidistantne razdiobe, tj razdiobe intervala na n jednakih podintervala (kod kojeg je xi+1-xi=(b-a)/n ), te zbrajanjem površina trapeza konstruiranih nad svim intervalima razdiobe dobijamo trapeznu formulu:

Ocjena greške ove numeričke aproksimacije dana je s:

Površina ispod funkcije f(x) (označene plavom) aproksimira se površinom ispod parabole koja interpolira funkciju u tri zadane točke (označene crvenom).

Proširena Simpsonova formula, kao i trapezna formula počinje razdiobom intervala [a,b] na n, ne nužno, jednakih podintervala. No ovoga puta se na svaka dva podintervala, odnosno kroz točke Ti-1(xi-1,yi-1), Ti(xi,yi) i Ti+1(xi+1,yi+1) povlači jedinstveno određena kvadratna funkcija (parabola). Zbog toga kod provođenja Simpsonove formule imamo dodatni zahtjev da je broj podintervala n paran. Računanjem površina ispod tako kontruiranih parabola, te njihovim zbrajanjem dobijamo proširenu Simpsonovu formulu:

Ocjena greške proširene Simpsonove formule dana je izrazom:

Kako u pravilu parabola bolje aprokisimira nasumične funkcije od pravca, Simpsonova formula u pravilu daje točniji rezultat od trapezne formule.

Numeričko rješavanje diferencijalnih jednadžbi

U numeričku analizu spadaju i metode kojima se traži numeričko aproksimativno rješenje "Cauchyjevog problema"; diferencijalne jednadžbe s zadanim početnim uvjetom. Razvijene su metode za numeričko rješavanje običnih, ali i parcijalnih diferencijalnih jednadžbi. Dvije osnovne metode su Eulerova metoda, i familija Runge-Kutta metoda.

Vidite još

Izvori

  1. Photograph, illustration, and description of the root(2) tablet from the Yale Babylonian Collection
  2. http://web.math.pmf.unizg.hr/~rogina/2001096/num_anal.pdf Pristupljeno: 20. rujna 2013.
  3. This is a fixed point iteration for the equation , whose solutions include . The iterates always move to the right since . Hence converges and diverges.
  4. The Singular Value Decomposition and Its Applications in Image Compression
  5. Speed comparison of various number crunching packages
  6. Comparison of mathematical programs for data analysis Stefan Steinhaus, ScientificWeb.com
  7. http://web.math.pmf.unizg.hr/~rogina/2001096/num_anal.pdf str. 478, pristupljeno: 20. rujna 2013.

Literatura

  • Golub, Gene H. and Charles F. Van Loan (1986). Matrix Computations, Third Edition (Johns Hopkins University Press, ISBN 0-8018-5413-X). 
  • Higham, Nicholas J. (1996). Accuracy and Stability of Numerical Algorithms (Society for Industrial and Applied Mathematics, ISBN 0-89871-355-2). 
  • Hildebrand, F. B. (1974). Introduction to Numerical Analysis (2nd edition izd.). McGraw-Hill. ISBN 0-07-028761-9. 
  • Leader, Jeffery J. (2004). Numerical Analysis and Scientific Computation. Addison Wesley. ISBN 0-201-73499-0. 
  • Wilkinson, J.H. (1965). The Algebraic Eigenvalue Problem (Clarendon Press). 
  • Kahan, W. (1972). "A survey of error-analysis," in Info. Processing 71 (Proc. IFIP Congress 71 in Ljubljana), vol. 2, pp. 1214–39, North-Holland Publishing, Amsterdam.  (examples of the importance of accurate arithmetic).
  • Lloyd N. Trefethen (2006). "Numerical analysis", 20 pages. In: Timothy Gowers and June Barrow-Green (editors), Princeton Companion of Mathematics, Princeton University Press.

Vanjske veze