Izvori grešaka, uvjetovanost i stabilnost

1. Izvori grešaka, uvjetovanost i stabilnost#

U primijenjenoj matematici, kojoj je svrha razviti i analizirati metode koje će biti korištene „u stvarnom svijetu”, javljaju se mnogi izazovi na koje nismo navikli u idealiziranom matematičkom okruženju. Pri numeričkom rješavanju nekog problema mogu se pojaviti različiti tipovi grešaka:

  • Greške modela: Nastaju svođenjem realnog problema (iz fizike, kemije, biologije, tehnike, ekonomije) na neki „matematički” problem.

  • Greške u ulaznim podacima: Nastaju, na primjer, zbog nepreciznosti mjerenja.

  • Greške numeričkih metoda za rješavanje „matematičkog” problema: Nastaju, na primjer, zaustavljanjem nakon konačno mnogo koraka nekog procesa koji bi u limesu dao točan rezultat.

  • Greške „približnog” računanja: Obično su to greške zaokruživanja u aritmetici računala.

Stoga je potrebno razviti alate koji omogućavaju analizu utjecaja ovih grešaka na konačni dobiveni rezultat. U ovom poglavlju ćemo prvo nešto detaljnije reći o izvorima grešaka i načinima kako ih mjerimo, a zatim uvesti dva važna pojma vezana uz numeričku analizu matematičkih algoritama: uvjetovanost i stabilnost.

Za početak, uvedimo dva načina izražavanja veličine greške: apsolutnu i relativnu. To ćemo zasad napraviti samo u slučaju realnih vrijednosti; kasnije ćemo razmatrati vektore i matrice.

Definicija 1.1

Neka je \(x \in \R\) egzaktna vrijednost, a \(\tilde{x} \in \R\) neka aproksimacija za \(x\).

Apsolutna greška aproksimacije \(\tilde{x}\) se definira kao

\[ |\tilde{x} - x|. \]

Relativna greška aproksimacije \(x\) se definira kao

\[ \frac{|\tilde{x} - x|}{|x|}. \]

Za ilustraciju razlike između informacija koje nam daju ove greške, promotrimo dva slučaja:

  • Ako je egzaktna vrijednost \(x=1\), a aproksimacija \(\tilde{x}=2\), onda je apsolutna greška jednaka \(1\).

  • Ako je egzaktna vrijednost \(x=100\), a aproksimacija \(\tilde{x}=99\), onda je apsolutna greška ponovno jednaka \(1\).

Međutim:

  • U prvom slučaju je relativna greška jednaka \(1\).

  • U drugom slučaju je relativna greška samo \(0.01\).

To odgovara našoj intuiciji da je aproksimacija \(2 \approx 1\) puno lošija od aproksimacije \(99 \approx 100\): prvom slučaju smo pogriješili \(100\%\), a u drugom samo \(1\%\). Dakle, relativna greška uzima u obzir i veličinu egzaktne vrijednosti \(x\).

Tipično nam je cilj osigurati da na kraju nekog postupka izračunata vrijednost ima malu relativnu grešku u odnosu na egzaktnu vrijednost. Relativna greška odgovara i često korištenom pojmu „izračunati na toliko-i-toliko decimalnih mjesta”. Ako egzaktnu vrijednost \(x=30000\) aproksimiramo sa \(\tilde{x} = 30000.00015\) onda je relativna greška jednaka \(5 \cdot 10^{-9}\) i eksponent \(-9\) govori da se \(\tilde{x}\) i \(x\) podudaraju u otprilike \(9\) decimalnih mjesta nakon normalizacije: \(x=0.3000000000 \cdot 10^5\), \(\tilde{x} = 0.3000000015 \cdot 10^5\).

Teorija perturbacija

Za podatak \(\tilde{x}\) u kojem postoji neka greška u odnosu na egzaktnu vrijednost \(x\) ponekad kažemo da je nastao perturbacijom od \(x\).

Na ovom kolegiju ćemo često raditi teoriju perturbacija numeričkog algoritma za računanje neke funkcije \(f(x)\). To znači da ćemo analizirati koliko se promijeni vrijednost funkcije \(f\) ako umjesto \(x\) kao argument uvrstimo neku perturbiranu vrijednost \(\tilde{x}\). Preciznije, zanimat će nas veličina perturbacije izlazne vrijednosti vrijednosti algoritma (\(f(x)\)) u odnosu na veličinu perturbacije ulazne vrijednosti (\(x\)).