Bor Plestenjak. Numerične metode. delovna verzija. verzija: 4. marec 2010

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Bor Plestenjak. Numerične metode. delovna verzija. verzija: 4. marec 2010"

Transcript

1 Bor Plestenjak Numerične metode delovna verzija verzija: 4. marec 200

2 Kazalo Uvod 7. Numerična matematika Plavajoča vejica Napake pri numeričnem računanju Občutljivost problema in stabilnost metode Direktna in obratna stabilnost Analiza zaokrožitvenih napak Računanje produkta n + predstavljivih števil Računanje skalarnega produkta Računanje vrednosti polinoma po Hornerjevem algoritmu Poučni primeri Računanje števila π Seštevanje Taylorjeve vrste za e x Reševanje kvadratne enačbe Računanje I Zaporedno korenjenje in kvadriranje Tričlenska rekurzivna formula Seštevanje številske vrste Računanje (e x )/x Nelinearne enačbe Uvod Bisekcija Navadna iteracija Tangentna metoda Ostale metode Sekantna metoda Mullerjeva metoda Inverzna interpolacija Kombinirane metode Metoda ( f, f, f ) Reševanje nelinearnih enačb v Matlabu Ničle polinomov Občutljivost ničel polinoma Laguerreova metoda Redukcija Durand Kernerjeva metoda

3 3 Linearni sistemi Ponovitev linearne algebre Vektorske in matrične norme Občutljivost linearnih sistemov Ostanki Permutacijske matrike in elementarne eliminacije Permutacijske matrike Elementarne eliminacije LU razcep Analiza zaokrožitvenih napak pri LU razcepu Ocene pogojenostnih števil Ocene po komponentah Sistemi s posebno obliko Simetrične pozitivno definitne matrike Simetrične nedefinitne matrike Tridiagonalne matrike Kompleksni sistemi Razpršene matrike Reševanje linearnih sistemov v Matlabu Nelinearni sistemi Uvod Navadna oz. Jacobijeva iteracija Newtonova metoda Kvazi-Newtonove metode Variacijske metode Reševanje nelinearnih sistemov v Matlabu Metoda zveznega nadaljevanja Linearni problemi najmanjših kvadratov 0 5. Uvod Normalni sistem QR razcep Givensove rotacije Householderjeva zrcaljenja Singularni razcep Teorija motenj Problemi defektnega ranga in nedoločeni problemi Regularizacija Totalni najmanjši kvadrati Nelinearni problemi najmanjših kvadratov Zvezni problem najmanjših kvadratov Podobni problemi Reševanje linearnih sistemov po metodi najmanjših kvadratov v Matlabu Nesimetrični problem lastnih vrednosti Uvod Schurova forma Teorija motenj

4 6.4 Potenčna metoda Inverzna iteracija Ortogonalna iteracija QR iteracija Redukcija na Hessenbergovo obliko Premiki Implicitna QR metoda Simetrični problem lastnih vrednosti Uvod Rayleighova iteracija QR iteracija za simetrični lastni problem Sturmovo zaporedje Deli in vladaj Jacobijeva metoda Računanje singularnega razcepa Uvod QR iteracija za računanje singularnega razcepa Jacobijeva metoda za singularni razcep Posplošeni problemi lastnih vrednosti Ax = λbx Ax = λw T DWx A T DAx = ω 2 B T MBx Kvadratni problem lastnih vrednosti Reševanje problema lastnih vrednosti v Matlabu Enakomerna aproksimacija 6 9. Aproksimacija Enakomerna aproksimacija s polinomi Ekonomizacija Čebiševa Interpolacija Uvod Interpolacijski polinom Deljene diference Končne diference Interpolacija s kosoma polinomskimi funkcijami Beziérove krivulje Interpolacija v Matlabu Numerično odvajanje 86. Uvod Drugi načini izpeljave Celotna napaka

5 2 Numerično integriranje 9 2. Kvadraturne formule Newton Cotesova pravila Neodstranljiva napaka Sestavljene formule Peanov izrek Richardsonova ekstrapolacija Adaptivne metode Rombergova metoda Gaussove kvadraturne formule Izlimitirani integrali Večdimenzionalni integrali Metoda Monte Carlo Numerično integriranje v Matlabu Numerično seštevanje vrst Diferencialne enačbe Uvod Obstoj rešitve, občutljivost in stabilnost Občutljivost rešitve začetnega problema Stabilnost rešitve začetnega problema Enokoračne metode Eulerjeva metoda Taylorjeva vrsta Runge-Kutta metode Adaptivna ocena koraka Stabilnost in konvergenca enokoračnih metod Večkoračne metode Inherentna in inducirana nestabilnost Začetni problemi drugega reda Reševanje začetnih diferencialnih enačb v Matlabu Implicitno podane diferencialne enačbe Robni problemi drugega reda Linearni robni problem Nelinearni robni problem Prevedba na variacijski problem Reševanje robnih problemov v Matlabu Parcialne diferencialne enačbe Karakteristike PDE drugega reda Parabolična parcialna diferencialna enačba Eksplicitna metoda Implicitna metoda Crank Nicolsonova metoda Parabolična parcialna diferencialna enačba v več dimenzijah Eliptična parcialna diferencialna enačba Pettočkovna shema Globalna napaka Krivi robovi

6 4.4 Hiperbolična parcialna diferencialna enačba Simetrične diference Stabilnost, konvergenca Metoda karakteristik Ostale metode Metoda končnih elementov Reševanje parcialnih diferencialnih enačb v Matlabu Reševanje PDE z Ô Ô Uporabni ukazi za eliptične PDE in metodo končnih diferenc Iterativne metode za linearne sisteme Uvod Jacobijeva in Gauss Seidlova metoda SOR metoda Pospešitev Čebiševa in simetrični SOR Metode podprostorov Krilova Arnoldijev algoritem Lanczosev algoritem GMRES - posplošeni minimalni ostanek Predpogojevanje Konjugirani gradienti Predpogojevanje

7 Poglavje Uvod. Numerična matematika Numerična matematika se ukvarja z razvojem in analizo metod za numerično reševanje matematičnih problemov. Za razliko od analitičnega, pri numeričnem reševanju iščemo rešitev v numerični obliki, v prav takšni obliki pa dobimo tudi začetne podatke. To npr. pomeni, da numerična metoda kot rešitev enačbe x 2 = 3 ne bo vrnila 3, temveč , pri čemer je število decimalk odvisno od natančnosti, v kateri računamo. Numerična metoda je postopek, s katerim iz začetnih numeričnih podatkov s končnim zaporedjem elementarnih operacij izračunamo numerični približek za rešitev določenega matematičnega problema. Elementarne operacije so odvisne od okolja v katerem računamo, mi bomo kot elementarne operacije šteli seštevanje, odštevanje, množenje, deljenje in kvadratni koren. Za numerično metodo pravimo, da je direktna, kadar neodvisno od začetnih podatkov za rešitev porabimo konstantno število elementarnih operacij. Druga možnost so iterativne metode, kjer rešitev dobimo kot limito nekega konvergentnega zaporedja, z računanjem pa prenehamo, ko ocenimo, da je približek dovolj natančen. Pri reševanju matematičnih problemov numerične metode uporabljamo takrat, ko do rešitve ne moremo priti analitično. Nekaj primerov je: Iskanje ničel polinoma pete stopnje, npr. reševanje enačbe x 5 + 3x = 0. Dokazano je, da za polinome stopnje pet ali več ne obstajajo končne analitične formule, s katerimi bi lahko ničle izračunali iz koeficientov polinoma, kot to npr. lahko naredimo pri kvadratni enačbi ax 2 + bx + c = 0. Zato za splošen polinom stopnje pet ali več nimamo druge možnosti, kot da ničle izračunamo numerično. To velja tudi za transcendentne enačbe, kot je npr. x + ln x = 0, in sploh za večino nelinearnih enačb in sistemov, s katerimi se srečamo pri praktičnih problemih. Računanje lastnih vrednosti in vektorjev matrik. Po eni strani vemo, da so lastne vrednosti ničle karakterističnega polinoma, po drugi strani pa za vsak polinom obstaja matrika, katere karakteristični polinom se do predznaka ujema z izbranim polinomom. Zaradi tega se lastnih vrednosti ne da izračunati drugače kot z iterativnim postopkom, saj bi vsak končni proces pomenil protislovje, da lahko ničle poljubnega polinoma izrazimo iz njegovih koeficientov s končnimi formulami. 7

8 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 8 Računanje določenega integrala, npr. 0 ex2 dx. V tem primeru, kot velja tudi za večino integralov, ki nastopajo v praktičnih problemih, se nedoločenega integrala ne da zapisati analitično, zato lahko integral izračunamo le numerično. Podobno velja tudi za reševanje diferencialnih enačb. Velikokrat pa so numerične metode udobnejše tudi za reševanje problemov, za katere sicer obstajajo tudi analitične rešitve, kar kažeta naslednja zgleda: Računanje inverzne matrike velikosti Če ima npr. matrika A celoštevilske elemente, potem ima inverzna matrika A racionalne elemente. Števci in imenovalci teh ulomkov so lahko zelo veliki in za računanje s takšnimi ulomki lahko pri eksaktnem računanju porabimo veliko časa in prostora. Če računamo numerično, vsako število zavzame enako veliko pomnilnika. Cardanove formule za ničle kubičnega polinoma. Kljub temu, da obstajajo analitične formule za izračun ničel kubičnega polinoma, jih ni enostavno uporabljati, saj je med drugim v enem izmed korakov potrebno izračunati tretji koren kompleksnega števila. Enostavneje je, če uporabimo kar splošni algoritem za računanje ničel polinomov. Glavni problemi, ki jih bomo obravnavali, so: nelinearne enačbe: poišči eno ali več ničel funkcije f : R R oziroma F : R n R n ; linearni sistemi: poišči x R n, ki reši sistem Ax = b za nesingularno matriko A R n n in b R n ; predoločeni sistemi: poišči x R n, ki minimizira Ax b 2 za matriko A R m n in b R m, kjer je m > n; lastne vrednosti: izračunaj lastne vrednosti in vektorje dane matrike A; interpolacija: poišči polinom stopnje n, ki gre skozi točke (x 0, y 0 ),..., (x n, y n ); integriranje: izračunaj integral b a f(t)dt; diferencialne enačbe: npr., reši začetni problem y = f(x, y), y(x 0 ) = y 0. Numerična matematika se deli na numerično linearno algebro in numerično analizo. Prva se ukvarja s problemi, ki so povezani z linearno algebro in imajo v glavnem opravka s končnimi matrikami, druga pa s problemi, ki so povezani z analizo, kot so interpolacija, aproksimacija, odvajanje, integriranje in reševanje diferencialnih enačb. Področji nista strogo ločeni, saj se npr. pri numerični analizi reševanja parcialnih diferencialnih enačb ne moremo lotiti brez znanja o reševanju linearnih sistemov, po drugi strani pa pri numerični linearni algebri razne algoritme za reševanje linearnih sistemov s posebno strukturo razvijamo samo zato, ker jih potrebujemo pri reševanju parcialnih diferencialnih enačb. En izmed glavnih pristopov pri numeričnem reševanju je, da dani problem prevedemo na lažjega, ki ima ali enako rešitev ali pa se rešitvi ne razlikujeta dosti. Zgledi za ta pristop so: Neskončne procese nadomestimo s končnimi procesi. Tako lahko npr. pri računanju vsote konvergentne vrste seštejemo le končno mnogo členov. Podobno, če je rešitev limita nekega neskončnega procesa, naredimo le končno korakov.

9 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 9 Neskončno razsežne prostore nadomestimo s končno razsežnimi. Tako npr. pri reševanju funkcijske enačbe namesto splošne funkcije iščemo rešitev v prostoru polinomov omejene stopnje. Diferencialne enačbe nadomestimo z algebraičnimi enačbami. Tako npr. približek za rešitev robnega problema dobimo z reševanjem linearnega sistema. Nelinearni problem nadomestimo z linearnim. Tako npr. nelinearne sisteme rešujemo z Newtonovo metodo iterativno tako, da v vsakem koraku za popravek vzamemo rešitev linearnega sistema, ki aproksimira nelinearni sistem. Zapletene funkcije nadomestimo z enostavnejšimi, npr. s polinomi. Pri numeričnem integriranju ali odvajanju tako namesto podane funkcije integriramo oziroma odvajamo interpolacijski polinom. Groba ideja je, da če se interpolacijski polinom dobro ujema s funkcijo, bo podobno veljalo tudi za odvod in integral. Matrike nadomestimo z matrikami, ki imajo enostavnejšo obliko. Tako npr. pri reševanju linearnega sistema matriko spravimo v zgornjo trikotno obliko, pri iskanju lastnih vrednosti pa v zgornjo Hessenbergovo obliko. Pri tem pazimo, da transformacijo na enostavnejšo obliko izvedemo na čim stabilnejši način, po možnosti z ortogonalnimi transformacijami. Glavne zahteve za dobro numerično metodo so: Zanesljivost. Metoda naj na enostavnih problemih vedno deluje pravilno. Kot bomo videli v nadaljevanju, obstajajo t.i. zelo občutljivi problemi, ki se jih, ne glede na to, kakšno numerično metodo uporabimo, ne da rešiti natančno. Pričakujemo pa, da bo metoda znala dovolj natančno rešiti neobčutljive probleme. Robustnost. Metoda naj običajno dela tudi na težjih problemih, kadar pa ne, naj to zazna in nas obvesti. Pogosto se namreč zgodi, da smo, ko nam neka metoda vrne numerični rezultat, slepo prepričani, da je rezultat zanesljiv, saj smo prej predhodno preverili, da je metoda natančno rešila nekaj lažjih primerov. Metoda, ki nas ne opozori, da je pri reševanju zašla v težave, nas lahko hitro zavede. Natančnost. Metoda naj izračuna rešitev tako natančno, kot je to možno glede na natančnost podanih začetnih podatkov. Seveda ne smemo pričakovati, da bomo iz začetnih meritev, ki so natančne na dve decimalki, dobili na koncu deset točnih decimalk, če pa se zgodi obratno, pa tudi ni dobro. Ekonomičnost. Tu imamo na eni strani časovno zahtevnost, kjer želimo, da metoda porabi čim manj računskega časa, za kar je ponavadi dobro merilo število potrebnih elementarnih operacij. Na drugi strani imamo prostorsko zahtevnost, kjer želimo, da metoda porabi čim manj pomnilnika. Za obe zahtevnosti naj bi veljalo, da optimalna metoda ne porabi dosti več, kot je za tovrstni problem najmanj možno. Uporabnost. Metodo naj bo čim bolj vsestranska, da jo lahko uporabimo na širokem spektru problemov. Seveda pa obstajajo tudi dovolj pomembni in pogosti tipi problemov, za katere se splača univerzalne numerične metode prilagoditi in tako pridobiti pri ekonomičnosti in natančnosti.

10 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 0 Prijaznost do uporabnika. Metoda naj bo dobro dokumentirana in ima enostaven uporabniški vmesnik. V končni fazi bodo z metodami večinoma računali uporabniki, ki ne vedo nujno veliko o numerični matematiki, želijo pa dobiti numerično rešitev nekega problema. Numerične metode se stalno razvijajo. Zelo pomembno vlogo ima tu tehnologija, ki je na voljo za računanje. Algoritmi, ki so bili razviti za računanje s svinčnikom in listom papirja, niso nujno najprimernejši za uporabo na računalniku in obratno. Z razvojem računalnikov so nekateri algoritmi, ki so prej veljali za potratne in neuporabne, prišli do veljave. Ko so se pojavili paralelni računalniki, so postali pomembni algoritmi, ki lahko izkoristijo paralelnost. S povečevanjem računske moči je možno reševati vedno večje probleme in tako bodo lahko prišle v ospredje metode, za katere sicer teoretično velja, da so za velike primere bolj učinkovite, a so ti problemi sedaj še nepredstavljivo veliki. Pri numeričnem računanju vedno izračunamo numerični približek za točno rešitev problema. Razlika med približkom in točno vrednostjo je napaka približka. Ločimo absolutno in relativno napako. Naj bo x točna vrednost, x pa približek za x. Potem: če je x = x + d a, je d a absolutna napaka, če je x = x( + d r ) oziroma d r = x x, je d r relativna napaka. x Majhna absolutna napaka pomeni, da moramo točni vrednosti prišteti število blizu 0, da dobimo približek, majhna relativna napaka pa pomeni, da približek dobimo tako, da točni rezultat pomnožimo s skalarjem, ki je blizu. Če je točna vrednost x enaka 0, potem je relativna napaka približka x = 0 neskončna..2 Plavajoča vejica Napake pri numeričnem računanju so med drugim tudi posledica tega, da v računalniku ne moremo predstaviti vseh realnih števil, temveč le končno mnogo. Zaradi tega vsa nepredstavljiva števila aproksimiramo z bližnjimi predstavljivimi števili, pri vsaki taki aproksimaciji pa pride do napake. V prvih računalnikih so bila realna števila predstavljena v obliki fiksne vejice, kjer za zapis uporabljamo predznak in fiksno število števk pred in za vejico. Ta zapis je sicer enostaven za računanje, so pa števila, ki jih lahko na ta način predstavimo, po velikosti dokaj omejena. Zaradi tega so prešli na predstavitev s plavajočo vejico, kjer imamo na voljo večji razpon števil. V plavajoči vejici so števila zapisana kot kjer je m = 0.c c 2,... c t mantisa in: x = ±m b e, (.) b: baza, ponavadi je binarna (b = 2), lahko pa tudi desetiška (b = 0), t: dolžina mantise,

11 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) e: eksponent v mejah L e U, kjer sta L in U spodnja in zgornja meja, c i : števke v mejah od 0 do b. Števila so normalizirana, kar pomeni c = 0. Na ta način po eni strani dosežemo enoličnost zapisov, saj bi sicer 0. b e in 0.0 b e+ bila različna zapisa istega števila; po drugi strani pa ohranjamo natančnost, saj poskrbimo, da ves čas uporabljamo celotno dolžino mantise, ki nam je na voljo. V nekaterih primerih pri najmanjšem eksponentu dopuščamo tudi t.i. denormalizirana števila, kjer je c = 0. Zapis, ki je enolično določen s parametri b, t, L, U, označimo s P(b, t, L, U). Da bi poenotili računanje na različnih računalnikih, so leta 985 predpisali pravila (gre za t.i. standard IEEE 754), ki se jih držijo vsi novejši računalniki. Najbolj znana zapisa po standardu IEEE sta: enojna natančnost (single): P(2, 24, 25, 28), število je v računalniškem spominu shranjeno v 32 bitih, 8 23 eksponent predznak mantisa c 2 c 3... c 24 (c = ) dvojna natančnost (double): P(2, 53, 02, 024), število je shranjeno v 64 bitih. 52 eksponent predznak mantisa c 2 c 3... c 53 (c = ) Če pogledamo razpon eksponentov pri enojni natančnosti, vidimo, da nismo porabili vseh 256 možnosti, ki jih dobimo iz zapisa eksponenta z osmimi biti, temveč le 254. Preostali vrednosti sta rezervirani za števila 0,, in nedoločeno vrednost NaN (Not-a-Number), ki jih ni mogoče prikazati v obliki (.). Tako pri računanju v aritmetiki, ki podpira standard IEEE, dobimo npr. /0 =, 3/ = 0 in 0/0 = NaN. Medtem ko je rezultat vseh operacij, v katerih nastopa NaN, spet NaN, lahko iz vrednosti ± z nadaljnjim računanjem spet pridemo do končnih vrednosti. V sistemih, ki podpirajo standard IEEE, se tako programi zaradi deljenja z 0 ali zaradi prekoračitve ne zaustavijo. Standard IEEE dopušča tudi denormalizirana števila, kjer je c = 0, eksponent pa je fiksen (v primeru enojne natančnosti je enak -25).

12 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 2 Če je s predznak, 0 e 255 eksponent in 0 f < število f = 0.c 2... c 24, potem so števila v enojni natančnosti zapisana v naslednji obliki. 0 < e < 255 poljuben f x = ( ) s ( + f) 2 e 27 e = 255 f = 0 x = ( ) s e = 255 f = 0 x = NaN e = 0 f = 0 x = ( ) s 0 e = 0 f = 0 x = ( ) s (0 + f) 2 26 Podrobnejši zgledi zapisov števil v enojni natančnosti so v spodnji tabeli. Za predznak s velja, da je enak. e f število x = ( ) = x = x = NaN x = x = = 2 32 Zgled. Vsa pozitivna predstavljiva normalizirana števila iz množice P(2, 3,, ) so: = = = = = = = = = = = =.75 Slika.: Pozitivna predstavljiva normalizirana števila iz množice P(2, 3,, ). Na sliki. lahko opazimo, da predstavljiva števila niso enakomerno razporejena po realni osi in da je med 0 in najmanjšim predstavljivim številom večja praznina. To praznino lahko malo zmanjšamo, če dopustimo še denormalizirana števila. V množici P(2, 3,, ) tako dobimo še naslednja pozitivna števila, ki so na sliki.2 označena rdeče: = = = Števila, ki niso predstavljiva, predstavimo s približki, ki jih dobimo z zaokrožanjem. To pomeni, da število x zapišemo v neskončnem zapisu kot x = ±0.d d 2... d t d t+... b e, potem pa

13 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 3 Slika.2: Vsa pozitivna predstavljiva števila iz množice P(2, 3,, ). se na podlagi d t+ odločimo, ali zaokrožimo navzgor ali navzdol. Če je d t+ < b/2, potem odrežemo števke od (t + )-ve naprej in je f l(x) = ±0.d d 2... d t b e, če pa je d t+ b/2, potem zaokrožimo navzgor in je f l(x) = ±(0.d d 2... d t + b t ) b e. Naj bo x tako število, da leži x na intervalu med največjim in najmanjšim pozitivnim predstavljivim normaliziranim številom in naj bo f l(x) njegovo najbližje predstavljivo število, dobljeno z zaokrožanjem. Z naslednjim izrekom bomo dokazali, da velja kjer je osnovna zaokrožitvena napaka, za katero velja: f l(x) = x( + δ) za δ u, u = 2 b t enojna natančnost: u = , dvojna natančnost: u = Izrek. Če število x leži znotraj območja predstavljivih normaliziranih števil, potem velja f l(x) x x u + u. Dokaz. Naj bo x = (y + z)b e, kjer je y = 0.d... d t, z = d t+ d t+2... in naj bo f l(x) = mb e, kjer je m = 0.c... c t. Predpostavimo lahko, da je x pozitiven. a) Če je d t+ < b/2, odrežemo preostale števke in vzamemo m = y. Velja f l(x) x x = z y + z 2 b t b + = 2 b t u + u, kjer smo pri oceni izbrali največji možni z in najmanjši možni y. b) Če je d t+ b/2, zaokrožimo navzgor in vzamemo m = y + b t. Dobimo f l(x) x x = b t z y + z b t 2 b t b + 2 b t = u + u, kjer smo pri oceni izbrali najmanjša možna z in y. Standard IEEE zagotavlja, da za predstavljivi števili x in y velja:

14 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 4 f l(x y) = (x y)( + δ), δ u, za = +,, /,, za x > 0 je f l( x) = x( + δ), δ u. Če uporabimo osnovno operacijo na dveh predstavljivih številih, potem po standardu IEEE dobimo kot rezultat isto predstavljivo število, kot bi ga dobili, če bi operacijo izračunali eksaktno in zaokrožili rezultat. Izjema je, če pride do prekoračitve (overflow) ali podkoračitve (underflow) obsega predstavljivih števil. V tem primeru dobimo po standardu IEEE v primeru prekoračitve ±, v primeru podkoračitve pa 0..3 Napake pri numeričnem računanju Denimo, da želimo izračunati vrednost neke funkcije f : R R pri danem x. Numerična metoda vrne približek ŷ za y, razlika D = y ŷ pa je celotna napaka približka. Izvor napake je lahko nenatančnost začetnih podatkov, napaka numerične metode ali pa zaokrožitvene napake med računanjem. Zato celotno napako razdelimo na tri dele. Neodstranljiva napaka D n Ta napaka se pojavi zaradi nenatančnosti začetnih podatkov. Nastane zaradi napake meritev ali pa zaradi aproksimacije nepredstavljivih števil s predstavljivimi. Ker ne moremo zahtevati točnih podatkov, se neodstranljivi napaki ne moremo izogniti, od tod tudi izvira njeno ime. Prav tako je neodstranljiva napaka neodvisna od izbire numerične metode. Namesto z x računamo s približkom x in namesto y = f(x) izračunamo y = f(x). Neodstranljiva napaka je D n = y y. Če je funkcija f odvedljiva v točki x, potem je D n f (x) x x. Če poznamo oceno za absolutno vrednost odvoda, lahko tako ocenimo velikost neodstranljive napake. Napaka metode D m Pogosto ni možno s končno mnogo osnovnimi operacijami numerično izračunati vrednosti funkcije f. Zaradi tega funkcijo aproksimiramo z drugo funkcijo g, ki jo znamo izračunati s končno mnogo osnovnih operacij. Primer je npr. numerično integriranje, kjer namesto podane funkcije integriramo interpolacijski polinom. Pogosto do napake metode pride tudi zato, ker pri računanju neskončen proces nadomestimo s končnim, npr. seštejemo le končno členov neskončne vrste ali pa prekinemo iterativno metodo po končnem številu korakov. Vse skupaj pomeni, da namesto f računamo vrednost funkcije g, ki jo lahko izračunamo s končnim številom operacij. Namesto y = f(x) tako izračunamo ỹ = g(x). Napaka metode je D m = y ỹ.

15 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 5 Aproksimacijsko funkcijo g v glavnem izbiramo tako, da poznamo tudi oceno za napako metode oziroma razliko f(x) g(x). Ponavadi tudi v tej oceni nastopajo odvodi funkcije f. Zaokrožitvena napaka D z Pri dejanskem računanju ỹ = g(x) se pri vsaki računski operaciji pojavi zaokrožitvena napaka, zato v resnici namesto ỹ izračunamo ŷ. Sama vrednost ŷ je odvisna od vrstnega reda operacij in načina izračuna g(x). Zaokrožitvena napaka je D z = ỹ ŷ. Pri tem je potrebno poudariti, da ne velja nujno ŷ = f l(ỹ), saj ne zaokrožujemo samo na koncu, temveč pri vsakem vmesnem koraku, ki je potreben za izračun ỹ = g(x). Celotna napaka Končna napaka je D = D n + D m + D z. Velja ocena D D n + D m + D z, zato nima smisla poskušati zmanjšati samo en člen, če druga dva ostaneta velika. Npr., če je neodstranljiva napaka velika, potem z metodo, ki ima majhno napako, ne pridobimo ničesar. Idealna situacija je, kadar so vse tri napake približno enakega velikostnega reda. Zgled.2 Izračunati želimo sin(π/0), na voljo pa imamo le kalkulator z osnovnimi štirimi operacijami, ki računa v plavajoči vejici z desetiško bazo in dolžino mantise 4. a) Neodstranljiva napaka. Namesto z x = π/0, ki ni predstavljivo število, računamo z najbližjim predstavljivim številom x = Tako dobimo D n = y y = sin(π/0) sin(0.342) = V praksi seveda ne poznamo točne vrednosti y. Če poznamo oceno velikosti odvoda funkcije f, lahko uporabimo oceno D n f (x) x x. V našem primeru tako iz f (x) in x x dobimo oceno D n 5 0 5, ki je zelo blizu dejanski napaki. b) Napaka metode. Ker ne znamo izračunati f(x) = sin x, za aproksimacijsko funkcijo vzamemo prva dva neničelna člena razvoja funkcije f v Taylorjevo vrsto, torej g(x) = x x 3 /6. Namesto y = sin(x) tako izračunamo ỹ = g(x). Napaka je D m = y ỹ = Tudi napako metode v praksi lahko le ocenimo, saj ne poznamo točne vrednosti f(x). Ker Taylorjeva vrsta sinusne funkcije alternira, je v našem primeru napaka manjša od absolutne vrednosti naslednjega neničelnega člena. Tako dobimo oceno D m ki se skoraj popolnoma ujema z dejansko napako.

16 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 6 c) Zaokrožitvena napaka. Odvisna je od vrstnega reda in načina računanja g(x). Denimo, da x x 3 /6 izračunamo po naslednjem postopku: a = f l(x x) = f l( ) = a 2 = f l(a x) = f l( ) = a 3 = f l(a 2 /6) = f l( ) = ŷ = f l(x a 3 ) = f l( ) = Ker je ỹ = g(x) = , je napaka D z = ỹ ŷ = Tudi velikost zaokrožitvene napake se da oceniti, če po korakih analiziramo sam postopek izračuna g(x). Nekaj primerov analize zaokrožitvenih vrednosti lahko najdete v razdelku.6. Celotna napaka je D = D n + D m + D z = Vidimo, da se izračunana vrednost ujema s točno vrednostjo, zaokroženo na 4 decimalke. To pomeni, da smo dosegli optimalen rezultat, saj smo v dani množici predstavljivih števil dobili najboljši možni približek za vrednost sin(π/0)..4 Občutljivost problema in stabilnost metode Z analizo in ocenjevanjem velikosti neodstranljive napake se ukvarja teorija motenj (perturbacij). Pri teoriji motenj nas zanima, za koliko se spremeni rezultat, če malo zmotimo (perturbiramo) začetne podatke. Problem je občutljiv (slabo pogojen), če lahko pride do velike spremembe, in neobčutljiv (dobro pogojen), če so spremembe majhne. Zgled.3 Denimo, da iščemo presečišče dveh premic. Zanima nas občutljivost presečišča na vodoravne premike premic, ki so npr. lahko posledica nenatančnih podatkov. Iz slike.3 vidimo, da je v primeru, ko sta premici skoraj pravokotni, sprememba presečišča sorazmerna premiku premic, torej ne pride do velike spremembe in je sistem neobčutljiv. Če pa sta premici skoraj vzporedni, se lahko presečišče pri majhnem premiku premic močno premakne in sistem je zelo občutljiv. neobčutljiv sistem zelo občutljiv sistem Slika.3: Neobčutljivo presečišče premic (levo) in občutljivo presečišče premic (desno). Poučen je naslednji zgled dveh linearnih sistemov iz [4].

17 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 7 a) Če vzamemo linearni sistem x + y = 2 x y = 0, katerega točna rešitev je x = y = in malo zmotimo desno stran v x + y =.9999 x y = , je rešitev zmotenega sistema enaka x = in y = Ker se je rezultat spremenil za isti velikostni razred kot podatki, je ta sistem neobčutljiv. b) Za linearni sistem x y = x y =.97 prav tako velja, da je točna rešitev x = y =. Če sedaj zmotimo desno stran s podobno veliko motnjo kot v primeru a), je točna rešitev sistema x y = x y =.970 enaka x = 2.97 in y = Tu očitno ne gre za majhno spremembo rešitve in ta sistem je zelo občutljiv. Zgled.4 Zelo znan je Wilkinsonov zgled, kjer vzamemo polinom p(x) = (x )(x 2) (x 20) = x 20 20x !, ki ima ničle, 2,..., 20. Če sedaj malo zmotimo koeficient pri x 9 in vzamemo polinom se izkaže, da so točne ničle polinoma g enake g(x) = p(x) 2 23 x 9, x 9 = x 0, = ± i. x 6,7 = ± i x 8,9 = ±.94033i x 20 = Čeprav so vse ničle polinoma p enostavne in lepo separirane, majhna motnja povzroči velike spremembe. Wilkinson je s tem primerom pokazal, da računanje lastnih vrednosti preko karakterističnega polinoma ni stabilno. Dotedanji postopek je namreč bil, da se iz matrike najprej s kakšnim numeričnim postopkom Angleški matematik James H. Wilkinson (99-986) spada med pionirje analize zaokrožitvenih napak. Napisal je zelo vplivni knjigi Rounding Errors in Algebraic Processes (963) in The Algebraic Eigenvalue Problem (965). Obe sta dolgo veljali za glavni referenci s področja zaokrožitvenih napak in algoritmov za računanje lastnih vrednosti matrik. V zadnjem času sta njuno vlogo prevzeli knjigi [2] in [9].

18 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 8 (znana je npr. metoda Danilevskega) izračuna koeficiente karakterističnega polinoma, v drugem delu pa se uporabi kakšno numerično metodo za iskanje ničel polinoma. Izračunani koeficienti karakterističnega polinoma se zaradi zaokrožitvenih napak razlikujejo od točnih koeficientov, kot kaže Wilkinsonov primer, pa lahko majhne spremembe koeficientov povzročijo velike spremembe ničel in posledično na ta način izračunanih lastnih vrednosti. Bolje je uporabiti metode za računanje lastnih vrednosti, ki ne računajo eksplicitno koeficientov karakterističnega polinoma. Kot zanimivost omenimo še, da lahko obratno algoritme za računanje lastnih vrednosti matrik uporabimo za računanje ničel polinomov. Vsakemu polinomu p(x) = a 0 x n + a x n + + a n, a 0 = 0, namreč ustreza t.i. pridružena matrika C p = a n /a 0 a n /a 0 a /a 0 za katero lahko hitro preverimo, da se njen karakteristični polinom do množenja s konstanto natančno ujema s polinomom p. Lastne vrednosti matrike C p so potem ravno ničle polinoma p. Ta postopek med drugim uporablja tudi Matlabov ukaz ÖÓÓØ za računanje ničel polinoma., Stopnjo občutljivosti merimo z razmerjem med velikostjo neodstranljive napake in velikostjo napake v podatkih. Zgled.5 Naj bo f : R R zvezna in odvedljiva funkcija. Potem za razliko med f(x) in f(x + δx), kjer je δx majhna motnja, velja f(x + δx) f(x) f (x) δx, torej je f (x) absolutna občutljivost f v točki x. Če pomislimo na graf funkcije, hitro vidimo, da se pri isti spremembi argumenta x za δx vrednost funkcije spremeni močneje takrat, ko je graf strm. Za oceno relativne napake dobimo f(x + δx) f(x) f(x) f (x) x f(x) δx x, torej je f (x) x f(x) relativna občutljivost funkcije f v točki x. Vidimo, da je funkcija relativno občutljivejša, če je njena vrednost blizu 0, v primeru, ko je f(x) = 0, pa je občutljivost funkcije celo neskončna. Večje relativne spremembe lahko pričakujemo tudi kadar je graf funkcije strm ali kadar je absolutna vrednost argumenta x velika..5 Direktna in obratna stabilnost Medtem, ko je pojem občutljivosti povezan s samim problemom in je neodvisen od numerične metode, s katero problem rešujemo, se pojem stabilnosti navezuje na numerično metodo. Ločimo direktno in obratno stabilnost, glavno orodje za preverjanje pa je analiza zaokrožitvenih napak.

19 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 9 Denimo, da z neko numerično metodo želimo izračunati vrednost funkcije f pri argumentu x, metoda pa nam namesto eksaktne vrednosti y = f(x) vrne približek ŷ. Razliko med izračunano vrednostjo ŷ in eksaktno vrednostjo y imenujemo direktna napaka. Če za vsak x velja, da je (absolutna oz. relativna) direktna napaka majhna, je proces (absolutno oz. relativno) direktno stabilen, sicer pa direktno nestabilen. Če je proces direktno stabilen, potem je izračunani rezultat (absolutno oz. relativno) blizu eksaktnega rezultata. Pri obratni analizi pa nas zanima, za koliko je potrebno zmotiti argument x v x, da velja f( x) = ŷ. To pomeni, da je ŷ eksaktni rezultat pri zmotenem argumentu x. Razliko med x in x imenujemo obratna napaka. Če je za vsak x obratna napaka majhna (absolutno oz. relativno), je proces (absolutno oz. relativno) obratno stabilen, sicer pa obratno nestabilen. Če je proces obratno stabilen, potem je izračunani rezultat točen rezultat za malo spremenjene začetne podatke (absolutno oz. relativno). V praksi bomo za večino algoritmov lahko pokazali da so obratno stabilni, direktno stabilnih pa je bolj malo. Tako bomo npr. pokazali, da nam stabilne metode za reševanje linearnega sistema vrnejo točno rešitev linearnega sistema z malo zmoteno matriko. Pri obratni napaki je izračunana vrednost enaka f( x). Če je funkcija f zvezno odvedljiva v x, potem velja f( x) f(x) f (x) x x. Če f ni absolutno občutljiva, bo pri majhnih vrednostih x x direktna napaka absolutno obratno stabilne metode majhna in metoda bo absolutno direktno stabilna. Podobno velja za relativno stabilnost in relativne napake. Velja naslednja ocena direktna napaka občutljivost obratna napaka, ki nam pove, da v primeru obratno stabilne metode lahko pričakujemo, da bo direktna napaka majhna pri tistih vrednostih argumentov, pri katerih je problem neobčutljiv. Denimo, da je proces obratno stabilen, kar pomeni, da smo izračunali točno rešitev malo zmotenega problema. Vendar, če je problem občutljiv, se točna rešitev bližnjega problema lahko zelo razlikuje od točne rešitve začetnega problema in izračunani rezultat je nenatančen. Nenatančnost je tako lahko posledica ali uporabe stabilnega algoritma na občutljivem problemu ali pa uporabe nestabilnega algoritma na neobčutljivem problemu. Natančnost je zagotovljena, kadar neobčutljiv problem rešimo z obratno stabilno numerično metodo..6 Analiza zaokrožitvenih napak V tem razdelku bomo na nekaj zgledih prikazali, kako izvajamo analizo zaokrožitvenih napak in kaj lahko sklepamo iz dobljenih ocen za zaokrožitveno napako.

20 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Računanje produkta n + predstavljivih števil Dana so predstavljiva števila x 0, x,..., x n, računamo pa produkt p = x 0 x x n, pri čemer bomo, tako kot tudi v nadaljnjih zgledih, predpostavili, da pri računanju ne pride do prekoračitve ali podkoračitve. Eksaktni algoritem je: p 0 = x 0 i =,..., n p i = p i x i p = p n Dejanski algoritem pa: p 0 = x 0 i =,..., n p i = p i x i ( + δ i ), p = p n δ i u Na levi strani imamo algoritem, s katerim z eksaktnim računanjem točno izračunamo želeni produkt. Na desni strani je zapis istega algoritma, kjer upoštevamo računanje v plavajoči vejici. Ker je množica vseh predstavljivih števil končna, lahko pri vsakem množenju pride do zaokrožitvene napake, ki je omejena z osnovno zaokrožitveno napako u. Dobimo Velja to pa ocenimo navzgor z in navzdol z ( + u) n = + p = p( + δ ) ( + δ n ) =: p( + γ). ( u) n + γ ( + u) n, ( ) n u + ( ) n u 2 + = + nu + O(u 2 ) 2 ( u) n nu. Zadnjo oceno dokažemo z indukcijo, saj iz ( u) n nu sledi ( u) n+ ( nu)( u) = (n + )u + nu 2 > (n + )u. Tako lahko pri predpostavki nu zanemarimo člene O(u 2 ) in ocenimo γ nu, To pomeni, da je relativna napaka odvisna od števila množenj in da se z vsakim množenjem poveča za u. Pokazali smo, da je računanje produkta n + števil direktno stabilno, saj je relativna napaka izračunanega produkta majhna in ni odvisna od začetnih podatkov. Hitro lahko preverimo, da je algoritem tudi obratno stabilen. Če namreč vzamemo x 0 = x 0 in x i = x i ( + δ i ) za i =,..., n, potem je p = x 0 x x n in izračunani rezultat je očitno točen produkt malo spremenjenih začetnih podatkov. Iz zgornje izpeljave napake za računanje produkta n + števil lahko izpeljemo tudi naslednjo oceno, ki jo bomo pogosto uporabljali pri različnih ocenah. Če je + γ = ( + α ) ( + α n ) ( + β ) ( + β m ), kjer je α i a i u za i =,..., n in β i b i u za i =,..., m, potem γ lahko ocenimo z γ ( n i= a i + m i= b i ) u.

21 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Računanje skalarnega produkta Imamo dva vektorja x = [x x n ] T in y = [y y n ] T predstavljivih števil, radi pa bi izračunali skalarni produkt s = y T x = n i= x iy i. Eksaktni algoritem je: s 0 = 0 i = 0,..., n p i = x i y i s i = s i + p i s = s n Dejanski algoritem pa: ŝ 0 = 0 i = 0,..., n p i = x i y i ( + α i ), α i u ŝ i = (ŝ i + p i )( + β i ), β i u ŝ = ŝ n Za napako β velja β = 0, saj pri prištevanju k 0 ne pride do zaokrožitvene napake. Z analizo zaokrožitvenih napak dobimo n ŝ = x i y i ( + γ i ), i= kjer je in + γ = ( + α )( + β 2 ) ( + β n ) + γ i = ( + α i )( + β i ) ( + β n ), i = 2,..., n. Tako lahko ocenimo γ nu in γ i (n i + 2)u za i = 2,..., n. To pomeni, da je ŝ točni skalarni produkt relativno malo zmotenih vektorjev x in y. Računanje skalarnega produkta je zato obratno stabilno. Pri analizi direktne stabilnosti najprej ocenimo absolutno direktno napako. Iz sledi ŝ s n i= ŝ s = x i y i γ i nu Od tod za relativno napako dobimo oceno n x i y i γ i, i= n i= x i y i = nu y T x. ŝ s s y T x y T x nu. Če so vsi produkti x i y i enakega predznaka, dobimo ŝ s s nu in računanje je direktno stabilno, sicer pa imamo v primeru, ko sta vektorja x in y skoraj ali celo pravokotna, lahko veliko relativno napako. Pri verjetnosti in statistiki nastopajo večinoma vektorji s samimi nenegativnimi elementi. Za takšne vektorje je računanje skalarnega produkta direktno stabilno. Prav tako lahko hitro vidimo, da je direktno stabilno tudi računanje norme x 2, saj je x 2 2 = xt x. Posledica je, da tudi seštevanje n števil v splošnem ni direktno stabilno, saj si ga lahko predstavljamo kot skalarni produkt z vektorjem samih enic. Če seštevamo števila različnih predznakov in je končna točna vsota blizu 0, lahko pričakujemo veliko relativno napako.

22 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 22 Iz tega primera sledi tudi ugotovitev, da kadarkoli je lahko eksaktna vrednost izračuna enaka 0, pri numeričnem računanju pa ne dobimo nujno točno 0, potem taka metoda ne more biti direktno relativno stabilna. Pri množenju n + števil te težave ni, saj je produkt enak 0 samo takrat, ko je vsaj en izmed faktorjev enak 0, v tem primeru pa tudi pri numeričnem računanju dobimo Računanje vrednosti polinoma po Hornerjevem algoritmu Dan je polinom p(x) = a 0 x n + a x n + + a n, računamo pa njegovo vrednost v točki x po Hornerjevem algoritmu. Predpostavka je, da so koeficienti a 0,..., a n in argument x predstavljiva števila. Eksaktni algoritem je: p 0 = a 0 i =,..., n p i = p i x + a i p = p n Z analizo zaokrožitvenih napak dobimo Dejanski algoritem pa: p 0 = a 0 i =,..., n p i = ( p i x( + α i ) + a i )( + β i ) α i, β i u p = p n p = a 0 x n ( + γ 0 ) + a x n ( + γ ) + + a n ( + γ n ), kjer je + γ 0 = ( + α ) ( + α n )( + β ) ( + β n ), + γ i = ( + α i+ ) ( + α n )( + β i ) ( + β n ), i =,..., n, + γ n = ( + α n ), torej lahko ocenimo γ 0 2nu in γ i (2(n i) + )u za i =,..., n. Računanje vrednosti polinoma je obratno stabilno, saj se izračunana vrednosti ujema z eksaktno vrednostjo bližnjega polinoma, ki ima koeficiente a i ( + γ i ) namesto a i, pri nespremenjenem argumentu x. Iz absolutne napake p p = a 0 x n γ 0 + a x n γ + + a n γ n sledi ocena od tod pa p p 2nu( a 0 x n + a x n + + a n ), p p p 2nu( a 0 x n + a x n + + a n ) a 0 x n. (.2) + + a n Računanje vrednosti polinoma po Hornerjevem algoritmu ni direktno stabilno, težave pa podobno kot pri računanju skalarnega produkta, lahko pričakujemo, če je vsota blizu 0, členi v vsoti pa niso enako predznačeni. Velikokrat se zgodi, da so ocene za numerično napako zelo pesimistične in v praksi ne dobimo tako velikih napak. Za predstavo o kvaliteti dobljene ocene (.2) si poglejmo računanje polinoma (x 2) 9 = x 9 8x x 7 672x x x x x x 52 (.3)

23 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 23 v okolici točke 2. Na sliki.4 je graf polinoma na intervalu [.93, 2.07], ki ga dobimo v Matlabu, če po Hornerjevem algoritmu v dvojni natančnosti izračunamo vrednosti v 500 ekvidistantnih točkah Slika.4: Numerično izračunana vrednost polinoma (.3) v okolici točke 2. Opazimo, da se numerično izračunane vrednosti ne obnašajo tako lepo, kot bi mogoče pričakovali. Če bi s postopkom bisekcije, ki ga bomo natančneje opisali v razdelku 2.2, računali ničlo tega polinoma, bi za ničlo lahko dobili katerokoli vrednost z intervala [.95, 2.05], na katerem so numerično izračunane vrednosti tako pozitivne kot negativne. To na prvi pogled zgleda zelo nenatančno, a bomo v naslednjem poglavju spoznali, da se večkratnih ničel ne da izračunati s polno natančnostjo (če seveda njihovih večkratnosti ne poznamo že vnaprej). Za devetkratno ničlo tako velja, da bo točno izračunanih le devetina decimalk, kar se ujema s situacijo na sliki. Da napake niso povsem naključne, lahko vidimo iz vzorca na sliki.5, ki ga dobimo, če narišemo po Hornerjevem algoritmu izračunane vrednosti polinoma za prvih 2000 predstavljivih številih v dvojni natančnosti, ki so večje od 2. Formulo (.2) lahko uporabimo za sprotno računanje ocene. Če algoritem razširimo v p 0 = a 0 q 0 = a 0 i =,..., n p i = p i x + a i q i = q i x + a i p = p n q = 2nu q n p je q ocena za relativno napako. Tako sicer porabimo dvakrat več dela, a imamo na voljo oceno, s katero lahko preverimo zanesljivost izračunane vrednosti. Vrednost q je izračunana natančno, saj seštevamo samo pozitivne člene, računanje takšne vsote pa je direktno stabilno.

24 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) x = 2 + k 2 52 Slika.5: Po Hornerjevem algoritmu izračunane vrednosti polinoma (.3) v najmanjših 2000 predstavljivih številih, večjih od Ocena Dejanska napaka Slika.6: Izračunana relativna napaka pri računanju vrednosti polinoma (.3) po Hornerjevem algoritmu in primerjava z oceno za napako. Graf na sliki.6 prikazuje razmerje med resnično napako in oceno za napako iz formule (.2). Vrednosti v logaritemski skali predstavljajo absolutno vrednost relativne napake. Vidimo, da je zgornja meja dobra ocena za dejansko napako. V bližini točke 2 so napake res večje in se obnašajo tako, kot napoveduje ocena. Zanimiva je tudi situacija levo od izhodišča, saj so na tem delu tako ocene kot tudi konkretne napake zelo majhne. To se da hitro razložiti, če opazimo, da ima polinom alternirajoče koeficiente. Tako se pri negativnih argumentih v algoritmu seštevajo enako predznačena števila in napaka je zato dosti manjša.

25 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 25.7 Poučni primeri Poglejmo si nekaj zgledov, ki kažejo, da ni dovolj le izpeljati formulo in jo pognati v računalniku. Nekaj teh zgledov se skupaj z dodatnimi zanimivimi primeri nahaja tudi v [2] in [2]..7. Računanje števila π Ideja za izračun števila π, ki se pripisuje Arhimedu, sledi iz dejstva, da je π limita obsega pravilnega mnogokotnika, včrtanega v krog s polmerom r = 2, ko gre število stranic proti neskončnosti. Naj bo a n stranica pravilnega n-kotnika, S n pa njegov obseg. Poiščimo zvezo med a n in a 2n s slike.7. Slika.7: Stranici pravilnega n-kotnika in pravilnega 2n-kotnika. S pomočjo Pitagorovega izreka lahko izrazimo a 2n = ( ( a ) ) n 2 ( an ) 2 2 = 2 a 2 n, 2 od tod pa sledi S 2n = 2na 2n = 2n 2 ( Sn n ) 2. (.4) Ideja je, da računanje začnemo pri S 6, za katerega vemo, da je S 6 = 3, potem pa z uporabo formule (.4) izračunamo π kot limito S n, ko gre n proti neskončnosti. Izkaže se, da tako v enojni kot v dvojni natančnosti formula (.4) odpove, saj pride do odštevanja skoraj enako velikih števil, napaka pa se množi z 2n. V spodnji tabeli so napačne decimalke označene z rdečo barvo. n Sn n Sn

26 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 26 Da je s formulo (.4) nekaj narobe, pokaže tudi naslednji kratek razmislek. ( V limiti naj šla ( ) ) 2 vrednost S n proti π. Pri dovolj velikem n bo vrednost S n n tako majhna, da bo f l Sn n = in izračunali bomo S 2n = 0, kar dejansko tudi vidimo v zgornji tabeli. Za stabilno računanje je potrebno formulo preurediti. Stabilna oblika je ( ( ) 2 Sn n S 2n = 2n ( 2 + ) ( + ( Sn n ) 2 ) ( ) 2 Sn n 2 ) = S n + ( Sn n ) 2. (.5) Sedaj dobimo pravilne rezultate: n Sn n Sn Ko gre sedaj v limiti n proti neskončnosti, gre spet S n n bo S 2n kar enak S n, torej ostane dober približek za π. proti 0, a sedaj iz formule (.5) sledi, da Iz tega primera vidimo, da kadar imamo nestabilen postopek, nam ne pomaga niti računanje z večjo natančnostjo. Včasih je možno, kot npr. v tem primeru, preurediti postopek tako, da se med računanjem ne izgublja natančnost..7.2 Seštevanje Taylorjeve vrste za e x Vemo, da je e x = n=0 ( ) n xn n! in da vrsta konvergira za vsak x C. Če pa to vrsto seštevamo numerično po vrsti, potem za x > 0 ne dobimo najboljših rezultatov. Pri x = 0 v enojni natančnosti tako dobimo vsoto , kar je očitni nesmisel. V naslednji tabeli, ki prikazuje numerično seštete vsote vrste za x =, 2,..., 0, so napačne decimalke označene z rdečo barvo.

27 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 27 x e x vrsta relativna napaka Razlog za velike napake je, da zaporedje členov vrste alternira, poleg tega pa členi po absolutni vrednosti nekaj časa naraščajo, preden začnejo padati proti 0. Vse skupaj se računa v enojni natančnosti, za katero vemo, da ne more prikazati več kot sedem točnih decimalk. Ker so rezultati izpisani tako, da vedno izpišemo 6 števk za decimalno vejico, zadnje decimalke števil, ki so velikostnega razreda 0 2 ali več, nimajo nobenega pravega pomena. Absolutne vrednosti delnih vsot na začetku naraščajo, potem pa začnejo padati. Prej ali slej se zgodi, da pridejo v ospredje napačne decimalke, ki pri velikih absolutnih vrednostih niso bile nevarne, končni rezultat pa povsem pokvarijo. n a n s n n a n s n Pri računanju e 0 teh težav ni, saj so vsi členi pozitivni, rezultat pa velik in je relativna napaka potem majhna. Zaradi tega lahko natančno izračunamo e 0 tako, da izračunamo e 0 in nato delimo e 0 = /e 0.

28 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Reševanje kvadratne enačbe Vemo, da sta rešitvi kvadratne enačbe podani s formulo ax 2 + bx + c = 0 x,2 = b ± b 2 4ac. (.6) 2a Direktna uporaba zgornje formule lahko v nekaterih primerih pripelje do hudih napak. Npr., če so koeficienti zelo veliki ali zelo majhni, potem lahko pride do prekoračitve ali podkoračitve obsega pri računanju b 2 4ac. Temu se lahko izognemo, če npr. predhodno celo enačbo delimo s tistim izmed koeficientov a, b, c, ki ima največjo absolutno vrednost. Druga težava je odštevanje približno enako velikih števil, ki se lahko pojavi v eni izmed rešitev (.6). Temu se izognemo tako, da eno rešitev (odvisno od predznaka b) izračunamo po formuli (.6), drugo pa po Vietovi formuli x 2 = c/(ax ). Če vzamemo npr. a = , b = , c = , potem v dvojni natančnosti po formuli (.6) dobimo x = , x 2 = točni ničli pa sta x = , x 2 = Prvi približek je natančen, pri drugem pa smo zaradi odštevanja enako velikih količin v bistvu izgubili vse točne decimalke. Če drugo ničlo izračunamo preko x 2 = c/(ax ), dobimo pravilno x 2 = Računanje I 0 Za integrale I n = 0 x n e x dx za n = 0,,... lahko z integriranjem po delih izpeljemo rekurzivno formulo I n = x n e x n x n e x dx = ni n. 0 0 To rekurzivno formulo želimo uporabiti za izračun I 0, saj poznamo začetno vrednost I 0 = e. Ko to izračunamo v enojni natančnosti, rezultati niso najboljši: n I n n I n

29 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 29 Slika.8: Z naraščajočim n napaka raste, točna vrednost pa pada. Razlog za velike napake, ki naraščajo z n, se skriva v formuli I n = ni n. Napaka pri členu I n se pomnoži z n in torej po absolutni vrednosti hitro narašča, točne vrednosti I n pa padajo, kot kaže spodnja slika. Ker delež napake prej ali slej prevlada nad deležem točne vrednosti, dobimo z naraščajočim n vedno slabše rezultate. Rešitev je, da vrednosti računamo v obratni smeri: I n = ( I n )/n. Tako se napaka v vsakem koraku deli z n in če začnemo pri nekem dovolj poznem členu, lahko z začetnim I n = 0 izračunamo vse začetne člene dovolj natančno. Če tako začnemo s približkom I 26 = 0, dobimo (v enojni natančnosti) vse člene od I 3 do I 0 na vse decimalke točno. Kljub temu, da imamo na začetku veliko napako, ker smo vzeli I 26 = 0, se sedaj napaka vedno manjša, prispevek točnega rezultata pa narašča. Pri n = 3 postane napaka dovolj majhna, da so vse decimalke približka za I 3 točne. n I n n I n Zaporedno korenjenje in kvadriranje Izberimo predstavljivo število x > 0 in ga numerično najprej 80-krat korenimo in nato 80-krat kvadriramo. Kaj dobimo? Izkaže se, da za x dobimo, za 0 < x < pa dobimo 0! Za razumljivejšo razlago si poglejmo računanje na modelu kalkulatorja HP 48G, kjer je baza desetiška, dolžina mantise pa je 2. Poglejmo najprej primer 0 < x <. Za takšne x velja x > x. Največje predstavljivo število,

30 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 30 ki je še manjše od, je 0 2 oziroma 0. 9 }. {{.. 9 }. Zaradi + x = + 2 x 8 x2 + velja = = 0. 9 }. {{.. 9 } 4 9 }. {{.. 9 } in število se zaokroži na 0. 9 }. {{.. 9 }. Tako s korenjenjem nikoli ne pridemo do, ko pa kvadriramo, 2 je število vedno manjše, dokler ne pride do podkoračitve in dobimo 0. Če je x >, potem je x < x. Najmanjše predstavljivo število, ki je še večje od je + 0. Tu dobimo + 0 = =. 0 }. {{.. 0 } 4 9 }. {{.. 9 } 87..., 0 kar se zaokroži na. Tako s korenjenjem pridemo do, kar se s kvadriranjem več ne spremeni..7.6 Tričlenska rekurzivna formula Dana je tričlenska rekurzivna formula x k+ = 9 4 x k 2 x k, k 2, (.7) in začetni dve vrednosti x = /3 in x 2 = /2. Pri teh pogojih je eksaktna rešitev x k = (4/3) 4 k Slika.9: Členi zaporedja (.7) pri začetnih pogojih x = /3 in x 2 = /2, izračunani v dvojni natančnosti, v logaritemski skali. V dvojni natančnosti izračunani členi po formuli (.7) iz x = /3 in x 2 = /2 so prikazani na sliki.9 v logaritemski skali. Namesto, da bi členi ves čas padali, začnejo pri n = 20 naraščati,

31 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 3 kar je očiten znak, da je z računanjem nekaj narobe. Odgovor se skriva v dejstvu, da je splošna rešitev diferenčne enačbe (.7) enaka x k = α ( ) k + β2 k. 4 Ker ne /3 niti /2 nista v dvojni natančnosti predstavljivi števili, pri numeričnem računanju dobimo β = 0 in prej ali slej drugi člen prevlada. Če smo še bolj natančni, lahko ugotovimo, da imamo pri računanju v dvojni natančnosti zaradi zaokrožitvenih napak na začetku Eksaktna rešitev za zgornja x in x 2 je x = 3 ( ), x 2 = 3 ( ). x k = 3 (4 k + 2 k 57 ), do preobrata pa pride ravno ko je 4 k = 2 k 57 oziroma k 20. Vse to se zelo dobro ujema z numerično izračunanimi vrednostmi, prikazanimi na sliki Seštevanje številske vrste Znano je, da velja k= k 2 = π2 6 = (.8) Kako bi to sešteli, če tega ne bi vedeli? Prva ideja, ki nam pride na pamet je, da prištevamo člene, dokler se vsota ne spreminja več. V enojni natančnosti tako dobimo , to vrednost pa dosežemo pri k = V tem koraku delni vsoti.6 prištevamo 2 24, kar je premajhno, da bi se delna vsota spremenila. Omenjeni pristop seveda ni dober, saj je napaka izračunanega približka prevelika. Mimogrede omenimo še, da če prištevamo člene, dokler se delna vsota ne spremeni več, potem tudi za harmonično vrsto k= k, za katero vemo, da je divergentna, izračunamo neko končno vrednost. Druga možnost je, da ocenimo, koliko členov bi bilo potrebno sešteti, da bo napaka dovolj majhna, potem pa jih seštevamo v obrnjenem vrstnem redu od majhnih vrednosti proti velikim. Tako nimamo težav s tem, da se vsota ne bi spremenila, ko ji prištejemo nov člen. Za našo vrsto se na žalost izkaže, da konvergira zelo počasi in bi morali, da bi izračunali približek z 8 točnimi decimalkami, sešteti kar 0 9 členov, kar je seveda občutno preveč. Nobeden izmed zgornjih preprostih pristopov torej ni uporaben za izračun vsote vrste (.8). Na srečo obstajajo tudi numerične metode za računanje vsot vrst, s katerimi lahko dobimo dovolj natančno vsoto zgornje vrste z uporabo relativno malo členov.

32 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Računanje (e x )/x Računamo vrednosti funkcije f(x) = (e x )/x v bližini x = 0, kjer je lim x 0 f(x) =. Z algoritmom if x = 0 y = else y = (e x )/x end dobimo pri majhnih x velike napake, algoritem z = e x if z = y = else y = (z )/ ln z end pa vrača pravilne vrednosti, kar je razvidno iz spodnje tabele. x Algoritem Algoritem Poglejmo računanje pri x = Pri prvem algoritmu dobimo ( e x ) ( ) y = f l = f l x = , pri drugem algoritmu pa ( e x ) ( ) y = f l ln(e x = f l ) = To je vse lepo in prav, vendar! Točne vrednosti, ki bi morale nastopati v drugem algoritmu, so ( e y = x ) ( ) f l ln(e x = f l ) =

33 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 33 Kako je možno, da iz dveh netočnih vrednosti spet dobimo točno? Pokažimo, da je drugi algoritem stabilen. Prvi korak v algoritmu je izračun z = e x. Dobimo ẑ = e x ( + δ), kjer je δ u, saj v aritmetiki, ki se drži IEEE standardov, tudi za računanje elementarnih funkcij velja, da je zaokrožitvena napaka omejena z osnovno zaokrožitveno napako. Denimo, da smo dobili ẑ =. To pomeni, da je e x ( + δ) =, torej je x = ln( + δ) = δ + δ 2 /2 δ 3 /3 +. Za tak x je pravilno, da algoritem za f(x) vrne, saj iz f(x) = + x/2 + x 2 /6 + sledi, da je f l( f(x)) =. Če je ẑ =, potem računamo y = (z )/ ln z. Numerično velja ŷ = (ẑ )( + ǫ ) ( + ǫ 3 ), ln ẑ( + ǫ 2 ) kjer je ǫ i u za i =, 2, 3. Pri tem so ǫ, ǫ 2, ǫ 3 po vrsti zaokrožitvene napake pri odštevanju, računanju logaritma in deljenju. Če definiramo g(z) := z ln z, potem lahko ocenimo, da je ŷ = g(ẑ)( + γ), kjer je γ 3u. Oceniti moramo še, za koliko se g(ẑ) razlikuje od g(z). Če vpeljemo w = z, dobimo To pomeni, da za majhne x, ko je z, velja g(z) = z ln z = w ln( + w) = + w 2 + O(w2 ). g(ẑ) g(z) ŵ w 2 = ẑ z 2 ex δ 2 δ 2 u 2, kjer je ŵ = ẑ. Ker je g(z), to pomeni, da je g(ẑ) = g(z)( + η), kjer je η 0.5u. Skupna ocena je potem ŷ = y( + α), kjer je α 3.5u. Čeprav sta ẑ in ln ẑ slaba približka za z in ln z, smo pokazali, da je (ẑ )/ ln ẑ zelo dober približek za y = (z )/ ln z. Računanje vrednosti funkcije po tej formuli je celo direktno stabilno. Dodatna literatura Skoraj vsak učbenik iz področja numerične analize ima na začetku poglavje o računanju v plavajoči vejici in zaokrožitvenih napakah. Na voljo je tako zelo obsežna literatura. V slovenščini lahko to snov najdete med drugim v knjigah [5], [8] in [2]. Zelo natančna predstavitev numeričnega računanja in zaokrožitvenih napak je v [2]. Omenimo lahko tudi učbenike [6], [0] in [4].

34 Poglavje 2 Nelinearne enačbe 2. Uvod V tem poglavju bomo obravnavali numerične metode za reševanje nelinearnih enačb oblike f(x) = 0, kjer je f dana realna oz. kompleksna funkcija. Zgled 2. Denimo, da je 50m dolga tračnica trdno vpeta na obeh koncih. Zaradi segrevanja se raztegne za cm in usloči v obliki krožnega loka (glej sliko 2.). Za koliko se bo sredina tračnice dvignila od tal? 50m+cm 50m h=? Slika 2.: Na obeh koncih trdno vpeta tračnica se usloči v obliki krožnega loka. Poskusite sami rešiti nalogo in izračunati rešitev na 8 točnih decimalk. Čeprav najprej pomislimo na manjše vrednosti, se izkaže, da se na sredini tračnica dvigne kar za cm. Na splošno je o obstoju in številu rešitev enačbe f(x) = 0, kjer je f : R R, težko karkoli povedati. Tako ima enačba lahko eno samo rešitev, primer je e x + x = 0, neskončno število rešitev, primer je x + tan x = 0, končno število rešitev, primer je x 3 5x + = 0, nobene rešitve, primer je x 2 + = 0. Seveda ima zadnja enačba rešitev v prostoru kompleksnih števil, a je potem od izvora same enačbe odvisno, ali ima kompleksna rešitev tudi pravi pomen. 34

35 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 35 Znanih je nekaj zadostnih pogojev za obstoj rešitve. Tako Lagrangeev izrek v primeru, ko je f realna zvezna funkcija na intervalu [a, b] in velja f(a) f(b) < 0, zagotavlja obstoj takega števila ξ (a, b), da je f(ξ) = 0. Dokaz tega izreka je konstruktiven in vodi do postopka bisekcije, ki jo bomo kot prvo numerično metodo za nelinearne enačbe predstavili v razdelku 2.2. Naj bo α ničla funkcije f, ki je zvezno odvedljiva v α. Če je f (α) = 0, potem nam izrek o inverzni funkciji zagotavlja, da obstajata okolica U točke α in okolica V točke 0, da f bijektivno preslika U na V. To nam zagotavlja, da v U razen α ni nobene druge ničle funkcije f. V takem primeru pravimo, da je α enostavna ničla funkcije f. Če je f (α) = 0, potem je α večkratna ničla funkcije f. Če, ob predpostavki, da je f dovoljkrat zvezno odvedljiva, velja f(α) = f (α) = = f (m ) (α) = 0 in f (m) (α) = 0, potem je α m-kratna ničla funkcije f. Naj bo α ničla funkcije f. Poglejmo, kako je z občutljivostjo računanja ničle. O relativni občutljivosti ne moremo govoriti, saj je f(α) = 0. Denimo, da je α enostavna ničla funkcije f, ki je v točki α zvezno odvedljiva. Potem je odvod inverzne funkcije enak / f (α) in po zgledu.5 je / f (α) absolutna občutljivost ničle α. Torej, če je x približek za α in velja f(x) ǫ, potem lahko ocenimo, da je x α ǫ/ f (α). To pomeni, da lahko pričakujemo natančno numerično izračunane približke za ničlo, kadar tangenta funkcije f v točki α ni zelo položna. To je razvidno tudi iz slike 2.2. Če predpostavimo, da je funkcija f izračunana z določeno nenatančnostjo, potem bomo ničlo v primeru, ko je zelo občutljiva, težko izračunali s polno natančnostjo. neobčutljiva ničla zelo občutljiva ničla Slika 2.2: Neobčutljiva ničla (levo) in občutljiva ničla (desno). Če je ničla večkratna, je f (α) = 0, kar pomeni, da je neskončno občutljiva. Če je ničla npr. dvojna, potem iz razvoja v Taylorjevo vrsto sledi, da v primeru f(x) ǫ v bližini ničle velja 2ǫ x α f (α). To pomeni, da lahko dvojno ničlo izračunamo le z natančnostjo O( ǫ). Pri m-kratni ničli lahko podobno pokažemo, da jo lahko izračunamo le z natančnostjo O(ǫ /m ). Kot bomo kasneje praktično videli tudi v numeričnih zgledih, ne glede na izbrano numerično metodo, večkratnih ničel ne moremo izračunati z isto natančnostjo kot enostavne ničle.

36 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Bisekcija Bisekcija je ena izmed najbolj enostavnih in najbolj zanesljivih numeričnih metod za iskanje ničel realnih funkcij. Denimo, da poznamo tak interval [a, b], da je zvezna funkcija f : R R v krajiščih različno predznačena, torej f(a) f(b) < 0. Potem iz zveznosti sledi, da ima f na intervalu (a, b) vsaj eno ničlo. Če vzamemo sredinsko točko c = (a + b)/2, potem bo (razen, če je f(c) = 0, kar pomeni, da smo imeli srečo in zadeli ničlo) na enem izmed intervalov [a, c] ali [c, b] funkcija spet različno predznačena v krajiščih in to vzamemo za nov interval [a, b]. Postopek rekurzivno ponavljamo in v vsakem koraku nadaljujemo z razpolovljenim intervalom, ki zagotovo vsebuje vsaj eno ničlo. Ko je interval dovolj majhen, končamo in vrnemo točko s sredine intervala kot približek za ničlo funkcije f. Algoritem 2. Bisekcija za iskanje ničle zvezne funkcije f. Začetni podatki sta točki a in b, v katerih je f različno predznačena in toleranca ǫ. while b a > ǫ c = a + (b a)/2 if sign( f(a)) = sign( f(c)) a = c else b = c end end Čeprav je algoritem zelo enostaven, vseeno omenimo nekaj pomembnih podrobnosti. Kot prvo in to velja ne le za bisekcijo, temveč za vse numerične metode, je zelo malo verjetno, da obstaja tako predstavljivo število α, da je f(α) eksaktno ali numerično izračunano enako 0. Zaradi tega v algoritmu tudi nikoli ne preverjamo, če je slučajno f(c) = 0. Pri bisekciji poskušamo ničlo omejiti med dve čim bližji točki, v katerih je funkcija različno predznačena. Čeprav bi bilo enostavneje sredinsko točko c računati po formuli c = (a+b)/2, jo računamo kot c = a + (b a)/2. Pri eksaktnem računanju sta izraza enakovredna, pri numeričnem računanju pa ima drugi izraz nekaj prednosti: Pri računanju vsote a + b lahko pri prvi formuli pride v sicer malo verjetnem primeru, ko sta a in b po absolutni vrednosti zelo velika, do prekoračitve, pa čeprav je (a + b)/2 spet v območju predstavljivih števil. Še hujša težava je, da se pri prvi formuli lahko zgodi, da izračunani c ne bo ležal na intervalu [a, b]. Če npr. računamo v P(0, 4, 0, 0), potem za a = in b = dobimo f l((a + b)/2) = Paziti moramo, da je toleranca ǫ smiselno izbrana. Če npr. izberemo premajhen ǫ, se lahko zgodi, da bo b a > ǫ, pa čeprav bosta a in b dve zaporedni predstavljivi števili. Tako npr. iz a = 000 in b = 00 pri računanju v enojni natančnosti ne moremo dobiti intervala, za katerega bi veljalo b a 0 0. Namesto pogoja sign( f(a)) = sign( f(c)) bi lahko preverili, če velja f(a) f(c) > 0. Bolje je preverjati le ujemanje predznakov, saj pri množenju lahko pride do težav zaradi prekoračitve ali podkoračitve.

37 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 37 V vsakem koraku metode moramo izračunati eno vrednost funkcije f (v točki c). Vrednost v točki a poznamo še iz prejšnjega koraka (čeprav v algoritmu 2.2 to ni eksplicitno navedeno). V bistvu nas sama vrednost funkcije ne zanima, pomemben je le predznak. Metoda odpove pri sodih ničlah, saj je tam funkcija na obeh straneh ničle enako predznačena. Prav tako z njo ne moremo računati ničel kompleksnih funkcij. Lahko pa bisekcijo uporabimo za iskanje lihih polov, saj tam tako kot pri lihih ničlah pride do spremembe predznaka funkcije. Možno je, da ima funkcija f na intervalu (a, b) več kot le eno ničlo (vemo le, da jih je liho mnogo). Bisekcija bo vedno našla le eno izmed teh ničel, ni pa nobenega pravila, katero izmed ničel dobimo. Ker se v vsakem koraku interval razpolovi, smo v vsakem koraku za faktor /2 bližje rešitvi. Kot bomo videli v naslednjem razdelku, to pomeni, da ima bisekcija linearno konvergenco. Sama hitrost konvergence je fiksna in ni odvisna od funkcije f. Ne glede na obnašanje f bomo pri enaki izbiri začetnega intervala [a, b] in parametra ǫ vedno potrebovali enako število korakov. Narediti moramo toliko korakov, da bo b a 2 k ǫ, torej za število potrebnih korakov k velja ( ) b a k log 2. ǫ Zgled 2.2 Z bisekcijo poiščimo ničle funkcije f(x) = x tan x Slika 2.3: Graf funkcije f(x) = x tan x. Razen za trivialno ničlo x = 0 je težko poiskati dober začetni interval, saj imamo težave s poli. Ničle so blizu polov, razen na zelo majhnem intervalu med ničlo in polom pa zavzame funkcija same pozitivne vrednosti. Rešitev je, da iščemo ničle funkcije g(x) = x cos x sin x. Velja namreč f(x) = g(x)/ cos x in funkciji f in g imata iste ničle. Sedaj nimamo težav s poli. Če izberemo a = 000, b = 00 in ǫ = 0 0, potem se bisekcija konča po 34 korakih, ko se začetni interval skrči na [ , ]. Tako lahko sklepamo, da je ničla na 3 mest natančno enaka α = Pol funkcije f pri α je enak 38π + π/2 = Vidimo, da se pol in ničla ujemata v prvih 6 mestih, kar kaže, kako težko je poiskati dober začetni interval, če delamo direktno s funkcijo f.

38 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Navadna iteracija Slika 2.4: Graf funkcije f(x) = x cos x sin x. Enačbo f(x) = 0 ponavadi rešujemo iterativno, kar pomeni, da ponavljamo postopek, s katerim dobimo zaporedje približkov, ki ima za limito rešitev enačbe α. Postopku pravimo iteracija. Poseben primer je navadna iteracija, kjer enačbo f(x) = 0 rešujemo tako, da poiščemo ekvivalentno enačbo oblike x = g(x), kjer je g iteracijska funkcija, izberemo začetni približek x 0 in računamo približke s predpisom x r+ = g(x r ) za r = 0,,.... Da bodo približki res konvergirali proti rešitvi moramo pravilno izbrati iteracijsko funkcijo in začetni približek. Za iteracijsko funkcijo g mora očitno veljati, da ima negibne točke v ničlah funkcije f, oziroma f(x) = 0 g(x) = x. Zgledi iteracijskih funkcij, ki ustrezajo zgornjemu pogoju so npr.: g(x) = x f(x), g(x) = x C f(x), kjer je C = 0, g(x) = x h(x) f(x), kjer je h(x) = 0. Kot bomo videli v nadaljevanju, samo to še ni zadosten pogoj za konvergenco zaporedja (x r ) proti ničli funkcije f. Zgled 2.3 Polinom p(x) = x 3 5x + ima tri realne ničle α = , α 2 = in α 3 = Poskusimo poiskati različne iteracijske funkcije in preveriti, ali lahko z njimi izračunamo katero izmed ničel polinoma p. Enačbo p(x) = 0 lahko zapišemo v obliki 5x = x 3 +. Tako dobimo prvo iteracijsko funkcijo g (x) = (x 3 + )/5. Podobno, če p(x) = 0 zapišemo v obliki x 3 = 5x, dobimo drugo iteracijsko funkcijo

39 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Slika 2.5: Graf polinoma p(x) = x 3 5x +. g 2 (x) = 3 5x. Tretjo dobimo, če p(x) = 0 predelamo v obliko x(x 2 5) =, od koder dobimo g 3 (x) = /(5 x 2 ). Vse tri iteracijske funkcije imajo negibne točke v ničlah polinoma p. Če preizkušamo konvergenco zaporedja približkov, ki jih dobimo z različnimi izbirami x 0 in zgoraj izpeljanimi iteracijskimi funkcijami, opazimo naslednje: Če za g izberemo α < x 0 < α 3, potem zaporedje konvergira k α 2, pri x 0 < α in x 0 > α 3 pa divergira. Tudi če je x 0 poljubno blizu α oziroma α 3, zaporedje nikoli ne konvergira proti α oziroma α 3. Tu smo namenoma izpustili zelo malo verjeten primer, da že na začetku izberemo x 0 = α ali x 0 = α 3. Pri g 2 je situacija ravno obratna. Če je x 0 < α 2, zaporedje konvergira k α, v primeru x 0 > α 2 pa k α 3. Pri g 3 zaporedje ne glede na začetni približek konvergira k α 2. Tudi če začnemo z x 0 = ± 5, pri računanju v aritmetiki, ki podpira standard IEEE, nimamo težav, saj dobimo x = in potem x 2 = 0. Vidimo, da nobena izmed treh iteracijskih funkcij ni dobra za vse tri ničle. V nadaljevanju bomo videli, kaj je vzrok za to. V zgledu 2.3 smo videli, da tudi če izberemo začetni približek x 0 poljubno blizu negibne točke, to še ni zagotovilo, da bo zaporedje res konvergiralo proti tej negibni točki. Naslednji izrek pove, da je konvergenca zagotovljena, če je iteracijska funkcija v okolici negibne točke skrčitev. Izrek 2. Naj iteracijska funkcija g na intervalu I = [α δ, α + δ] zadošča Lipschitzovemu pogoju g(x) g(y) m x y za poljubna x, y I in konstanto 0 m <. Potem za vsak x 0 I zaporedje x r+ = g(x r ), r = 0,,...

40 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 40 konvergira k α. Veljata tudi oceni in x r α m r x 0 α (2.) x r+ α m m x r x r. (2.2) Dokaz. Naj bo ǫ r = x r α napaka približka x r. Velja ǫ r = x r α = g(x r ) g(α) m x r α = m ǫ r. (2.3) To lahko nadaljujemo in dobimo ǫ r m ǫ r m 2 ǫ r 2 m r ǫ 0. Tako smo izpeljali oceno (2.), iz katere je očitno, da zaporedje (x r ) konvergira proti α. Razliko x r+ α ocenimo z x r+ α x r+ x r+2 + x r+2 x r+3 +. Sedaj upoštevamo, da je x r+k x r+k+ = g(x r+k ) g(x r+k ) m x r+k x r+k m k x r x r in dobimo x r+ α (m + m 2 + ) x r x r = m m x r x r. Opomba 2. Pomen ocene (2.2) je, da povezuje napako tekočega približka z razliko med zadnjima dvema približkoma, le to pa v praksi lahko izračunamo. Pove nam, da bo v primeru, ko se zadnja dva približka ne razlikujeta dosti, zadnji približek blizu točni rešitvi, če le Lipschitzova konstanta m ni zelo blizu. Posledica 2.2 Naj bo iteracijska funkcija g zvezno odvedljiva v negibni točki α in naj velja g (α) <. Potem obstaja taka okolica I za α, da za vsak x 0 I zaporedje konvergira k α. x r+ = g(x r ), r = 0,,... Dokaz. Zaradi g (α) < in zveznosti odvoda obstajata tak δ > 0 in taka konstanta m <, da je g (x) m < za x I, kjer je interval I = [α δ, α + δ]. Za poljubna x, y I potem po Lagrangeovem izreku velja g(x) g(y) g (ξ) x y, kjer je ξ točka med x in y in je g (ξ) m. Torej je funkcija g Lipschitzova na I in konvergenca sledi iz izreka 2.. Podobno lahko pokažemo, da v primeru g (α) > ne moremo dobiti nobene okolice, znotraj katere bi za vsak začetni približek x 0 imeli konvergenco. V tem primeru za x r blizu α velja ǫ r+ = g (ξ r ) ǫ r > ǫ r in nimamo konvergence.

41 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 4 Zgled 2.4 Kaj se dogaja, če je g (α) =? Poglejmo si dve iteracijski funkciji za reševanje enačbe x tan x = 0, kjer želimo izračunati rešitev α = 0. Za prvo iteracijsko funkcijo vzamemo g (x) = tan x, za drugo pa g 2 (x) = arctan x. Odvoda iteracijskih funkcij sta g (x) = /(cos2 x) in g 2 (x) = /( + x2 ). Oba odvoda sta pri x = 0 enaka, opazimo pa tudi, da za x = 0 v majhni okolici točke 0 velja g (x) > in g 2 (x) <. Zaradi tega, če vzamemo x 0 = 0 blizu 0, dobimo po (2.3) g (x 0 ) > x 0 in g 2 (x 0 ) < x 0. Zaporedje generirano z g divergira, zaporedje generirano z g 2 pa konvergira k 0, a je njegova konvergenca vedno počasnejša, bližje ko smo 0, tako da je zaporedje v praksi povsem neuporabno. Če vzamemo x 0 = 0., potem pri iteraciji z g 2 po 0 3 korakih dobimo , po 0 6 korakih , po 0 9 korakih pa O hitrosti konvergence v bližini korena odloča število g (α). Če je g (α) <, potem je α privlačna točka in izrek zagotavlja konvergenco v neki okolici okrog α. V primeru g (α) > je α odbojna točka. Zgled 2.5 Poglejmo odvode iteracijskih funkcij iz zgleda 2.3 v negibnih točkah. Vrednosti so: g (α ) = 3.26, g (α 2 ) = 0.024, g (α 3 ) = 2.72, g 2 (α ) = 0.3, g 2 (α 2 ) = 40.99, g 2 (α 3 ) = 0.37, g 3 (α ) = 25.30, g 3 (α 2 ) = 0.06, g 3 (α 3 ) = To se ujema z ugotovitvami iz zgleda 2.3, ko smo z iteracijskimi funkcijami lahko izračunali ravno tiste negibne točke, kjer je absolutna vrednost odvoda iteracijske funkcije pod ena. Različne iteracijske funkcije pri enakih začetnih približkih različno hitro konvergirajo proti rešitvi. Pri računanju ničel funkcij je glavno delo izračun vrednosti funkcije (oziroma, kot bomo videli pri nekaterih metodah, še izračun vrednosti odvodov), zato želimo s čim manj izračuni vrednosti funkcije priti do čim boljšega približka. Zato je pomembno vedeti, kako hitro numerična metoda konvergira proti rešitvi. Definicija 2.3 Denimo, da zaporedje (x r ) konvergira proti α. Pravimo, da je red konvergence enak p, če obstajata taki konstanti C, C 2 > 0, da za dovolj pozne člene velja C x r α p x r+ α C 2 x r α p. (2.4) Ekvivalentna definicija je, da je red konvergence enak p, če obstaja taka konstanta C > 0, da velja x r+ α lim r x r α p = C. Red konvergence p pomeni, da je napaka približka x r+ velikostnega razreda x r α p. To pomeni tudi, da se število točnih decimalk obnaša kot funkcija števila korakov na potenco p. Očitno je najmanjši možni red konvergence enak, saj se v primeru, ko velja (2.4) za 0 < p <, da hitro poiskati tak δ > 0, da iz 0 < x r α < δ sledi x r+ α > x r α, to pa pomeni, da (x r ) ni konvergentno zaporedje. V primeru navadne iteracije lahko, če je iteracijska funkcija dovoljkrat zvezno odvedljiva, z odvajanjem preprosto ugotovimo red konvergence. O tem govori naslednja lema.

42 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 42 Lema 2.4 Naj bo iterativna funkcija g v okolici rešitve α enačbe x = g(x) p-krat zvezno odvedljiva in naj velja g (α) <, g (k) (α) = 0 za k =,..., p in g (p) (α) = 0. Potem ima iterativna metoda x r+ = g(x r ), r = 0,,..., v bližini rešitve α red konvergence p. Dokaz. Uporabimo razvoj funkcije g v Taylorjevo vrsto okrog α. Tako dobimo x r+ = g(x r ) = α + p! (x r α) p g (p) (ξ), kjer je ξ med x r in α. Če ocenimo absolutno vrednost p-tega odvoda funkcije g v okolici točke α navzdol in navzgor, dobimo konstanti C in C 2 iz ocene (2.4). Posebni primeri konvergence so: p = : linearna (v vsakem koraku pridobimo konstantno število novih točnih decimalk), p = 2: kvadratična (število točnih decimalk se v vsakem koraku podvoji), p = 3: kubična (število točnih decimalk se v vsakem koraku potroji), < p < 2: superlinearna (hitrejša od linearne in počasnejša od kvadratične). Zgled 2.6 Poglejmo si, kaj se dogaja pri navadni iteraciji g(x) = x 2 4x Slika 2.6: Graf iteracijske funkcije x 2 + 4x + 6. Pri začetnem približku x 0 konvergira k negibni točki 2, pri začetnem približku x 0 = 3.5 pa divergira. =.25 zaporedje Iz slike 2.6 opazimo, da imamo v primeru x 0 (, 3) konvergenco proti 2, sicer pa za x 0 < in x 0 > 3 zaporedje divergira. To lahko pokažemo tudi računsko, saj velja x r+ 2 = (x r 2) 2.

43 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 43 Konvergenca je v bližini 2 kvadratična, saj je g (2) = 0 in g (2) = 0. Posledica 2.2 zagotavlja konvergenco le za x 0 ( 3 2, 5 2 ), saj je tu g (x) <, v praksi pa imamo konvergenco na širšem območju. Zgled 2.7 Za enačbo x 2 + ln x = 0, ki ima rešitev α = , primerjajmo naslednje tri iteracijske funkcije: g (x) = e x2, g (α) = 0.853, red konvergence je, g 2 (x) = 2 (x + e x2 ), g 2 (α) = 0.074, red konvergence je, g 3 (x) = 2x3 +e x2, g +2x 2 3 (α) = 0, g 3 (α) = 2.76, red konvergence je 2. Za različne začetne približke potrebujemo različno število korakov dokler se zaporedna približka ne razlikujeta za manj kot 0 2. Rezultati so v spodnji tabeli. x g g g Red konvergence vedno velja le v bližini ničle, daleč stran pa se metoda lahko obnaša povsem drugače. Tako lahko opazimo, da metoda, ki ima kvadratično konvergenco v bližini rešitve, daleč stran od rešitve konvergira zelo počasi, počasneje od metod, ki imajo v okolici ničle linearno konvergenco. Ponavadi metode z visokim redom konvergence konvergirajo zelo hitro le v majhni okolici. Če nimamo dobrega približka, je bolje najprej uporabiti metodo z linearnim redom konvergence, potem pa, ko smo dovolj blizu, preiti na metodo z višjim redom konvergence. 2.4 Tangentna metoda Geometrijska ideja tangentne oz. Newtonove metode je predstavljena na sliki 2.7. Funkcijo f aproksimiramo s tangento v točki (x r, f(x r )) in potem kot približek za ničlo funkcije f vzamemo ničlo tangente, torej presečišče tangente z osjo x. Ker smo funkcijo samo aproksimirali s tangento, je ničla tangente le približek za ničlo funkcije, zato postopek ponavljamo. Enačba tangente skozi (x r, f(x r )) je y = f(x r ) + f (x r )(x x r ). Od tod dobimo, da je presečišče tangente z x-osjo v točki x r f(x r )/ f (x r ). To vzamemo za naslednjo točko x r+ in postopek ponavljamo: za r = 0,,... x r+ = x r f(x r) f (x r ). Metoda je znana tudi kot Newton-Raphsonova metoda. V resnici je Newton metodo leta 669 opisal precej drugače kot jo poznamo sedaj. Tako npr. sploh ni uporabljal odvodov in jo je uporabljal le za iskanje ničel polinomov. Newtonovo metodo je poenostavil Raphson leta 690, prvič pa jo je v obliki z odvodom, kot jo poznamo sedaj, zapisal Simpson leta 740, ki je tudi prvi posplošil metodo na nelinearne sisteme (glej razdelek 4.3). Več o zgodovini Newtonove metode lahko poiščete npr. v [22].

44 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 44 x x 2 x 3 Slika 2.7: Geometrijska izpeljava tangentne metode. Analitična izpeljava tangentne metode poteka preko razvoja v Taylorjevo vrsto. Naj bo x r približek za ničlo funkcije f. Če upoštevamo le prva dva člena v razvoju f(x r + h) v Taylorjevo vrsto f(x r + h) = f(x r ) + f (x r )h + f (x r )h 2 +, 2 dobimo f(x r + h) f(x r ) + f (x r )h. Če predpostavimo, da je f (x r ) = 0, iz enačbe f(x r + h) = 0 dobimo h f(x r )/ f (x r ). Analitično je tangentna metoda posebna oblika navadne iteracije, kjer za iteracijsko funkcijo vzamemo g(x) = x f(x) f (x). Z odvajanjem dobimo Sedaj ločimo dva primera: g (x) = f(x) f (x) f 2. (x) a) Če je α enostavna ničla, potem je g (α) = 0 in konvergenca tangentne metode je vsaj kvadratična. Velja g (α) = f (α) f (α), torej je pri f (α) = 0 konvergenca kvadratična, sicer pa vsaj kubična. b) Če je α m-kratna ničla, potem se da pokazati, da je Od tod sledi, da je konvergenca linearna. lim x α g (x) = m. Konvergenca tangentne metode je torej v standardnem primeru kvadratična (ničla je enostavna in f (α) = 0), v primeru večkratne ničle je linearna, lahko pa je tudi kubična.

45 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Slika 2.8: Graf polinoma p(x) = (x 2 )(x )(x 2)2. x 0 = 0.6 x 0 =. x 0 = 2. x x x x x x x x x x x Tabela 2.: Približki, izračunani s tangentno metodo za polinom p(x) = (x 2 )(x )(x 2)2 z začetnimi približki 0.6,. in 2.. Zgled 2.8 Poglejmo polinom p(x) = (x 2 )(x )(x 2)2. Če vzamemo začetne približke 0.6,. in 2., lahko iz tabele 2. razberemo, da imamo pri 0.6 kvadratično konvergenco, pri. kubično konvergenco, pri 2. pa linearno konvergenco. To se ujema s teorijo, saj je iz grafa na sliki 2.8 razvidno, da ima polinom v točki 0.5 enostavno ničlo, pri enostavno ničlo in prevoj, 2 pa je dvojna ničla. Opazimo tudi, da dvojna ničla ni izračunana z enako natančnostjo kot ostali dve, čeprav se pri računanju v dvojni natančnosti zadnja dva približka ne razlikujeta več. To ni nič nenavadnega, saj smo že v razdelku 2. omenili, da večkratnih ničel ni moč izračunati s polno natančnostjo. Pri dvojni ničli lahko tako praviloma natančno izračunamo le polovico razpoložljivih decimalk, kar se ujema z rezultati v tabeli 2.. Konvergenčni izrek za tangentno metodo pravi, da so vse enostavne ničle privlačne točke. Če imamo dovolj dober približek, bodo približki dobljeni s tangentno metodo konvergirali k ničli funkcije. Izrek 2.5 Naj bo α enostavna ničla dvakrat zvezno odvedljive funkcije f. Potem obstajata okolica I točke

46 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 46 α in konstanta C, da tangentna metoda konvergira za vsak x 0 I in da približki x r zadoščajo oceni x r+ α C(x r α) 2. Dokaz. Označimo napako r-tega približka z e r = x r α. Iz razvoja kjer je η r med α in x r, dobimo 0 = f(α) = f(x r ) + f (x r )(α x r ) + f (η r ) (α x r ) 2, 2 x r+ α = f (η r ) 2 f (x r ) (x r α) 2. To pomeni Naj bo e r+ = f (η r ) 2 f (x r ) e2 r. (2.5) C(δ) = max x α δ f (x) 2 min x α δ f (x). Ker je C(0) = f (α) 2 f (α), obstaja tak δ 0, da za vsak 0 δ δ 0 velja δc(δ) <. Vzamemo I = [α δ 0, α + δ 0 ]. Za vsak x r I dobimo e r+ C(δ 0 )e 2 r C(δ 0 )δ 0 e r < e r. Torej po eni strani vsi približki ostanejo v I, po drugi strani pa velja lim r x r = α. Pri določenih pogojih lahko dokažemo tudi globalno konvergenco iz poljubne začetne točke. Izrek 2.6 Naj bo f na intervalu I = [a, ) dvakrat zvezno odvedljiva, naraščajoča in konveksna funkcija, ki ima ničlo α I. Potem je α edina ničla f na I in za vsak x 0 I tangentna metoda konvergira k α. Dokaz. Ker je f naraščajoča, je očitno f > 0 in α je edina ničla na I. Konveksnost pomeni f > 0 na I. Iz (2.5) sledi ǫ r+ > 0, kar pomeni, da je α x r za r. Od tod za r sledi α x r+ x r, saj je f(x r ) 0. V uporabni oceni za napako približka nastopa razlika zadnjih dveh približkov. To je količina, ki jo poznamo, in če vemo kaj o prvem in drugem odvodu funkcije f, potem lahko ocenimo napako zadnjega približka. Naj bo d r+ = x r+ x r razlika zadnjih dveh približkov. Na intervalu I naj velja f (x) m > 0 in f (x) M 2. Iz razvoja f(x r ) = f(α) + (x r α) f (ξ r ), kjer leži ξ r med α in x r, dobimo f(x r ) = e r f (ξ r ), odtod pa d r+ = x r+ x r = f(x r) f (x r ) = f (ξ r ) f (x r ) e r.

47 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 47 To pomeni, da lahko ocenimo e r f (x r ) m d r+. Iz ocene (2.5) sedaj dobimo e r+ M 2 f (x r ) 2m 2 d 2 r+. Izreki nam zagotavljajo konvergenco tangentne metode dovolj blizu ničle ali pa za funkcijo prave oblike. Sicer pa imamo lahko zelo različno obnašanje in slepa uporaba tangentne metode ni priporočljiva. Primera na sliki 2.9 kažeta divergenco, ko nismo dovolj blizu ničle in zaciklanje približkov. Slika 2.9: Divergenca tangentne metode ko začetni približek ni dovolj blizu (levo) in zaciklanje tangentne metode (desno). Zgled 2.9 Poiskati se da funkcijo z ničlo v točki a, za katero se tangentna metoda ne glede na začetni približek po dveh korakih vedno vrne v začetno točko. Točka x r+ se zacikla okrog točke a, če je x r+ a = (x r a). Tako dobimo diferencialno enačbo f (x) f(x) = 2(x a). Rešitev je f(x) = sign(x a) x a. (2.6) V izreku 2.5 smo pokazali, da za vsako dvakrat zvezno odvedljivo funkcijo tangentna metoda konvergira, če imamo dovolj dober začetni približek. Za funkcijo (2.6) to ne velja, saj ni dvakrat zvezno odvedljiva. Tangentno metodo lahko uporabljamo tudi za računanje kompleksnih ničel analitičnih funkcij, saj tudi zanje velja izpeljava preko razvoja v Taylorjevo vrsto. Izkaže se, da tudi v tem primeru za naslednji približek obstaja geometrijska razlaga. Naj bo f analitična funkcija in naj velja f (z 0 ) = 0. Če označimo ploskev w(z) = f(z) nad kompleksno ravnino, potem je kompleksno število z = z 0 f(z 0) f (z 0 ), ki ga dobimo po enem koraku tangentne metode, presečišče dveh premic:

48 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Slika 2.0: Primer funkcije, za katero tangentna metoda ne deluje, je f(x) = sign(x 2) x 2, ki v točki 2 ni dvakrat zvezno odvedljiva. presečišča tangentne ravnine na ploskev w = w(z) v točki (z 0, w(z 0 )) z ravnino w = 0, projekcije gradienta na ploskev w = w(z) v točki (z 0, w(z 0 )) na ravnino w = 0. Podroben dokaz te zveze lahko najdete v [4]. Pri iskanju kompleksnih rešitev moramo seveda uporabiti kompleksne začetne približke. Če imamo npr. polinom z realnimi koeficienti in iščemo kompleksno ničlo, potem moramo uporabiti kompleksni začetni približek, sicer bodo vsi približki realni. 2.5 Ostale metode Obstaja še polno drugih numeričnih metod za reševanje nelinearnih enačb. Nekatere imajo prednost pred tangentno metodo v tem, da ne potrebujejo odvodov, imajo pa po drugi strani zaradi tega lahko počasnejšo konvergenco. Spet druge metode uporabljajo še višje odvode in imajo zato lahko višji red konvergence od kvadratičnega. Opisali bomo le nekaj najbolj znanih metod Sekantna metoda Težava s tangentno metodo je, da za izračun x r+ poleg vrednosti funkcije f(x r ) potrebujemo še vrednost odvoda f (x r ). Ker ta ni vedno na voljo ali pa je lahko njegov izračun zelo zahteven, ga lahko poskusimo aproksimirati z diferenčnim kvocientom skozi zadnja dva približka. f(x r ) f(x r ) x r x r Tako dobimo sekantno metodo. Tako kot smo pri tangentni metodi funkcijo v bližini ničle aproksimirali s tangentno, jo sedaj aproksimiramo s sekanto skozi točki (x r f(x r ) in (x r, f(x r )),

49 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 49 kot je predstavljeno na sliki 2.. Na začetku potrebujemo dva začetna približka x 0 in x, za katera pa ni tako kot pri bisekciji nujno, da je funkcija v njiju različno predznačena. Naslednje približke izračunamo po rekurzivni formuli x r+ = x r f(x r)(x r x r ) f(x r ) f(x r ) za r =, 2,.... V vsakem koraku (razen na začetku) moramo izračunati le eno vrednost funkcije f, saj si vrednost f(x r ) shranimo še iz prejšnjega koraka. x r+ x r x r Slika 2.: Sekantna metoda. En korak sekantne metode je torej cenejši od enega koraka tangentne metode, saj ne potrebujemo vrednosti odvoda. Kako pa je z redom konvergence? Sekantna metoda ne spada med navadno iteracijo, saj naslednji približek ni odvisen le od zadnjega temveč od zadnjih dveh približkov. Zaradi tega je postopek za določitev reda konvergence malce bolj zapleten in bomo navedli le glavne korake. Podrobno izpeljavo lahko najdete npr. v [4]. Naj bo α enostavna ničla in funkcija f dvakrat zvezno odvedljiva. Če označimo z e r = x r α napako r-tega približka, potem se da pokazati, da za napake velja lim r e r+ e r e r = f (α) 2 f (α). (2.7) e Za primerjavo, pri tangentni metodi velja lim r+ r. Denimo sedaj, da je ima sekantna metoda red konvergence p, torej obstaja taka neničelna konstanta C, da 2 f (α) je Ko to vstavimo v (2.7), dobimo e r+ lim r e r p = C. e r 2 = f (α) lim r Cr e r p2 p = f (α) 2 f (α). To je možno le, če je p 2 p = 0, torej p = ( ± 5)/2. V poštev pride le varianta p = ( + 5)/2 =.62, saj mora biti red konvergence vsaj. Sekantna metoda ima tako superlinearno konvergenco. Obnašanje sekantne metode je zelo podobno obnašanju tangentne metode. Tudi tu velja, da bomo imeli konvergenco, če bomo imeli dva zadosti dobra približka.

50 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 50 Če je računanje vrednosti odvoda približno enake zahtevnosti kot računanje vrednosti funkcije, potem sta dva koraka sekantne metode toliko zahtevna kot en korak tangentne metode. Pri tangentni metodi se v enem koraku število točnih decimalk podvoji, pri sekantni metodi pa se v dveh korakih pomnoži s faktorjem 2.6. Zaradi tega s sekantno metodo praviloma lahko izračunamo ničlo hitreje kot s tangentno metodo. Denimo, da pri tangentni metodi število točnih decimalk narašča v zaporedju, 2, 4, 8, 6. Potem lahko pričakujemo, da bo pri sekantni metodi število točnih decimalk naraščalo v zaporedju,.6, 2.6, 4., 6.6, 0.5, 6.8. Za maksimalno natančnost v dvojni natančnosti tako pri tangentni metodi potrebujemo 4 korake in izračun 4 f in 4 f. Pri sekantni metodi porabimo 6 korakov in izračun 7 f. Glede na porabljeno delo je sekantna metoda v tem primeru boljša od tangentne Mullerjeva metoda Pri sekantni metodi funkcijo aproksimiramo s premico, ki jo določata vrednosti funkcije f v zadnjih dveh približkih x r in x r, potem pa za naslednji približek x r+ vzamemo presečišče te premice z osjo x. Posplošitev te metode je Mullerjeva metoda 2 kjer funkcijo aproksimiramo s parabolo, ki gre skozi zadnje tri točke (x r, f(x r )), (x r, f(x r )), (x r 2, f(x r 2 )), potem pa za naslednji približek x r+ vzamemo ničlo te parabole. Hitro lahko razmislimo, da bomo razen v prvem koraku tudi pri Mullerjevi metodi za en korak metode potrebovali le en izračun vrednosti funkcije f. Če ima parabola dve ničli, vzamemo tisto, ki je bližja zadnjemu približku x r. Lahko se zgodi, da ima parabola kompleksni ničli, čeprav so vse točke x r 2, x r, x r realne, in v tem primeru bo približek x r+ kompleksen. Zaradi tega je Mullerjeva metoda primerna za računanje kompleksnih ničel analitičnih funkcij, saj metoda lahko sama iz začetnih realnih približkov preide v kompleksne približke in tako skonvergira do kompleksne ničle. To tudi pomeni, da moramo računati s kompleksno aritmetiko. Kaj podobnega se npr. pri tangentni ali sekantni metodi ne more zgoditi. Če imamo npr. polinom z realnimi koeficienti, potem iz začetnih realnih približkov pri tangentni ali sekantni metodi ne moremo dobiti kompleksnega približka, pri Mullerjevi metodi pa lahko. Če interpolacijski polinom skozi zadnje tri točke zapišemo kot p(x) = a(x x r ) 2 + b(x x r ) + c, potem se da za njegove koeficiente izpeljati naslednje formule a = (x r x r )( f(x r 2 ) f(x r )) (x r 2 x r )( f(x r ) f(x r )), (x r 2 x r )(x r x r )(x r 2 x r ) b = (x r 2 x r ) 2 ( f(x r ) f(x r )) (x r x r ) 2 ( f(x r 2 ) f(x r )), (x r 2 x r )(x r x r )(x r 2 x r ) c = f(x r ). 2 Američan David E. Muller je metodo objavil leta 956. Muller je znan tudi po asinhronem logičnem elementu, ki se uporablja v asinhronih procesorjih. Sodeloval je pri razvoju znanih računalnikov ILLIAC (952) in ILLIAC II (963), ki so ju razvili na University of Illinois v Urbana Champaign. ILLIAC je bil prvi računalnik v ZDA, ki ga je zgradila in imela v lasti kakšna univerza.

51 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 5 Dobimo x r+ = x r 2c b ± b 2 4ac, rešitev bližjo x r pa dobimo, če pred kvadratnim korenom izberemo predznak tako, da bo imenovalec po absolutni vrednosti čim večji. Red konvergence Mullerjeve metode je.84. Podobno kot pri sekantni metodi lahko pokažemo, da pri Mullerjevi metodi za napake ǫ r = x r α v bližini ničle velja ǫ r+ C ǫ r ǫ r ǫ r 2. Zaradi tega se število točnih decimalk d r širi po diferenčni formuli d r+ = d r + d r + d r 2, absolutna vrednost največje ničle karakterističnega polinoma te diferenčne enačbe pa je.84. Zgled 2.0 Če za funkcijo vzmemimo f(x) = e x + in za začetne približke x 0 = 0, x = 0., x 2 = 0.2, potem Mullerjeva metoda vrne x 3 = i x 4 = i x 5 = i x 6 = i x 7 = i x 8 = i x 9 = i x 0 = i in tako pravilno izračuna, da je ničla pri x = πi. Idejo bi lahko posplošili še naprej. Skozi zadnjih (k + )-točk (x r, f(x r )),...,(x r k, f(x r k )) napeljemo interpolacijski polinom p stopnje k, potem pa za x r+ vzamemo tisto ničlo polinoma p, ki je najbližja x r. Vse takšne posplošitve imajo superlinearen red konvergence, večji ko je k, hitrejša je konvergenca. Bolj natančno je red enak največji rešitvi enačbe λ k = λ k + λ k 2 + +, ta pa je vedno manjša od 2. V praksi se ta princip v glavnem uporablja le za k = (sekantna metoda) in k = 2 (Mullerjeva metoda), saj sicer računanje ničel interpolacijskega polinoma ni trivialno Inverzna interpolacija Pri Mullerjevi metodi funkcijo f aproksimiramo s parabolo skozi zadnje tri točke (x r, f(x r )), (x r, f(x r )) in (x r 2, f(x r 2 )). Lahko pa zamenjamo vlogi spremenljivk x in y ter poiščemo kvadratni polinom p, za katerega velja p( f(x r )) = x r, p( f(x r )) = x r in p( f(x r 2 )) = x r 2. Na ta način aproksimiramo inverzno funkcijo s parabolo in za naslednji približek vzamemo x r+ = p(0). Opisana metoda se imenuje inverzna kvadratna interpolacija, red konvergence pa je tako kot pri Mullerjevi metodi enak.84. Razlika med Mullerjeva metodo in inverzno kvadratno interpolacijo je prikazana na sliki 2.2. Za razliko od Mullerjeve metode imamo pri inverzni interpolaciji vedno natanko eno presečišče z x-osjo, ki ga vzamemo za naslednjo točko. Pri inverzni interpolaciji tudi ni težav s povečevanjem stopnje polinoma, saj potrebujemo le vrednost interpolacijskega polinoma v točki 0 in ni potrebno izračunati njegovih ničel. Se pa večinoma uporablja le kvadratna interpolacija, saj pri uporabi več kot treh zadnjih točk ne pridobimo veliko pri redu konvergence. Če bi vzeli samo

52 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 52 Slika 2.2: Primerjava inverzne kvadratne interpolacije in Mullerjeve metode. zadnji dve točki, potem je očitno, da v tem primeru inverzna interpolacija ni nič drugega kot sekantna metoda. Razlika med Mullerjevo metodo in inverzno kvadratno interpolacijo je tudi ta, da pri inverzni kvadratni interpolaciji v primeru realne funkcije iz realnih začetnih približkov vedno dobimo realen približek. Zaradi tega ni tako primerna za računanje kompleksnih ničel kot je Mullerjeva metoda Kombinirane metode S kombiniranjem različnih metod lahko dosežemo robustnost in hitro konvergenco. Če imamo tak začetni interval [a, b], da je f(a) f(b) < 0, potem lahko npr. kombiniramo bisekcijo s hitrejšimi metodami. Glavna ideja je, da najprej izračunamo nov približek z metodo, ki konvergira hitreje kot bisekcija. Če novi približek leži na intervalu [a, b], ga obdržimo in ustrezno zmanjšamo interval, sicer pa uporabimo bisekcijo. Ta postopek nam zagotavlja, da bomo na koncu res izračunali ničlo. Obstaja mnogo kombiniranih metod, podrobneje pa bomo zapisali algoritem za Brentovo metodo 3 (glej Algoritem 2.2), ki kombinira bisekcijo, sekantno metodo in inverzno kvadratno interpolacijo. Metoda ima v bližini ničle superlinearno konvergenco, bisekcija pa zagotavlja, da konvergenca ni prepočasna in da ne pademo iz intervala [a, b] Metoda ( f, f, f ) To je posplošitev tangentne metode, kjer upoštevamo tudi drugi odvod in s tem pridobimo kubično konvergenco za enostavne ničle. Metodo izpeljemo z razvijanjem inverzne funkcije v Taylorjevo vrsto, kjer upoštevamo le prve tri člene (če upoštevamo le prva dva člena, dobimo tangentno metodo). Formula za izračun naslednjega približka je x r+ = x r f(x r) f (x r ) f (x r ) f 2 (x r ) 2 f 3 (x r ) za r = 0,,..., podrobno izpeljavo pa lahko najdete npr. v [4]. 3 Metodo je avstralski matematik Richard P. Brent objavil leta 973. Uporablja se v številnih numeričnih paketih, med drugim tudi v funkciji Þ ÖÓ v Matlabu. Brent je znan tudi po Brent-Salaminovem algoritmu za računanje števila π, s katerim so v 80-tih in 90-tih letih prejšnjega stoletja postavljali rekorde v številu izračunanih decimalk števila π.

53 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 53 Algoritem 2.2 Brentova metoda. Začetni podatki sta točki a in b, v katerih je f različno predznačena in toleranci ǫ > 0 in δ > 0. Po potrebi medsebojno zamenjaj a in b tako, da je f(b) f(a) ter vzemi c = a. Dokler ni a b < ǫ ponavljaj a) Izračunaj novo točko s: če je c = a naredi en korak inverzne kvadratne interpolacije, sicer pa en korak sekantne metode. b) Če je izpolnjen kateri izmed naslednjih pogojev, potem naredi korak bisekcije in za s vzemi (a + b)/2: s ne leži med (3a + b)/4 in b, v prejšnjem koraku je bila uporabljena bisekcija in s b b c /2 ali b c < δ, v prejšnjem koraku ni bila uporabljena bisekcija in s b c d /2 ali c d < δ. c) d = c, c = b, glede na predznak f(s) zamenjaj a oziroma b z s. d) Po potrebi medsebojno zamenjaj a in b, da je f(b) f(a). 2.6 Reševanje nelinearnih enačb v Matlabu V standardni verziji je za iskanje ničle realne funkcije ene spremenljivke na voljo funkcija Þ ÖÓ, ki uporablja Brentovo kombinirano metodo. Oblika je Þ ÖÓ ÙÒ Ü¼ ÓÔØ ÓÒ Ô½ Ô¾ ºººµ, pomen argumentov pa je: S prvim argumentom ÙÒ podamo funkcijo, katere ničlo iščemo. Možnosti so: v obliki niza z definicijo funkcije, npr. Þ ÖÓ ³Ó ܵ¹Ü³ ¼µ, v obliki t.i. inline funkcije, npr. ÒÐ Ò ³Ó ܵ¹Ü³µ Þ ÖÓ ¹½ ½ µ, v obliki niza z imenom funkcije, npr. Þ ÖÓ ³Ó ܵ¹Ü³ ¼µ, s kazalcem na funkcijo, npr. Þ ÖÓ ÙÑÔ ½µ. Drugi argument ܼ je začetni približek, ki je vektor z eno ali dvema komponentama. Þ ÖÓ ³Ó ܵ¹Ü³ ¹½ ½ µ: podamo točki, kjer je funkcija različno predznačena, Þ ÖÓ ³Ó ܵ¹Ü³ ¼µ: Matlab sam z iskanjem levo in desno poišče začetni interval. S tretjim argumentom lahko nastavimo parametre s pomočjo funkcije ÓÔØ Ñ Ø, npr Þ ÖÓ ³Ó ܵ¹Ü³ ¼ ÓÔØ Ñ Ø ³ ÔРݳ ³ Ø Ö³ ³ÌÓÐ ³ ½ ¹ µµ. Parametra, ki se jih da nastaviti, sta: ³ ÔРݳ: ali se izpisujejo tekoči približki, možnosti so ³ Ø Ö³, ³Ó ³, ³ Ò Ð³. ³ÌÓÐ ³: pogoj za konec (ko bo razlika zadnjih dveh približkov pod mejo). Z naslednjimi argumenti lahko nastavljamo dodatne argumente funkcije ÙÒ, če je to funkcija več spremenljivk. Zgled je ÒÐ Ò ³ Ð ¼ ܵ¹Ý³ ³Ü³ ³Ý³µ Þ ÖÓ ½ ¾ ¼º µ.

54 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Ničle polinomov Pri polinomih pogosto potrebujemo vse ničle polinoma stopnje n. Tudi če so koeficienti polinoma realni, so ničle lahko kompleksne. Za računanje je na voljo več pristopov. Prvi pristop je, da uporabimo metode za reševanje nelinearnih enačb in izločamo ničle po vrsti. Z eno izmed navedenih metod (npr. Newtonovo ali Mullerjevo) poiščemo eno ničlo x, potem pa nadaljujemo s polinomom nižje stopnje q(x) = p(x)/(x x ). To ponavljamo, dokler ne izračunamo vseh ničel. Izkaže se, da je za stabilnost je potrebno ničle izločati v pravilnem vrstnem redu. Druga možnost je, da iz polinoma p(x) = a 0 x n + a x n + + a n sestavimo t.i. pridruženo matriko C p = a n /a 0 a n /a 0 a /a 0 velikosti n n, katere karakteristični polinom je do množenja s konstanto enak p(x). Ničle polinoma p(x) so potem kar lastne vrednosti matrike C p. Tako npr. ničle polinoma izračuna Matlab z ukazom ÖÓÓØ. Tretja varianta je, da uporabimo posebne metode, ki so razvite samo za iskanje ničel polinomov, kot so npr. Laguerrova, Bairstow Hitchcockova, Jenkins Traubova, Ehrlich Aberthova, Durand Kernerjeva metoda, itd. Te posebne metode imajo ponavadi hitro konvergenco in konvergirajo skoraj za vsak začetni približek. Najprej pa poglejmo, kaj lahko povemo o občutljivosti ničel polinomov Občutljivost ničel polinoma Ničle polinomov so lahko zelo občutljive. Spoznali smo že Wilkinsonov primer, kjer polinomu p(x) = (x )(x 2) (x 20) prištejemo polinom 2 23 x 9, kar ničle 9,..., 20 spremeni v x 9 = x 0, = ± i. x 6,7 = ± i x 8,9 = ±.94033i x 20 = Čeprav so vse ničle enostavne in lepo separirane, majhna motnja (relativna sprememba koeficienta pri x 9 je ) povzroči velike spremembe. Po drugi strani pa za najmanjše ničle velja, da se ne spremenijo veliko. Tako se prve tri ničle zmotijo v x = x 2 = x 3 = Očitno so ene ničle bolj občutljive od drugih in na nekatere motnja 2 23 x 9 bolj vpliva kot na ostale. Kaj lahko povemo o tem?

55 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 55 Denimo, da imamo polinom p(x) = a 0 x n + a x n + + a n, ki ima ničle x,..., x n. Ničle zmotenega polinoma F(x, ǫ) = p(x) + ǫq(x), kjer je q(x) = b 0 x n + b x n + + b n, naj bodo x (ǫ),..., x n (ǫ). Vemo, da so x i (ǫ) zvezne funkcije ǫ, saj so ničle polinoma zvezne funkcije njegovih koeficientov. Zanima nas, kako se obnaša x i (ǫ) x i, ko je ǫ majhen. Izrek 2.7 Naj bo x enostavna ničla polinoma p. Potem obstaja tak δ > 0, da ima polinom F(x, ǫ) za vsak ǫ < δ enostavno ničlo x (ǫ), ki se izraža v obliki konvergentne potenčne vrste x (ǫ) = x + k ǫ + k 2 ǫ 2 +, (2.8) pri čemer za koeficient k velja k = q(x ) p (x ). Dokaz. Ker je x enostavna ničla, je F(x, 0) = 0 in F x (x, 0) = p (x ) = 0, torej po izreku o implicitni funkciji obstaja v neki okolici 0 natanko ena odvedljiva funkcija x (ǫ), da je F(x (ǫ), ǫ) = 0 za vsak ǫ δ in x (0) = x. Ker je F polinom dveh spremenljivk, je implicitna funkcija analitična, torej se izraža s konvergentno potenčno vrsto (2.8). V F(x (ǫ), ǫ) = 0 vstavimo (2.8) in izraz razvijemo v Taylorjevo vrsto okrog (x, 0). Dobimo 0 = F(x, 0) + (k ǫ + k 2 ǫ 2 + )F x (x, 0) + ǫf ǫ (x, 0) + O(ǫ 2 ). Iz tega, da morajo biti vsi koeficienti dobljene potenčne vrste enaki 0, dobimo F ǫ (x, 0) + k F x (x, 0) = 0 = k = F ǫ(x, 0) F x (x, 0) = q(x ) p (x ). Večkratne ničle so lahko veliko bolj občutljive. V primeru, ko je x m-kratna ničla, lahko pričakujemo spremembe reda O( k ǫ), kjer je k m. Posledica 2.8 Denimo, da polinom p(x) = a 0 x n + + a n z enostavno ničlo x zmotimo v p(x) = ã 0 x n + + ã n, kjer je ã i = a i ( + δ i ) in δ i ǫ. Potem ima polinom p ničlo x, ki zadošča oceni x x n i=0 a i x n i p ǫ + O(ǫ 2 ). (x ) Zgled 2. Poglejmo, kakšne ocene za motnje ničel dobimo pri Wilkinsonovem primeru. Iz izreka 2.7 dobimo ocene x k k b k za k =,..., 20, kjer so b = , b 2 = , b 3 =.9 0 3,..., b 9 =.0 0, b 0 = 9. 0, b = ,..., b 6 = ,..., b 20 = Vidimo, da so ocene pri začetnih ničlah zelo dobre, pri večjih ničlah pa postanejo pregrobe. Kljub temu pa dobro napovejo, da bo pri velikih ničlah prišlo do velikih motenj, pri majhnih ničlah pa do majhnih motenj.

56 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Laguerreova metoda Za računanje ničel polinomov imamo na voljo nekaj posebnih metod. Kot prvo si bomo pogledali Laguerreovo metodo. Imamo polinom f(z) = a 0 z n + a z n + + a n. Njegove ničle naj bodo α,..., α n, kar pomeni f(z) = a 0 (z α ) (z α n ). Najprej definiramo in S 2 (z) = n i= S (z) = n i= = f (z) z α i f(z) (z α i ) 2 = S (z) = f 2 (z) f(z) f (z) f 2. (z) Denimo, da želimo izračunati α n. Izbrani recipročni faktor označimo z a(z) = z α n, b(z) pa naj bo aritmetična sredina preostalih recipročnih faktorjev b(z) = n n. z α i= i Definirajmo še odstop i-tega faktorja od aritmetične sredine d i (z) = z α i b(z) in vsoto kvadratov odstopov d(z) = n d 2 i (z). i= Sedaj bomo izpustili argument z in izrazili α n. Če iz enačb S = a + (n )b, S 2 = a 2 + n i= (b + d i ) 2 = a 2 + (n )b 2 + d izrazimo a, dobimo in a,2 = n [ ] S ± (n )(ns 2 S 2 nd). n α n = z. S ± (n )(ns 2 S 2 nd) S in S 2 lahko izračunamo za vsak z, ne moremo pa izračunati d. Vendar pa za z blizu α n velja, da je S, S 2 0 in člen nd lahko zanemarimo.

57 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 57 Tako dobimo Laguerreovo metodo: oziroma S = f (z r ) f(z r ), S 2 = f 2 (z r ) f(z r ) f (z r ) f 2 (z r ) n = z r, S ± (n )(ns 2 S 2 ) z r+ z r+ = z r n f(z r ) f (z r ) ± (n )((n ) f 2 (z r ) n f(z r ) f (z r )). Za stabilno računanje izberemo tisti predznak, ki da imenovalcu večjo absolutno vrednost. Izkaže se, da ima Laguerreova metoda zelo lepe lastnosti za polinome, ki imajo same realne ničle. V takem primeru namreč metoda za poljuben realni začetni približek skonvergira k eni izmed ničel polinoma. Izrek 2.9 Če ima polinom f same realne ničle, potem za poljubni začetni približek Laguerreova metoda skonvergira k levemu ali desnemu najbližjemu korenu, pri čemer si mislimo, da sta pozitivni in negativni krak realne osi povezana v neskončnosti. V primeru enostavne ničle je red konvergence v bližini ničle kubičen. Velja celo več. Če ima polinom same realne ničle, potem Laguerreova metoda za vsak realni začetni približek z r zaradi možne izbire predznaka vrne dva možna približka. Izkaže se, da je eden izmed približkov, ki ga bomo označili z L (z r ), vedno levo od začetnega približka z r, drugi približek L + (z r ) pa je vedno desno od z r. Pri tem si spet predstavljamo, da sta pozitivni in negativni krak realne osi povezana v neskončnosti. Če vzamemo poljuben začetni približek z 0, potem bo Laguerreova metoda, če vedno izberemo približek L +, skonvergirala proti tisti ničli polinoma, ki je najbližja z 0 na desni strani. Podobno bo, če vedno izberemo L, metoda skonvergirala proti najbližji levi ničli. Zgled 2.2 Vzemimo polinom p(z) = (z )(z 2)(z 3)(z 4)(z 5). Če vzamemo začetni približek z 0 = 2.2, potem s stabilno različico Laguerreove metode dobimo zaporedje z = z 2 = z 3 = Isto zaporedje približkov dobimo, če v vsakem koraku izberemo približek L, medtem ko pri izbiranju približkov L + zaporedje skonvergira do najbližje desne ničle z zaporedjem z = z 2 = z 3 = z 4 = z 5 = V obeh primerih je konvergenca kubična. Če vzamemo začetni približek z 0 = 6, potem stabilna in L

58 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 58 različica skonvergirata k 5, različica L + pa skonvergira k najbližji desni ničli z zaporedjem z = z 2 = z 3 = z 4 = z 5 = Laguerreovo metodo lahko uporabimo tudi za računanje kompleksnih ničel. Ker v formuli nastopa kvadratni koren, ima to lepo lastnost, da tudi iz realnih začetnih približkov lahko dobimo kompleksne ničle. V primeru, ko ima polinom tudi kompleksne ničle, se da poiskati take začetne točke, za katere Laguerreova metoda ne skonvergira k eni izmed ničel. Je pa tovrstnih točk tako malo, da v praksi za naključno izbrano začetno točko Laguerreova metoda vedno skonvergira Redukcija Imamo polinom p(x) = a 0 x n + a x n + + a n, za katerega samo izračunali približek α za ničlo. Sedaj lahko polinom reduciramo in nadaljujemo z iskanjem ničel polinoma nižje stopnje. V teoriji to naredimo tako, da polinom p(x) delimo z linearnim polinomom x α in dobimo polinom nižje stopnje. Pri numeričnem računanju α ni točna ničla, zato se pri deljenju pojavi še ostanek in ni vseeno, na kakšen način opravimo redukcijo in v kakšnem vrstnem redu izločamo ničle. Standardna izbira za deljenje polinoma je uporaba Hornerjevega algoritma. Če zapišemo p(x) = (x α)(b 0 x n + + b n ) + b n, potem koeficiente b 0,..., b n dobimo s Hornerjevim algoritmom: b 0 = a 0 r =,..., n b r = αb r + a r Ta postopek se imenuje direktna redukcija. Na koncu dobimo b n = p(α). Če je β ničla polinoma g(x) = b 0 x n b n, potem je β ničla polinoma p(x) p(α), ki ima zmoten prosti člen. V primeru, ko ima α veliko absolutno vrednost, lahko pričakujemo veliko vrednost p(α) in veliko motnjo p. To pomeni, da je direktna redukcija stabilna, če korene izločamo po padajoči absolutni vrednosti. Kaj pa če najprej izločimo ničlo z majhno absolutno vrednostjo? V tem primeru lahko uporabimo obratno redukcijo, kjer polinom delimo tako, da bomo imeli ostanek pri vodilnem koeficientu. Če zapišemo potem iz enačb za c i dobimo algoritem: p(x) = ( α + x)(c n + c n x + + c x n ) + c 0 x n,

59 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 59 c n = a n /α r = n,..., 2, c r = (c r+ a r )/α c 0 = a 0 c Sedaj je c 0 = p(α) α. Če je β ničla g(x) = c n c n x n, je β ničla polinoma p(x) p(α) α x n. n Sedaj bomo imeli majhne motnje polinoma p pri ničlah α z veliko absolutno vrednostjo, kar pomeni, da je obratna redukcija stabilna, če izločamo ničle po naraščajoči absolutni vrednosti. Namesto ostanka pri vodilnem ali prostem členu bi lahko deljenje z x α zapisali tudi tako, da bi imeli ostanek pri x r, kjer je r =,..., n. V tem primeru gre za kombinirano redukcijo, kjer sestavimo začetni del iz direktne redukcije s končnim delom iz obratne redukcije. Velja p(x) = (x α)(b 0 x n + + b n r x r + c n r x r + + c n ) + d r x r, kjer je d r = p(α) α. Če bo motnja d r r x r majhna, bo postopek stabilen. Pri danem α optimalni indeks r izberemo tako, da bo relativna sprememba istoležnega koeficienta v polinomu p najmanjša. Ko izračunamo približek α za ničlo polinoma p, poiščemo indeks r {0,,..., n}, kjer je dosežen minimum p(α) α r a n r kar je enako indeksu, kjer je dosežen maksimum α r a n r. Če je r = 0 izvedemo direktno redukcijo, če je r = n izvedemo obratno redukcijo, sicer pa kombinirano redukcijo. To nam zagotavlja, da bodo ničle reduciranega polinoma dobri približki za ničle originalnega polinoma. Zgled 2.3 Vzemimo polinom p(x) = (x )(x 0)(x 00) (x 0 5 ). Če v Matlabu izračunamo koeficiente tega polinoma z ukazom Ô ÔÓÐÝ ½ ½¼ ½¼¼ ½¼¼¼ ½¼¼¼¼ ½¼¼¼¼¼ µ in potem uporabimo v Matlab vgrajeno metodo za računanje ničel ÖÓÓØ Ôµ, dobimo naslednje vrednosti za ničle: x = x 2 = x 3 = x 4 = x 5 = x 6 = To očitno pomeni, da je možno iz koeficientov polinoma p natančno izračunati njegove ničle. Denimo, da sedaj najprej izračunamo samo po absolutni vrednosti največjo ničlo, potem pa uporabimo direktno redukcijo in enak postopek nadaljujemo na polinomu nižje stopnje. S tem postopkom pridemo do naslednjih vrednosti za ničle: x =

60 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 60 x 2 = x 3 = x 4 = x 5 = x 6 = Kot smo že napovedali pri izpeljavi direktne redukcije, lahko pričakujemo velike napake, če ničle izločamo od največje po absolutni vrednosti proti najmanjši, in to se lepo kaže v tem zgledu. Napaka se veča iz koraka v korak in končna ničla je izračunana povsem narobe. Če izločamo ničle po padajoči absolutni vrednosti, moramo uporabiti obratno redukcijo. Ta nam za isti primer stabilno izračuna naslednje vrednosti za ničle: x = x 2 = x 3 = x 4 = x 5 = x 6 = Durand Kernerjeva metoda Pri tej metodi, ki jo znana tudi pod imenom Weierstrassova metoda, računamo vse ničle polinoma hkrati. Zaradi tega nimamo težav z izbiro pravilne redukcije, pride pa seveda v poštev le takrat, kadar potrebujem vse ničle polinoma. Naj bo p(z) = (z α )(z α 2 ) (z α n ), kar pomeni, da je vodilni koeficient polinoma enak. Naj bodo z,..., z n po vrsti približki za ničle α,..., α n. Iščemo takšne popravke z,..., z n, da bodo z + z,..., z n + z n ničle polinoma p. Veljati mora (z (z + z ))(z (z 2 + z 2 )) (z (z n + z n )) = p(z). Če to uredimo po členih z i, dobimo p(z) = n j= (z z j ) n z j j= n k= k =j (z z k ) + n z j z k j,k= j<k n l= l =j,k (z z l ) +. Če zanemarimo kvadratne in višje člene, potem bodo z i le približni popravki. Ko v zgornjo enakost vstavimo z = z i, dobimo z i = Tako dobimo Durand Kernerjevo metodo: z (r+) i = z (r) i n k= k =i p(z i ) (z i z k ). p(z (r) i ) n k=(z (r) i z (r) k ) k =i, i =,..., n.

61 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 6 Metoda ima v primeru, ko so vse ničle enostavne, kvadratično konvergenco v bližini rešitve, konvergira pa skoraj za vsak začetni vektor z (0) = [z (0) z (0) n ] T C n. Paziti moramo le na to, da so komponente vektorja vse paroma različne, sicer se pri računanju naslednjega približka v imenovalcu pojavi 0. Za začetni vektor lahko izberemo kar naključnih n kompleksnih števil. Če pri izračunu uporabljamo že nove vrednosti, dobimo superkvadratično konvergenco, algoritem pa je: z (r+) i = z (r) i i k= (z(r) i z (r+) k p(z (r) i ) ) n k=i+ (z(r) i Pri računanju iteriramo le tiste približke z i, ki še niso skonvergirali. z (r), i =,..., n. (2.9) k ) Zgled 2.4 Če vzamemo polinom p(x) = (x )(x 0)(x 00) (x 0 5 ) iz zgleda 2.3, kjer smo imeli pri nepravilni izbiri redukcije težave, potem za začetni vektor z (0) = [ ] T, ki je daleč stran od vektorja ničel polinoma, z uporabo Durand Kernerjeve metode (2.9) dobimo konvergentno zaporedje vektorjev z () = z (2) = z (9) = z (0) = in tako naenkrat natančno izračunamo vse ničle polinoma. Obstaja več sorodnih metod, ki hkrati računajo vse ničle polinoma. Ena najbolj znanih in uporabnih je Aberth Ehrlichova metoda, ki poleg vrednosti polinoma uporablja tudi vrednosti odvodov.

62 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 62 Dodatna literatura Z reševanjem nelinearnih enačb se ukvarja knjiga [4]. Pri tuji literaturi lahko omenjene metode najdemo npr. v [6], [0] in [4].

63 Poglavje 3 Linearni sistemi 3. Ponovitev linearne algebre Sistem n linearnih enačb z n neznankami a x + + a n x n = b. a n x + + a nn x n = b n zapišemo v obliki Ax = b, A R n n (C n n ), x, b R n (C n ), kjer je A realna (kompleksna) matrika, x in b pa realna (kompleksna) vektorja. Pri tem (i, j)-ti element matrike A označimo z a ij, x i pa je i-ti element vektorja x. Vektor x zapišemo kot x x =. = [x x n ] T. x n Matriko A lahko zapišemo po stolpcih ali vrsticah v obliki kjer sta a i, α i R n (C n ) za i =,..., n. A = [a a n ] = Z e i R n označimo enotski vektor, za katerega velja e ij = δ ij, dobimo pa α T. α T n, Ae k je k-ti stolpec A, e T i A je i-ta vrstica A, e T i Ae k je (i, k)-ti element A. 63

64 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 64 A T pomeni transponirano matriko A, A H = A T pa je transponirana in konjugirana matrika A. Skalarni produkt vektorjev x in y zapišemo v obliki x, y realna: y T x = n i= x iy i, x, y kompleksna: y H x = n i= x iy i. Množenje vektorja z matriko y = Ax si lahko predstavljamo na dva načina: y i = αi T x: i-ti element y je produkt i-te vrstice A in vektorja x, y = n i= x ia i : y je linearna kombinacija stolpcev matrike A. Podobno si lahko množenje matrik C = AB predstavljamo na tri načine: c ij = αi Tb j: (i, j)-ti element C je produkt i-te vrstice A in j-tega stolpca B, c i = Ab i : i-ti stolpec C je produkt A in i-tega stolpca B, C = n i= a iβ T i : C je vsota produktov i-tega stolpca A in i-te vrstice B po i =,..., n. Matriko z obliko xy T, kjer sta x, y = 0, imenujemo diada in ima rang ena. Kvadratna n n matrika A je nesingularna, če izpolnjuje naslednje ekvivalentne pogoje: obstaja inverz A, tako da je AA = A A = I, det(a) = 0, rang(a) = n (maksimalno število linearno neodvisnih vrstic ali stolpcev), ne obstaja x = 0, da je Ax = 0. Matrika A je simetrična, če velja A = A T. Če velja A = A H, je matrika hermitska. Simetrična matrika je pozitivno definitna, če za vsak x = 0 velja x T Ax > 0. Podobno je hermitska matrika pozitivno definitna, če za vsak x = 0 velja x H Ax > 0. Če za skalar λ in neničelni vektor x velja Ax = λx, potem je λ lastna vrednost, x pa pripadajoči lastni vektor. Vsaka matrika ima n lastnih vrednosti, ki so ničle karakterističnega polinoma p(λ) = det(a λi). Lastne vrednosti λ,..., λ n realne simetrične matrike so realne, lastne vektorje x,..., x n pa lahko izberemo tako, da tvorijo ortonormirano bazo, kar pomeni x T i x j = δ ij. Za lastne vrednosti simetrične pozitivno definitne matrike velja λ i > 0.

65 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Vektorske in matrične norme Definicija 3. Vektorska norma je preslikava. : C n R, za katero velja. x 0, x = 0 x = 0, 2. αx = α x, 3. x + y x + y (trikotniška neenakost), za vsak x, y C n in α C. Najbolj znane vektorske norme so: x = n i= x i (-norma), x 2 = ( n i= x i 2) /2 (2-norma ali evklidska norma), x = max i=,...,n x i ( -norma ali max norma). Vse tri zgornje norme so posebni primeri Hölderjeve p-norme x p = ( n i= x i p ) /p, kjer je p. Hölderjeva neenakost pravi x H y x p y q, p + q =, p, q. Poseben primer je Cauchy Schwarzeva neenakost x H y x 2 y 2. Poljubni vektorski normi. a in. b sta ekvivalentni, kar pomeni, da obstajata taki pozitivni konstanti C in C 2, da za vsak x C n velja C x a x b C 2 x a. Za najpogosteje uporabljene norme veljajo ocene: x 2 x n x 2 x x 2 n x x x n x. Definicija 3.2 Matrična norma je preslikava. : C m n R, za katero velja. A 0, A = 0 A = 0, 2. αa = α A, 3. A + B A + B (trikotniška neenakost), 4. AC A C (submultiplikativnost), za vsak A, B C m n, C C n p in α C.

66 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 66 Pri submultiplikativnosti imamo v primeru matrik, ki nista kvadratni, v bistvu dva različna prostora in dve različni normi, ki pa morata biti tako usklajeni, da neenakost velja. Elemente matrike velikosti n n lahko shranimo v vektor dolžine n 2. Za ta vektor lahko izračunamo poljubno vektorsko normo. Ta potem avtomatično zadošča prvim trem pogojem za matrično normo, vprašanje je le, ali zadošča tudi zadnjemu pogoju o submultiplikativnosti. Če za najbolj znane vektorske norme definiramo: N (A) := N 2 (A) := N (A) := n i,j= ( n a ij, ) 2 a ij 2, i,j= max a ij, i,j=,...,n Če vza- se izkaže, da N ni matrična norma, saj ne izpolnjuje pogoja submultiplikativnosti. memo npr. [ ] A = B =, potem je N (AB) > N (A)N (B). Ostali dve preslikavi sta matrični normi, pri čemer se N ne uporablja, N 2 pa je Frobeniusova norma. F. Pomembnejše so operatorske oz. inducirane norme. Definiramo jih lahko iz poljubne vektorske norme s predpisom Ax A := max x =0 x = max Ax. (3.) x C n x = Lema 3.3 Operatorska norma je matrična norma. Dokaz. Po vrsti preverimo, da res izpolnjuje vse štiri točke iz definicije matrične norme. Očitno je A 0. Izraz (3.) je enak 0 le v primeru, ko je Ax = 0 za vsak x, to pa je natanko tedaj, ko je A = 0. Lastnost množenja s skalarjem in trikotniška neenakost sta očitni, preveriti moramo še submultiplikativnost. Iz (3.) sledi, da za vsak x velja ocena Ax A x. To pa pomeni AB = max x =0 ABx x max x =0 A Bx x = A max x =0 Bx x = A B in operatorska norma je submultiplikativna. V definiciji operatorske norme lahko sicer v števcu in imenovalcu izberemo različni normi, mi pa bomo potrebovali le naslednje matrične norme, ki jih dobimo iz znanih vektorskih norm: Ax A := max Ax x =0, x C n x A 2 := max 2 Ax x =0, x C n x 2 A := max x =0 x C n x. Kot kažejo naslednje tri leme, se dajo vse tri norme izraziti na lepši način, ( ) Lema 3.4 A = max a ij (-norma). j=,...,n i=,...,n

67 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 67 Dokaz. Če matriko A zapišemo po stolpcih kot A = [a a n ], potem velja Ax = n i= x ia i. Ocenimo lahko n n n Ax = x i a i x i a i max i= a k x i = max a k x. i= k=,...,n i= k=,...,n To pomeni A max k=,...,n a k, enakost pa je dosežena, če vzamemo x = e j, kjer je a j a k za k =,..., n. Za poljubno matriko A C n n je matrika B = A H A hermitska in nenegativno definitna, saj velja B H = B in x H Bx = Ax za vsak x Cn. Od tod sledi, da so vse lastne vrednosti matrike B nenegativne in jih lahko zapišemo urejene po velikosti kot σ 2 σ2 2 σ2 n 0. Pozitivne kvadratne korene σ σ 2 σ n 0 lastnih vrednosti A H A imenujemo singularne vrednosti matrike A. Lema 3.5 A 2 = σ (A) = max λ i (A H A) (spektralna norma). i=,...,n Dokaz. Obstaja ortonormirana baza za C n, ki jo sestavljajo lastni vektorji A H Au i = σi 2u i za i =,..., n. Če vektor x razvijemo po tej bazi kot x = n i= α iu i, dobimo Ax 2 2 = x H (A H Ax) = ( n ) H ( n α i u i α i σi 2 u i i= i= To pomeni A 2 σ (A), enakost pa je dosežena pri x = u. V primeru A = A H je A 2 = max λ(a). Lema 3.6 A = max i=,...,n Dokaz. Za A = α T. α T n ( ) a ij j=,...,n dobimo ( -norma). Ax = max i=,...,n αt i x max x α i. i=,...,n ) = n α i 2 σi 2 σ 2 n α i 2 = σ 2 x 2 2. i= i= To pomeni A max i=,...,n α i, enakost pa je dosežena pri vektorju x, ki ima k-to komponento enako a jk za a a jk jk = 0 x k = 0 sicer, kjer je indeks j izbran tako, da velja α j α k za k =,..., n. Frobeniusova norma ni operatorska, saj je I F = n, med tem ko za vse operatorske norme velja I =.

68 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 68 Opazimo lahko, da je spektralno normo. 2 veliko težje izračunati kot pa norme.,. in. F, Tako kot vektorske norme so tudi matrične norme medsebojno ekvivalentne. Pomembne so naslednje ocene, s katerimi lahko ocenimo A 2 z lažje izračunljivimi normami in količinami: n A F A 2 A F n A A 2 n A n A A 2 n A N (A) A 2 nn (A) A 2 A A a i 2, α i 2 A 2 Zgled 3. Za matriko 3 2 A = dobimo A = 0, A = 3 in A F =. Iz zgornjih neenakosti ocenimo 9 A 2, prava vrednost pa je A 2 = Uporabljali bomo le t.i. usklajene pare vektorskih in matričnih norm, kjer za vsak par matrike A in vektorja x velja Ax A x. Operatorska norma je očitno usklajena z vektorsko normo, ki nastopa v njeni definiciji. Frobeniusova norma, ki ni operatorska, pa je usklajena z evklidsko normo. 2, saj velja Ax 2 A 2 x 2 A F x 2. Pokazati je možno, da za vsako matrično normo obstaja z njo usklajena vektorska norma, zato lahko od zdaj naprej predpostavimo, da sta matrična in vektorska norma usklajeni. Posledica 3.7 Za vsako matrično normo in poljubno lastno vrednost λ matrike A velja λ A. Dokaz. Naj bo Ax = λx lastni par, x = 0. Dobimo λ x = λx = Ax A x. Realna matrika Q je ortogonalna, če je Q = Q T. Kompleksna matrika U je unitarna, če je U = U H. Vemo, da se pri množenju z unitarno matriko ohranja evklidska norma vektorja, oziroma velja Ux 2 = x 2. Lema 3.8 Frobeniusova in spektralna norma sta invariantni na množenje z unitarno matriko. Dokaz. Naj bo A = [a a n ]. Velja Za spektralno normo dobimo UA 2 F = n Ua i 2 n 2 = a i 2 2 = A 2 F. i= i= UA 2 = max UAx 2 = max Ax 2 = A 2. x 2 = x 2 =

69 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Občutljivost linearnih sistemov Lema 3.9 Če za kvadratno matriko X velja X < v taki normi, kjer je I =, potem velja:. matrika I X je nesingularna, 2. (I X) = i=0 Xi, 3. (I X) /( X ). Dokaz.. Denimo, da je matrika I X singularna. Potem obstaja tak vektor z, da je (I X)z = 0. To pa pomeni z = Xz in z = Xz X z, torej X in prišli smo do protislovja. 2. Vrsta i=0 Xi je zaradi X < konvergentna, enakost pa dobimo, če vrsto pomnožimo z I X. 3. Iz vrste iz točke 2. sledi ocena i=0 X i i=0 X i = X. Zanima nas, kako je rešitev linearnega sistema Ax = b občutljiva na spremembe podatkov A in b. Naj bo Ax = b in (A + δa)(x + δx) = b + δb. Od tod dobimo δx = (A + δa) ( δax + δb) = (I + A δa) A ( δax + δb). Če predpostavimo, da je A δa <, potem je I + A δa nesingularna in vemo Dobimo (I + A δa) A δa A δa. δx δx x A A ( δa x + δb ) δa A A δa A A A A δa A ( ) δa δb A A + A x A ( δa A + δb ), b kjer smo v zadnjem koraku upoštevali, da iz Ax = b sledi A x b. Število κ(a) := A A imenujemo občutljivost oz. pogojenostno število matrike A. Končna ocena je ( δx x κ(a) δa κ(a) δa A + δb ). b A Za občutljivost velja κ(a), saj je I = AA A A. Edine matrike, ki imajo občutljivost, so z neničelnim skalarjem pomnožene unitarne matrike.

70 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 70 Za spektralno občutljivost velja κ 2 (A) = σ (A) σ n (A). Velja naslednji izrek, ki ga bomo še v splošnejši obliki dokazali v nadaljevanju, ko bomo obravnavali singularni razcep. Izrek 3.0 Če je matrika A nesingularna, potem je { } δa 2 min ; A + δa singularna = A 2 A = 2 A 2 κ 2 (A). Dokaz. Pokazati moramo, da je min { δa 2 ; A + δa singularna} = A 2. Denimo, da obstaja taka matrika δa z normo δa 2 < A 2, da je A + δa singularna. Sledi δa A 2 < δa 2 A 2 <, torej je po lemi 3.9 matrika I + δaa nesingularna, od tod pa sledi nesingularnost (A + δa)a. To pa je protislovje, saj je potem nesingularna tudi matrika A + δa. Tako smo pokazali, da je min { δa 2 ; A + δa singularna} A 2. Za matriko A obstaja tak vektor x, da je x 2 = in A x 2 = A 2. Vzamemo še vektor y = A x, ki ima prav tako normo, in definiramo δa A x 2 = xyt. Hitro lahko preverimo, da A 2 je δa =, saj je A 2 δa 2 = max z =0 xy T z 2 A = max 2 z 2 z =0 y T z x 2 z 2 A 2 = A 2. Za konec dokaza moramo pokazati še, da je matrika A + δa singularna. Res, (A + δa)y = Ay xyt y A 2 = x A 2 x A 2 = 0. Občutljivost je tako recipročna oddaljenosti od singularnega problema. Zgled 3.2 Iščemo koeficiente polinoma p(x) = a + a 2 x + + a n x n, ki na [0, ] aproksimira zvezno funkcijo f tako, da je napaka E = 0 ( f(x) p(x))2 dx minimalna. Vemo, da so pri lokalnem minimumu vsi parcialni odvodi enaki 0, torej mora veljati E a i = 0 za i =,..., n, kjer je E = 2 (p(x) f(x))x i dx. a i 0 Od tod dobimo 0 f(x)x i dx = 0 ( n j= a j x j x i ) dx = n a j x i+j 2 n dx = a j j= 0 i + j. j= Opazimo, da so koeficienti optimalnega polinoma rešitev linearnega sistema s Hilbertovo matriko H n, kjer je h ij = /(i + j ). Hilbertove matrike spadajo med zelo občutljive matrike, saj velja npr. κ(h 4 ) =.6 0 4, κ(h 7 ) = in κ(h 0 ) =

71 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 7 Izkaže se, da problem ni v sami nalogi, ki je dobro definirana, temveč v izbrani polinomski bazi. Če bi namesto standardne baze, ki je zelo občutljiva, izbrali bazo ortogonalnih polinomov, ne bi imeli nobenih težav. Zgled 3.3 Zmotno je prepričanje, da je občutljivost povezana z velikostjo determinante matrike. To ni res in kot kažejo naslednji primeri, ni nobene povezave. Tako ima npr. matrika αi lahko zelo veliko ali zelo majhno determinanto α n, njeno pogojenostno število pa je vedno. Po drugi strani pa ima npr. matrika 0 B n = determinanto, občutljivost pa n2 n. 3.4 Ostanki Denimo, da smo numerično rešili linearni sistem Ax = b in dobili približek x za točno rešitev. Kako lahko ugotovimo, ali je dobljena rešitev natančna? Izračunamo lahko ostanek r = b A x in pogledamo njegovo normo r. Ker se ostanek spremeni, če sistem Ax = b pomnožimo s poljubnim skalarjem, rešitev x pa ostane nespremenjena, je pravilno gledati relativni ostanek r A x. Napaka pri x je z relativnim ostankom povezana z oceno δx x κ(a) r A x. (3.2) To pomeni, da iz majhnega relativnega ostanka lahko sklepamo na majhno relativno napako rešitve samo tedaj, ko je matrika A dobro pogojena. Pri analizi obratne stabilnosti nas zanima, za koliko moramo spremeniti A, da bo x točna rešitev sistema (A + δa) x = b. Iz zadnje enačbe sledi r δa x oziroma r A x δa A. Ker so algoritmi, ki jih v praksi uporabljamo za reševanje linearnih sistemov, vsi obratno stabilni, mora biti relativni ostanek vedno majhen! Velik relativni ostanek bi namreč pomenil veliko obratno napako in algoritem, s katerim smo dobili rešitev, potem ne bi bil obratno stabilen. Zaradi tega sam relativni ostanek ni pravo merilo za točnost dobljene rešitve. Če hočemo imeti zagotovilo, da je izračunana rešitev natančna, mora torej biti poleg majhnega relativnega ostanka še matrika dobro pogojena. Pogojenost matrike lahko ugotovimo iz κ(a), kjer pa potrebujemo A. Na srečo obstajajo algoritmi, s katerimi lahko dobimo dovolj dobro oceno za A brez računanja A. Če bi

72 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 72 namreč izračunali A, bi za to potrebovali več operacij, kot pa jih sicer potrebujemo, da izračunamo rešitev linearnega sistema Ax = b. Iz (3.2) sledi zelo uporabna aposteriorna ocena δx x A r, x ki jo uporabljamo v kombinaciji z algoritmi, ki ocenijo normo A brez računanja A. 3.5 Permutacijske matrike in elementarne eliminacije 3.5. Permutacijske matrike Naj bo A = α T. α T n matrika, zapisana po vrsticah, σ = ( ) 2 n pa permutacija, σ σ 2 σ n s katero želimo urediti vrstice A. To naredimo tako, da A z leve pomnožimo s permutacijsko matriko P σ = e T σ.. Dobljena matrika P σ A = α T σ. ima s permutacijo σ urejene vrstice matrike A. e T σ n α σ T n Če želimo stolpce matrike A = [ a a n ] urediti s permutacijo σ, potem matriko A z desne pomnožimo z matriko P T σ, saj je (P σ A T ) T = AP T σ Elementarne eliminacije Denimo, da imamo tak vektor x R n, da je x k = 0. Iščemo čim preprostejšo nesingularno matriko L k, da bo L k x. x k x k+. x n Če definiramo l jk = x j x k, j = k +,..., n, potem je L k = x. x = k l k+,k.... l n,k

73 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 73 ustrezna matrika. Matriko L k imenujemo elementarna eliminacija, zapišemo pa jo lahko tudi kot L k = I l k ek T, kjer je 0. 0 l k = l. k+,k. l n,k Inverz matrike L k je L k = I + l k e T k =... l k+,k..... l n,k Ker za i < j velja (I + l i e T i )(I + l je T j ) = I + l ie T i + l j e T j l 2 l 3 l l n l n2 l n,n, je produkt matrik L L 2 L n enak 3.6 LU razcep Večina algoritmov za reševanje matričnih problemov deluje na naslednjem principu: ) Problem najprej prevedemo na enostavnejši problem, ki ima posebno obliko. 2) Ekonomično rešimo enostavnejši problem, pri čemer si pomagamo s posebno strukturo. 3) Iz rešitve enostavnejšega problema dobimo rešitev originalnega problema. Enostavnejše oblike: reševanje linearnega sistema: trikotna oblika, računanje lastnih vrednosti: Hessenbergova ali tridiagonalna oblika, računanje singularnih vrednosti: bidiagonalna oblika. Do redukcije na enostavnejšo obliko pridemo s pomočjo permutacij, elementarnih eliminacij ali ortogonalnih transformacij (rotacij oz. zrcaljenj).

74 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 74 Poglejmo, kako z elementarnimi eliminacijami matriko A zapišemo v obliki A = LU, kjer je L spodnja trikotna matrika z enicami na diagonali, U pa zgornja trikotna matrika. Naj bo in a = 0. Za eliminacijsko matriko kjer je l 2 = a 2 a,..., l n = a n a velja L a a 2. a n = a 0. 0 a a 2 a n a A = 2 a 22 a 2n... a n a n2 a nn l L = 2...., l n, torej A() := L A = a a 2 a n 0 a () 22 a () 2n a () n2 a () nn Sedaj je kjer je a a 2 a 3 a n 0 a () 22 a () 23 a () 2n A (2) := L 2 A () = 0 0 a (2) 33 a (2) 3n, a (2) n3 a (2) nn L 2 = l , l n2 in l 32 = a() 32 in a () 22,..., l n2 = a() n2 a () 22. Na koncu dobimo U := L n L 2 L }{{} A = =L L = L L 2 L n = a a 2 a n a () 22 a () 2n.... a (n ) nn, l 2 l 3 l l n l n2 l n,n

75 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 75 Tako smo dobili A = LU. Dobljeni razcep imenujemo LU razcep brez pivotiranja ali Gaussov razcep brez pivotiranja. Diagonalni elementi a, a () 22,..., a(n 2) n,n, s katerimi med postopkom delimo, se imenujejo pivoti, l ij pa kvocienti. Opazimo lahko, da morajo biti pivoti neničelni, sicer metoda odpove. Naslednji izrek pove, kdaj lahko razcep izračunamo brez težav. Izrek 3. Za n n matriko A je ekvivalentno: ) Obstaja enolični razcep A = LU, kjer je L spodnja trikotna matrika z enicami na diagonali in U nesingularna zgornja trikotna matrika. 2) Vse vodilne podmatrike A( : k, : k) za k =,..., n so nesingularne. Dokaz. Pokažimo, da iz ) sledi 2). Razcep A = LU za poljubno vodilno podmatriko A bločno zapišemo kot [ ] [ ] [ ] [ ] A A 2 L 0 U U = 2 L U = L U 2, A 2 A 22 L 2 L 22 0 U 22 L 2 U L 2 U 2 + L 22 U 22 od koder sledi A = L U. Dobimo det(a ) = det(u ) = 0, saj je U nesingularna. Za dokaz v obratni smeri uporabimo indukcijo. [ Pri ] matrikah ni težav, saj je a = a A b iskani LU razcep. Naj bo A = LU in à = c T. Razcep za à mora imeti obliko δ [ ] A b = δ c T [ L 0 l T ] [ ] [ ] U u LU Lu = 0 η l T U l T. u + η Ker sta L in U nesingularni, dobimo u = L b, l = U T c in η = δ l T u. Pri tem mora biti η = 0, saj je 0 = det à = η det U Zgled 3.4 Izračunajmo LU razcep za A = A () = 2 0 A = }{{} 2 L A (2) = 0 0 A () = 0 0 = U }{{} 2 L L = L 2 = =

76 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 76 Algoritem 3. LU razcep brez pivotiranja. Začetni podatek je n n realna matrika A. Na koncu imamo v zgornjem trikotniku matrike A matriko U, v matriki L pa vse poddiagonalne elemente matrike L iz LU razcepa A = LU. j =,..., n i = j +,..., n l ij = a ij /a jj k = j +,..., n a ik = a ik l ij a jk Elemente L lahko shranjujemo v spodnji trikotnik matrike A in tako ne potrebujemo dodatnega prostora. Na koncu spodnjemu trikotniku A dodamo še identiteto in dobimo matriko L, iz zgornjega trikotnika A pa na koncu preberemo U. Algoritem lahko zapišemo v obliki Algoritma 3.. Zahtevnosti algoritmov bomo ocenjevali s številom potrebnih osnovnih operacij. To naredimo tako, da vse zanke v algoritmu zamenjamo z vsotami in seštejemo število operacij. Če to izvedemo za algoritem 3., dobimo n n j= i=j+ ( + n k=j+ 2 ) = = n j= n l= (n j)( + 2(n j)) = (2l 2 + l) = 2 (n )n(2n ) 6 = 2 3 n3 2 n2 6 n = 2 3 n3 + O(n 2 ). n ( 2(n j) 2 + n j ) j= + (n )n 2 Računanje LU razcepa ima torej kubično časovno zahtevnost. Če velikost matrike povečamo za faktor 2, lahko pričakujemo, da se bo čas računanja LU razcepa povečal za faktor 8. Videli pa bomo, da je to le približno res, saj na čas računanja ne vpliva le število osnovnih operacij. Zgled 3.5 Algoritem 3. za LU razcep brez pivotiranja odpove, če je pivot enak 0, [ numerično ] pa odpove tudi, če je pivot blizu 0. Če na tri decimalke točno računamo LU razcep A =, dobimo [ ] 0 L = in 0000 [ ] [ ] U = =. 0 f l( 0000) [ ] Velja LU = = A, napaka pa je ogromna. 0 Rešitev obeh težav je pivotiranje, kjer med algoritmom dopuščamo zamenjavo vrstic (delno pivotiranje), lahko pa tudi stolpcev (kompletno pivotiranje). Pri delnem pivotiranju pred eliminacijo v j-tem stolpcu primerjamo elemente a jj, a j+,j,..., a nj in zamenjamo j-to vrstico s tisto, ki vsebuje element z največjo absolutno vrednostjo. Tako je pri nesingularni matriki v vsakem koraku pivot neničelen.

77 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 77 Kot rezultat dobimo PA = LU, kjer je P permutacijska matrika. Zaradi pivotiranja so v matriki L vsi elementi po absolutni vrednosti omejeni z. Za razliko od LU razcepa brez pivotiranja, kjer so morale biti vse vodilne podmatrike nesingularne, za LU razcep z delnim pivotiranjem zadošča že, da je matrika nesingularna. Izrek 3.2 Če je A nesingularna, potem obstaja taka permutacijska matrika P, da obstaja LU razcep PA = LU, kjer je L spodnja trikotna matrika z enicami na diagonali in U zgornja trikotna matrika. Dokaz. Pred uničevanjem elementov v j-tem stolpcu je situacija naslednja: [ ] A (j ) U U = 2 0 A (j ). 22 Ker je matrika A nesingularna, je nesingularna tudi A (j ), to pa pomeni, da mora biti A (j ) 22 nesingularna in ne morejo biti vsi elementi v prvem stolpcu A (j ) 22 hkrati enaki 0. Algoritem za izračun LU razcepa z delnim pivotiranjem je predstavljen v algoritmu 3.2. Algoritem 3.2 LU razcep z delnim pivotiranjem. Začetni podatek je n n realna matrika A. Na koncu imamo v zgornjem trikotniku matrike A matriko U, v matriki L pa vse poddiagonalne elemente matrike L iz LU razcepa PA = LU. j =,..., n poišči a qj = max j p n a pj zamenjaj vrstici q in j i = j +,..., n l ij = a ij /a jj k = j +,..., n a ik = a ik l ij a jk Dodatno delo, ki ga potrebuje algoritem 3.2 je O(n 2 ) primerjanj, kar se v primerjavi z 2/3n 3 + O(n 2 ) osnovnih operacij ne pozna. V praksi je tako LU razcep z delnim pivotiranjem enako hiter kot LU razcep brez pivotiranja. 0 2 Zgled 3.6 Izračunajmo LU razcep z delnim pivotiranjem za A = 2 3. Na začetku vzamemo 0 P = I, potem pa vsakič, ko zamenjamo vrstici, zamenjavo naredimo tudi v P. Matriko L hranimo v spodnjem trikotniku A. A () = A (2) = , P = 0 0, , P =

78 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 78 Uokvirjeni elementi spadajo v matriko L, na njihovih mestih v A pa so ničle. Dobili smo 2 3 L =, U = in PA = LU. Linearni sistem Ax = b rešimo preko LU razcepa z delnim pivotiranjem po naslednjih korakih: ) PA = LU, 2) Ly = Pb =: b, 3) Ux = y. Sistem Ly = b rešujemo s premo substitucijo. Iz l l n l n,n y y 2. y n b b 2 b n =. dobimo od tod pa algoritem l i y + + l i,i y i + y i = b i, i =,..., n, i =,..., n y i = b i i j= l ijy j Število operacij je n i= ( + 2(i )) = n2. Sistem Ux = y rešujemo z obratno substitucijo. Iz u u n.... u nn x. x n = y. y n dobimo od tod pa algoritem u ii x i + u i,i+ x i+ + + u in x n = y i, i =,..., n, i = n, n (,..., ) x i = u ii y i n j=i+ u ijx j Število operacij je n i= (2 + 2(i )) = n2 + n. Dodatnih n operacij v primerjavi z reševanjem Ly = b je n deljenj, saj diagonalni elementi matrike U niso enaki. Za LU razcep z delnim pivotiranjem torej porabimo 2 3 n3 + O(n 2 ) operacij, ko pa L in U že poznamo, za reševanje Ax = b porabimo še dodatnih 2n 2 + O(n) operacij. Za reševanje sistema Ax = b nikoli ne uporabljamo inverzne matrike A, saj:

79 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 79 za množenje A b porabimo 2n 2 operacij, kar ni ceneje od reševanja trikotnih L in U; za računanje A potrebujemo 2n 3 operacij, kar je trikrat toliko kot LU razcep; numerične napake so kvečjemu večje. Tudi kadar je potrebno izračunati A B, to naredimo tako, da rešimo sistem AX = B. Poleg LU razcepa z delnim pivotiranjem poznamo še LU razcep s kompletnim pivotiranjem, kjer v j-tem stolpcu pivotni element izbiramo iz cele podmatrike A(j : n, j : n), nato pa izvedemo zamenjavo vrstic in stolpcev. Na koncu dobimo razcep PAQ = LU, kjer sta P in Q permutacijski matriki za vrstice oziroma stolpce. Število operacij je enako kot pri osnovnem LU razcepu, število primerjanj pa je O(n 3 ). Ker vsako primerjanje tudi porabi nekaj časa, se toliko primerjanj pozna pri celotnem algoritmu in ga upočasni za toliko, da se v praksi zelo redko uporablja. Pri kompletnem pivotiranju sistem Ax = b rešimo po naslednjih korakih: ) PAQ = LU, 2) Ly = Pb =: b, 3) Ux = y, 4) x = Qx. Zgled 3.7 Sistem Ax = b, kjer sta A = kompletnim pivotiranjem in b = 2 7, bomo rešili preko LU razcepa s 3 A () = A (2) = , P = 3 2, P = , Q = 0 0, , Q = Uokvirjeni elementi so iz L, v A pa so na njihovih mestih ničle. Razcep je PAQ = LU, kjer sta L = in U = Dobimo b = Pb = 3, y = , x = in x =

80 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Analiza zaokrožitvenih napak pri LU razcepu Vemo, da za : +,,, / velja f l(a b) = (a b)( + δ), kjer je δ u in u osnovna zaokrožitvena napaka. Uporabljali bomo tudi zvezo f l(a b) = (a b)/( + δ), kjer je δ u. Pri reševanju Ax = b preko LU razcepa dobimo x. Pri analizi obratne stabilnosti iščemo oceno za δa, da je (A + δa) x = b. Pri oceni predpostavimo, da med računanjem ne pride do prekoračitve oz. podkoračitve. a a n V nadaljevanju oznaka A pomeni matriko absolutnih vrednosti A =.. a n a nn zapis A B pa pomeni, da je a ij b ij za vsak i, j. Navedli bomo le izreke, dokaze lahko najdete npr. v [8]. Lema 3.3 Naj bo L spodnja trikotna matrika velikosti n n. Sistem Ly = b rešimo s premo substitucijo. Izračunana rešitev ŷ zadošča enačbi (L + δl)ŷ = b, kjer je δl nu L. Lema 3.4 Naj bo U zgornja trikotna matrika velikosti n n. Sistem Ux = y rešimo z obratno substitucijo. Izračunana rešitev x zadošča enačbi (U + δu) x = y, kjer je δu nu U. Lema 3.5 Naj bo A matrika velikosti n n, pri kateri se izvede LU razcep brez pivotiranja. Za izračunana L in U velja A = LU + E, kjer je E nu L U., Posledica je, da za izračunana L, U velja A = LU + E, kjer je E nu L U, za, ali F normo (kjer velja A = A ), pa dobimo npr. E nu L U. Izrek 3.6 Za izračunano rešitev x sistema Ax = b preko LU razcepa velja (A + δa) x = b, kjer je δa 3nu L U oziroma δa 3nu L U. Zanima nas, kdaj je 3nu L U = O(u) A, saj je potem metoda obratno stabilna. Količino g := max u ij max a ij imenujemo pivotna rast. Sledi U ng A. Pri delnem in kompletnem pivotiranju velja l ij, posledica pa je L n. Tako za delno in kompletno pivotiranje velja δa 3gn 3 u A. Ocena je lahko zelo velika, tudi če je g =. Skoraj vedno je ocena slabša od dejanskih rezultatov. Vemo še: a) delno pivotiranje: Lema 3.7 Pri delnem pivotiranju je pivotna rast omejena z 2 n. Dokaz. Zaradi a jk = a jk l ji a ik in l ij se lahko vrednost največjega elementa v matriki v vsakem koraku podvoji. Ker se vsakega elementa dotaknemo največ (n )-krat, je g 2 n.

81 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 8 Običajno se g obnaša kot n 2/3. LU razcep z delnim pivotiranjem je v praksi obratno stabilen. b) kompletno pivotiranje: Lema 3.8 Pri kompletnem pivotiranju je pivotna rast omejena z g Običajno se g obnaša kot n /2. ( n 2 3 /2 4 /3 n /(n )) 2 n 2 + ln n 4. Domneva (Wilkinson, 965) je bila, da je g n, vendar so leta 99 našli protiprimer 3 3, kjer je g = LU razcep s kompletnim pivotiranjem je obratno stabilen, ker pa porabi preveč primerjanj, ga le redko uporabljamo. LU razcep brez pivotiranja razen za posebne matrike (npr. diagonalno dominantne po stolpcih, simetrične pozitivno definitne) ni obratno stabilen. 3.8 Ocene pogojenostnih števil Naj bo x izračunana rešitev, x pa točna rešitev sistema Ax = b. Označimo ostanek r := A x b. Velja x x = A r, od tod pa dobimo oceno x x x A r x. Problem za uporabo ocene (če se omejimo na, in F normo) je ta, da ne poznamo A. Potrebujemo dobro oceno za A brez računanja A, saj za računanje A porabimo 2n 3 operacij, za reševanje Ax = b pa le 2 3 n3. Želimo dobiti uporabno oceno v O(n 2 ) operacijah. Zapisali bomo algoritem za oceno B pri pogoju, da znamo izračunati Bx in B T y za poljubna vektorja x, y. Pri ocenjevanju A to pomeni, da znamo rešiti sistema z A in A T, to pa znamo narediti ekonomično, ko poznamo LU razcep A. Vemo, da je B = max x =0 Bx x = max j=,...,n n i= b ij. Za vsak x = je Bx B. Definiramo f(x) = Bx. Sedaj iščemo maksimum f na območju x z gradientno metodo. f je konveksna, saj je f(αx + ( α)y) = B(αx + ( α)y) α Bx + ( α) By) = α f(x) + ( α) f(y). Območje x je konveksno in kompaktno, kar pomeni, da konveksna funkcija zavzame svoj maksimum v ekstremni točki (e j za nek j, kar v bistvu že vemo).

82 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 82 ) Predpostavimo, da je n j= b ijx j = 0 za vsak i. Naj bo ξ i = sign ( n j= b ijx j, kar pomeni, da je ξ i = ± in f(x) = n n ξ i b ij x j. i= j= Tako dobimo in f(x) = ξ T B = (B T ξ) T. n f(x) = x k ξ i b ik i= Ker je f konveksna, je f(y) f(x) + f(x)(y x). Izrek 3.9 Naj bo x =, w = Bx, ξ = sign(w) in z = B T ξ (z T = f ). ) Če velja z z T x, potem ima f v x lokalni minimum w. 2) Če velja z > z T x, je f(e j ) > f(x), pri čemer je z j = z. Dokaz. ) V dovolj majhni okolici x, kjer ξ i ostanejo nespremenjeni, velja torej z T (y x) = z T y z T x f(y) = f(x) + f(x)(y x) = f(x) + z T (y x), n z i y i z T n x z y i z T x z z T x 0. i= i= 2) Ker je f(e j ) = f( e j ) lahko predpostavimo, da je e T j z = z. f(e j ) f(x) + f(x)(e j x) = f(x) + z T e j z T x = f(x) + z z T x > f(x). Od tod dobimo Hagerjev algoritem za spodnjo mejo za B. Zapisan je v algoritmu 3.3, ponavadi se konča v dveh korakih, zahtevnost pa je O(n 2 ). Algoritem 3.3 Hagerjev algoritem. Dani podatki sta matriki B in B T (v resnici potrebujemo le funkciji, ki znata za dani vektor x izračunati produkta Bx in B T x). Algoritem vrne spodnjo mejo za B. izberi poljuben x =. ponavljaj w = Bx, ξ = sign(w), z = B T ξ če z z T x, potem vrni w in končaj sicer x = e j, kjer je z j = z. Hagerjevo cenilko lahko uporabimo za oceno A, saj je A T = A.

83 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Ocene po komponentah Ocene po normah so dostikrat preveč pesimistične. Za veliko boljše se izkažejo ocene po posameznih komponentah. Če opazujemo motnjo vsake komponente posebej, se da izpeljati oceno: δx x A r x. Za oceno A r lahko uporabimo Hagerjev algoritem, saj za r = [ r r n ] T in R = diag(r,..., r n ) velja A r = A R, poleg tega pa upoštevamo še, da za vsako matriko velja A = A T. Zgled 3.8 Vzamemo ¼ ÒÚ Ð µ, ܼ ÓÒ ½µ in ¼ ¼ ܼ. A 0 in b 0 imata celoštevilske predstavljive elemente in x 0 je eksaktna rešitev. Sedaj A 0 in b 0 pomnožimo z diagonalno matriko º ½ µµ v ¼ in ¼. Sedaj rešimo x = A\b in dobimo x x 0 x A zelo občutljiva. = Tako slab rezultat je pričakovan, saj je matrika Kako dobre so aposteriorne ocene za err = x x 0 x? Relativni ostanek r /( A x ), kjer je r = b Ax, je in ta ocena nam ne pove ničesar. Ocena po normah err A r / x, kjer A izračunamo preko Hagerjeve cenilke, vrne err , ocena je preveč pesimistična. Ocena po komponentah err A r / x, kjer uporabimo Hagerjevo cenilko, vrne err , ocena se dobro ujema s pravo napako. V obeh primerih se izkaže, da je Hagerjeva cenilka natančno izračunala iskano normo. 3.0 Sistemi s posebno obliko Kadar ima A posebno obliko, lahko to izkoristimo in prihranimo tako pri številu operacij kot pri porabi pomnilnika Simetrične pozitivno definitne matrike A R n n je simetrična pozitivno definitna (s.p.d.) matrika, če je A = A T in je x T Ax > 0 za vsak x = 0. Izrek 3.20 Velja:

84 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 84 ) Naj bo det Y = 0. Potem je A s.p.d. Y T AY s.p.d. 2) A s.p.d. in H = A( : k, : k) poljubna vodilna podmatrika, k n, = H s.p.d. 3) A s.p.d. in H = A([i i 2 i k ], [i i 2 i k ]) poljubna podmatrika, simetrična glede na diagonalo = H s.p.d. 4) A s.p.d. A = A T in vse lastne vrednosti A so pozitivne. 5) A s.p.d. = a ii > 0 za i in max i,j a ij = max i a ii. 6) A s.p.d. = LU razcep brez pivotiranja se izvede in u ii > 0 za i. 7) A s.p.d. obstaja taka nesingularna spodnja trikotna matrika V s pozitivnimi elementi na diagonali, da je A = VV T. Razcep A = VV T imenujemo razcep Choleskega, V pa faktor Choleskega. Dokaz. ) det Y = 0 = Yx = 0 za x = 0. Sedaj dobimo x T Y T AYx = (Yx) T A(Yx) > 0 za y = 0. V drugo smer uporabimo matriko Y. [ ] x 2) x R k dopolnimo v y R n kot y =. Potem je x = 0 y = 0 in za x = 0 je 0 y T Ay = x T Hx > 0. 3) Obstaja permutacija P, ki podmatriko H prestavi v vodilno podmatriko A( : k, : k). Uporabimo ) in 2). 4) (= :) A je simetrična. Naj bo Ax = λx, x = 0. Potem je x T Ax = λ x 2 2 > 0 = λ > 0. ( =:) A = QDQ T, Q T Q = I, D = diag(λ,..., λ n ). Za x = 0 je x T (QDQ T )x = (Q T x) T D(Q T x) > 0, saj je z T Dz = n i= λ iz 2 i. 5) a ii = ei T Ae i > 0. [ ] app a Denimo, da a pq = max i,j a ij in p = q. Matrika H := A([p q], [p q]) = pq mora biti s.p.d., torej det H > 0. Toda det H = a pp a qq a 2 pq 0, to pa je protislovje. 6) Vse vodilne podmatrike A so nesingularne, torej obstaja LU razcep brez pivotiranja. Ker je u u 22 u kk = det(a( : k, : k)) > 0 za vsak k, mora biti u ii > 0 za vsak i. 7) ( =:) VV T je očitno s.p.d. za nesingularno V. (= :) A = LU = LDM, kjer je D = diag(u,..., u nn ) in M zgornja trikotna z enicami na diagonali. Ker je A = A T, sta L(DM) in M T (DL T ) dva LU razcepa, ki pa je za nesingularno matriko enoličen. To pomeni M = L T in A = LDL T. Če sedaj definiramo V := LD /2, kjer je D /2 = diag(u /2,..., u/2 nn ), dobimo iskani razcep A = VV T. André-Louis Cholesky se je rodil leta 875 v Franciji. Delal je kot geodet v francoski vojski. Pri svojem delu je pogosto reševal linearne probleme najmanjših kvadratov, kjer nastopajo s.p.d. sistemi (glej poglavje 5). Umrl je na fronti leta 98, njegove zapiske s predlaganim razcepom pa je po smrti v objavo poslal njegov sodelavec. Ker njegova družina izvira iz Ukrajine, so se pojavile nejasnosti o pravilni izgovorjavi njegovega priimka. Po francoskih biografih je pravilna izgovorjava "Šoleski". a pq a qq

85 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 85 Če iz A = VV T zapišemo enačbo za a jk, j k, dobimo a jk = k k v ji v ki = v ji v ki + v jk v kk, i= i odtod pa lahko zapišemo algoritem 3.4 za razcep Choleskega. Algoritem 3.4 Razcep Choleskega. Začetni podatek je n n s.p.d. matrika A. Algoritem vrne spodnjo trikotno matriko V, da je A = VV T. k =,..., n ( ) /2 v kk = a kk k i= v2 ki j = k +,..(., n ) v jk = v kk a jk k i= v jiv ki Število operacij, ki jih porabi algoritem 3.4 je n k= (2k + 2(n k)k) = 3 n3 + O(n 2 ). Poleg polovice manj operacij porabimo tudi polovico manj pomnilnika kot pri LU razcepu. Če A ni s.p.d., se v algoritmu pod kvadratnim korenom pojavi nepozitivna vrednost. Računanje razcepa Choleskega je tako najcenejša metoda za ugotavljanje pozitivne definitnosti simetrične matrike. Zgled 3.9 Pri razcepu Choleskega za A = V = dobimo Reševanje s.p.d. sistema Ax = b izvedemo po naslednjih korakih: ) A = VV T, 2) Vy = b, 3) V T x = y. Naj bo x izračunana rešitev s.p.d. sistema Ax = b, ki smo ga rešili preko razcepa Choleskega. Izpeljemo lahko podobno analizo, kot smo jo naredili za reševanje linearnega sistema preko LU

86 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 86 razcepa. Tako ugotovimo, da x zadošča enakosti (A + δa) x = b, kjer je δa 3nu V V T. Ker pa je ( ( V V T ) ij = v ik v jk k velja V V T n A in k v ik 2 ) /2 ( k δa 3n 2 u A. ) /2 v jk 2 = a ii ajj max a ij, i,j To pomeni, da je razcep Choleskega numerično stabilen in da pri metodi Choleskega ne potrebujemo pivotiranja Simetrične nedefinitne matrike Pri simetrični matriki ne želimo uporabiti LU razcepa, saj ne ohranja simetrije. Za nesingularno simetrično matriko A obstaja razcep PAP T = LDL T, kjer je L spodnja trikotna matrika z enicami na diagonali, D pa bločno diagonalna matrika z bloki ali 2 2. Število operacij za razcep je n3 3 + O(n2 ). [ ] 0 Zgled za to, da potrebujemo 2 2 bloke v D je npr. A = Tridiagonalne matrike Če je a b A = c 2 a 2 b potem pri LU razcepu brez pivotiranja dobimo l L = l n in U = c n a n b n c n a n, u b u n b n u n. Za razcep in nadaljnje reševanje sistema Ax = b potrebujemo O(n) operacij in O(n) prostora, saj shranimo le neničelne elemente matrik A, L in U. Pri delnem pivotiranju dobimo U = u v w u n 2 v n 2 w n 2 u n v n u n,

87 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 87 pivotna rast pa je omejena z 2. To pomeni, da je reševanje tridiagonalnega sistema preko LU razcepa z delnim pivotiranjem obratno stabilno. Podobno velja za pasovne matrike, ki imajo poleg glavne še p diagonal nad in q diagonal pod glavno diagonalo. Če uporabimo LU razcep brez pivotiranja, bosta imeli matriki L in U enako obliko v spodnjem oz. zgornjem trikotniku kot jo ima matrika A Kompleksni sistemi Rešujemo sistem Ax = b, kjer je A C n n in x, b C n. Če nimamo na voljo kompleksne aritmetike, lahko kompleksni sistem prevedemo na dvakrat večji realni sistem [ ] [ ] [ ] A A 2 x b =, A 2 A x 2 b 2 kjer je A = A + ia 2, x = x + ix 2 in b = b + ib 2. Sedaj lahko uporabimo podprograme za reševanje realnih linearnih sistemov. Ker je sistem dvakrat večji, za reševanje preko LU razcepa z delnim pivotiranjem porabimo 6 3 n3 + O(n 2 ) realnih operacij. Če je možno računati v kompleksni aritmetiki, potem lahko uporabimo standardni algoritem z LU razcepom z delnim pivotiranjem. Pri primerjavi računske zahtevnosti moramo upoštevati, da se kompleksna aritmetika v resnici izvaja z realno aritmetiko na parih realnih števil. Če pogledamo, kako izračunamo osnovne štiri računske operacije za kompleksna števila, lahko opazimo, da imajo različne zahtevnosti. Tako za seštevanje in odštevanje porabimo 2 osnovni realni operaciji, za množenje porabimo 6, za deljenje pa kar osnovnih operacij. Iz algoritma 3. lahko razberemo, da vsebuje n 3 /3 + O(n 2 ) kompleksnih odštevanj in prav toliko množenj, medtem ko je deljenj le O(n 2 ). Zaradi tega skupno porabimo 8 3 n3 + O(n 2 ) realnih operacij. Če primerjamo število realnih operacij, je drugi način za polovico cenejši, hkrati pa porabi tudi polovico manj pomnilnika Razpršene matrike Matrika je razpršena, če je večina njenih elementov enakih 0, ostali pa nimajo kakšne posebne strukture. Pri taki matriki shranimo le indekse in vrednosti neničelnih elementov. Pri LU razcepu razpršene matrike oz. razcepu Choleskega za s.p.d. razpršeno matriko so lahko faktorji L, U oziroma V daleč od razpršenosti. Pomaga lahko, če stolpce in vrstice predhodno tako preuredimo, da bo pri razcepu nastalo čim manj novih neničelnih elementov. Obstajajo različni algoritmi in pristopi, ki za različne tipe matrik dajejo različne rezultate. Ponavadi se za razpršene matrike uporablja iterativne metode namesto direktnih.

88 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Reševanje linearnih sistemov v Matlabu Za računanje norme uporabimo ukaz Òorm. Uporaba: ÒÓÖÑ µ ali ÒÓÖÑ ¾µ: spektralna ali 2-norma A 2, ÒÓÖÑ ½µ: -norma A, ÒÓÖÑ ³ Ò ³µ: -norma A, ÒÓÖÑ ³ ÖÓ³µ: Frobeniusova norma A F. Za reševanje linearnega sistema Ax = b uporabljamo v Matlabu operator v obliki Ü. LU razcep z delnim pivotiranjem dobimo z ukazom ÐÙ. Uporaba: Ä Í È ÐÙ µ: L je spodnja trikotna z enicami na diagonali, U je zgornja trikotna in P permutacijska matrika, da je LU = PA. Ä Í ÐÙ µ: U je spodnja trikotna, L pa po vrsticah premešana spodnja trikotna matrika z enicami na diagonali, da je LU = A. Razcep Choleskega za simetrično pozitivno definitno matriko dobimo z ukazom ÓÐ. Uporaba: Î ÓÐ µ: V je taka zgornja trikotna matrika, da je V T V = A. Če matrika A ni simetrična in pozitivno definitna, Matlab javi napako. Za izračun oziroma oceno občutljivosti imamo na voljo naslednje ukaze: ÓÒ µ ali ÓÒ ¾µ izračuna κ 2 (A) preko singularnih vrednosti oziroma ukaza Ú. ÓÒ ½µ izračuna κ (A), uporablja ÒÚ µ in porabi manj dela kot ÓÒ ¾µ. ÓÒ ³ Ò ³µ izračuna κ (A), ukaz je ekvivalenten ÓÒ ³ ½µ. ÓÒ Ø µ vrne oceno za κ (A), ki jo izračuna po Highamovi izboljšavi Hagerjevega algoritma. Dodatna literatura Za reševanje linearnih sistemov je na voljo obsežna literatura. V slovenščini sta na voljo knjigi [5] in [8]. Kar se tiče tuje literature, lahko skoraj vse algoritme, ki jih potrebujemo pri reševanju linearnih sistemov, skupaj s potrebno analizo, najdete v [9]. Podrobna analiza zaokrožitvenih napak je za vse algoritme narejena v [2]. Zelo lepo napisana učbenika s številnimi algoritmi in primeri sta tudi [7] in [0].

89 Poglavje 4 Nelinearni sistemi 4. Uvod Rešujemo sistem nelinearnih enačb, ki ima obliko f (x, x 2,..., x n ) = 0 f 2 (x, x 2,..., x n ) = 0. f n (x, x 2,..., x n ) = 0. Krajše pišemo F(x) = 0, kjer je sedaj x R n in F : R n R n. Zgled 4. Za testni sistem bomo vzeli 3x cos(x x 2 ) 0.6 = 0 x 2 8(x ) 2 + sin(x 3 ) +. = 0 (4.) e x x x = 0, ki ima rešitev α = ( , , ). Več kot imamo enačb, težje pridemo do začetnih približkov, če ne poznamo še ozadja sistema, ki ga rešujemo. V primeru ene same enačbe f(x) = 0 lahko iz grafa določimo začetni približek. V primeru dveh enačb f (x, x 2 ) = 0 in f 2 (x, x 2 ) = 0 iščemo presečišče dveh implicitno podanih krivulj. Uporabimo lahko metode za implicitno risanje krivulj in spet grafično določimo začetni približek. Če se da, lahko tudi iz ene enačbe izrazimo eno spremenljivko in jo vstavimo v drugo enačbo, da dobimo eno samo nelinearno enačbo. Če imamo več enačb, je situacija bolj zapletena. Nekaj možnosti: redukcija na manjši sistem, aproksimacija z linearnim modelom, 89

90 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 90 uporaba variacijskih metod, metoda zveznega nadaljevanja. 4.2 Navadna oz. Jacobijeva iteracija Prva metoda je posplošitev navadne iteracije. Sistem F(x) = 0 zapišemo v ekvivalentni obliki x = G(x), kjer je G : R n R n, izberemo x (0) R n in tvorimo zaporedje približkov: x (r+) = G(x (r) ), r = 0,,.... Zgled 4.2 Če v našem testnem primeru (4.) iz i-te enačbe izrazimo x i, dobimo x (r+) = ( ) cos(x (r) 3 x(r) 2 ) (x (r) x (r+) 2 = 9 x (r+) 3 = 20 )2 + sin(x (r) 3 ) (4.2) ) (e x(r) x(r) , od koder lahko razberemo G(x). Če vzamemo začetni približek x (0) = (0.4, 0., 0.4), potem dobimo zaporedje r x (r) x (r ).3 0 F(x (r) ) x (r) x (r) 2 x (r) Izrek 4. Če obstaja območje Ω R n z lastnostmi: a) x Ω G(x) Ω, b) x Ω ρ(jg(x)) q <, kjer je JG(x) Jacobijeva matrika g (x) x JG(x) =. g n (x) x g (x) x n. g n (x) x n in ρ spektralni radij matrike (največja izmed absolutnih vrednosti lastnih vrednosti matrike), potem ima G(x) = x v Ω natanko eno rešitev α, zaporedje x (r+) = G(x (r) ), r = 0,,..., pa za vsak x (0) Ω konvergira k α.

91 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 9 Podobno kot pri eni nelinearni enačbi je red konvergence odvisen od Jacobijeve matrike. V primeru JG(α) = 0 dobimo vsaj kvadratično konvergenco, ta pogoj pa je izpolnjen npr. pri Newtonovi metodi, ki je posplošitev tangentne metode. Ker za vsako lastno vrednost λ matrike A in poljubno matrično normo velja λ A, je zadostni pogoj za konvergenco, da je JG(x) <. Če vzamemo., dobimo naslednjo posledico. Posledica 4.2 Če obstaja območje Ω R n z lastnostima: a) x Ω G(x) Ω, n g b) j (x) x m <, j =,..., n, k k= potem ima G(x) = x v Ω natanko eno rešitev α, zaporedje x (r+) = G(x (r) ), r = 0,,..., za vsak x (0) Ω konvergira k α in velja ocena x (r) α mr m x() x (0). Zgled 4.3 Za testni primer (4.) in iteracijo (4.2) dobimo x 2 3 sin(x x 2 ) x 3 sin(x x 2 ) 0 JG(x) = x 0 9 x 2+sin x 3+. cos x 3 9 x 2 +sin x 3+. x 2 20 e x x 2 x 20 e x x 2 0 Če vzamemo Ω = [, ] [, ] [, ], potem za x Ω velja G(x) Ω. Če ocenimo absolutne vrednosti parcialnih odvodov G na Ω, dobimo G(x) m za m = 0.56 in konvergenca je zagotovljena. Iz ocene x (8) α m8 m x() x (0) sledi x (8) α , kar ni najboljša ocena, a ponavadi so tovrstne ocene dokaj pesimistične. Pri Jacobijevi iteraciji lahko računamo vse komponente x (r+) i, i =,..., n, neodvisno drugo od druge, torej lahko z uporabo paralelnega računalnika mnogo pridobimo. Po drugi strani pa bi lahko komponente računali po vrsti in ko bi računali x (r+) i, bi lahko na desni strani namesto starih vrednosti x (r),..., x(r) i upoštevali že nove x(r+),..., x (r+) i. Če naredimo tako, potem temu postopku pravimo Seidlova iteracija. Ponavadi konvergira hitreje kot Jacobijeva iteracija, obstajajo pa tudi protiprimeri. Zgled 4.4 Če pri iteracijski funkciji (4.2) za (4.) računamo komponente x (r+) po vrsti in izračunane komponente upoštevamo pri izračunu naslednjih, računamo po formulah x (r+) = ( cos(x (r) ) 3 x(r) 2 ) x (r+) 2 = (x (r+) 9 ) 2 + sin(x (r) 3 ) x (r+) 3 = ( ) e x(r+) x (r+)

92 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 92 Če vzamemo začetni približek x (0) = (0.4, 0., 0.4), dobimo zaporedje r x (r) x (r ).3 0 f(x (r) ) x (r) x (r) 2 x (r) V tem primeru Seidlova metoda konvergira hitreje od Jacobijeve metode. 4.3 Newtonova metoda Pri Newtonovi metodi tvorimo zaporedje x (r+) = x (r) JF(x (r) ) F(x (r) ), r = 0,,.... V praksi ne računamo inverza Jacobijeve matrike, temveč rešujemo sistem: JF(x (r) ) x (r) = F(x (r) ), x (r+) = x (r) + x (r), r = 0,,.... Izpeljava Newtonove metode poteka preko razvoja v Taylorjevo vrsto. Denimo, da so vse funkcije f i dvakrat zvezno odvedljive v okolici rešitve. Tedaj lahko razvijemo: f i (x + x) = f i (x) + n k= f i (x) x k x k +, i =,..., n. Če zanemarimo kvadratne in višje člene in želimo, da bo f(x + x) = 0, dobimo linearni sistem za popravke f (x) f x (x) x n x f (x)... =., f n (x) x x n f n (x) nato pa popravimo približke v f n (x) x n x k + x k, k =,..., n. Konvergenca Newtonove metode je v bližini enostavne ničle kvadratična, težava pa je v tem, da moramo za konvergenco ponavadi poznati dovolj dober začetni približek. Zgled 4.5 Z Newtonovo metodo in z začetnim približkom x 0 = 2, y 0 = 4, izračunaj prva dva približka sistema x 2 + y 2 0x + y = x 2 y 2 x + 0y = 25.

93 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 93 Dobimo in V prvem koraku rešimo sistem [ f (x, y) = x 2 + y 2 0x + y f 2 (x, y) = x 2 y 2 x + 0y 25 JF(x, y) = ] [ ] x = y [ ] 2x 0 2y +. 2x 2y + 0 [ ] 3 x =, y = Torej je novi približek x =.923, y = Če postopek nadaljujemo, dobimo x 2 =.9625, y 2 = , točen rezultat pa je x =.9623, y = Zgled 4.6 Za testni primer (4.) velja 3 + x 2 sin(x x 2 ) x sin(x x 2 ) 0 JF(x) =. 2x 62(x ) cos(x 3 ) x 2 e x x 2 x e x x 2 20 Če vzamemo začetni približek x (0) = (0.4, 0., 0.4), potem Newtonova metoda vrne r x (r) x (r ).8 0 f(x (r) ) x (r) x (r) 2 x (r) Iz tabele je lepo razvidno, da je konvergenca kvadratična. Sicer res porabimo en korak več pri Seidlovi metodi z istim začetnim približkom, a v bližini rešitve je red konvergence Newtonove metode kvadratičen, pri Seidlovi metodi pa linearen. Za konvergenco Newtonove metode imamo na voljo Kantorovičev izrek, ki nam ob izpolnjenih predpostavkah zagotavlja konvergenco. Izrek 4.3 (Kantorovič) Denimo, da obstajajo taka števila a, b, c, da je h = abc < 2 in da velja: a) F je v x (0) odvedljiva in JF (x (0) ) a, b) b = x () x (0),

94 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 94 c) v okolici K (x (0), 2b) = {x : x x (0) 2b} so funkcije f i dvakrat zvezno odvedljive in velja n 2 f i (x) x j x c, i, j =,..., n. k n k= Potem ima sistem F(x) = 0 v K (x (0), 2b) natanko eno rešitev α h kateri konvergira zaporedje {x (r) } in velja ocena x (r) α (2h)2r 2 r. Ponavadi uporabljamo Kantorovičev izrek za to, da že vnaprej pokažemo, da imamo tako dober začetni približek, da bo Newtonova metoda skonvergirala. Iz izreka je razvidno, da bomo dovolj blizu ničle vedno imeli konvergenco, saj gre tam b proti 0. Zgled 4.7 Za testni nelinearni sistem (4.) velja f x x (x) = x2 2 cos(x x 2 ) f x x 2 (x) = x x 2 cos(x x 2 ) f x x 3 (x) = 0 f x2 x 2 (x) = x 2 cos(x x 2 ) f x2 x 3 (x) = 0 f x3 x 3 (x) = 0 f 2x x (x) = 2 f 2x x 2 (x) = 0 f 2x x 3 (x) = 0 f 2x2 x 2 (x) = 62 f 2x2 x 3 (x) = 0 f 2x3 x 3 (x) = sin x 3 f 3x x (x) = x2 2e x x 2 f 3x x 2 (x) = x x 2 e x x 2 f 3x x 3 (x) = 0 f 3x2 x 2 (x) = x 2e x x 2 f 3x2 x 3 (x) = 0 f 3x3 x 3 (x) = 0. Vzamemo lahko c = 486. Za a dobimo Če začnemo pri x (0), izreka še ne moremo uporabiti, saj je potem h = Če pa začnemo pri x (2), dobimo h = Po izreku potem dobimo oceno x (5) α Kvazi-Newtonove metode Posebno pri velikih n imamo pri Newtonovi metodi veliko dela. Če je Jacobijeva matrika polna, potem moramo v vsakem koraku najprej izračunati n 2 parcialnih odvodov, potem pa še rešiti sistem z matriko n n, za kar potrebujemo O(n 3 ) operacij. Zaradi tega in pa tudi ker ne poznamo nujno parcialnih odvodov, bi tudi tukaj radi žrtvovali hitrejšo konvergence za računanje brez parcialnih odvodov, podobno kot pri sekantni metodi. V ta namen obstaja mnogo kvazi-newtonovih metod, ki ne uporabljajo parcialnih odvodov. Najbolj znana je Broydenova metoda. Kadar imamo velik n in je Jacobijeva matrika razpršena, potem se za reševanje linearnega sistema s to matriko ne splača uporabljati direktnih metod. Uporabljamo iterativne metode, kar pomeni, da v vsakem koraku namesto točnega popravka izračunamo le približek za popravek. Tovrstne metode so t.i. netočne Newtonove metode, primer je kombinacija Newtonove metode in metode GMRES. Naj bo B r približek za JF(x (r) ). En korak kvazi Newtonove metode je

95 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 95 a) reši B r x (r) = F(x (r) ), b) x (r+) = x (r) + x (r), c) določi B r+ za naslednji korak. Pri Broydenovi metodi za B r+ vzamemo najbližjo matriko B r, ki zadošča t.i. sekantnemu pogoju B r+ (x (r+) x (r) ) = F(x (r+) ) F(x (r) ). Rešitev je B r+ = B r + F(x(r) )( x (r) ) T ( x (r) ) T x (r). Na začetku za B 0 vzamemo čim boljšo aproksimacijo za JF(x (0) ), v najslabšem primeru pa kar I. Število operacij lahko zmanjšamo, če namesto direktnega posodabljanja B r posodobimo razcep, ki ga uporabljamo za reševanje sistema v točki a). Teoretično se kot najcenejša metoda ponuja posodabljanje inverza matrike B r preko Sherman Morissonove formule. Če namreč poznamo A, potem je (A + uv T ) = A A uv T A + v T A u zelo učinkovita formula za izračun inverza posodobljene matrike A + uv T. Na žalost se izkaže, da uporaba te formule ni numerično stabilna, zato je bolje posodabljati LU razcep matrike B r, kar se da tudi narediti na učinkovit način. 4.5 Variacijske metode Iščemo ekstrem funkcije F: R n R, kjer je F dvakrat zvezno odvedljiva na vse spremenljivke. Potreben pogoj za ekstrem je gradf(x) = 0 oziroma F(x) x k = 0 za k =,..., n. Če je x stacionarna točka, potem o vrsti in obstoju ekstrema odloča Hessejeva matrika Velja: HF(x) = 2 F(x) x 2. 2 F(x) x x n 2 F(x) x x n. 2 F(x) x 2 n. HF(x) pozitivno definitna: lokalni minimum, HF(x) negativno definitna: lokalni maksimum, HF(x) semidefinitna: odločajo višji odvodi, HF(x) nedefinitna: ni ekstrema.

96 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 96 Torej lahko iskanje ekstrema funkcije več spremenljivk prevedemo na reševanje sistema nelinearnih enačb. Gre pa tudi obratno. Denimo, da iščemo rešitev sistema F(x) = 0, kjer je F: R n R n. Funkcija G(x) = n fi 2 (x) i= ima globalni minimum ravno v točkah, kjer je F(x) = 0, zato lahko ničlo funkcije F poiščemo tako, da poiščemo globalni minimum funkcije G. Poglejmo si nekaj metod za iskanje minimuma gladke funkcije n spremenljivk. Splošni nastavek je, da se iterativno monotono približujemo minimumu. Naj bo x (r) tekoči približek. Izberemo vektor (smer) v r R n in v tej smeri poiščemo naslednji približek tako da bo G(x (r+) ) < G(x (r) ). x (r+) = x (r) + λ r v r, Pogledati moramo: kako izberemo smer v r, kako določimo λ. Za izbiro smeri imamo naslednje možnosti: a) splošna metoda spusta: izberemo poljubno smer v r, le da ni pravokotna na gradg(x (r) ), saj v tej smeri ne moremo vedno dobiti manjše vrednosti. b) metoda najhitrejšega spusta oz. gradientna metoda: za smer izberemo negativni gradient v r = gradg(x (r) ). Pri tem pristopu moramo poznati parcialne odvode funkcije G. c) metoda koordinatnega spusta: za smeri po vrsti ciklično izbiramo koordinatne smeri e, e 2,..., e n. Pri določanju λ r imamo opravka s funkcijo ene spremenljivke g r (λ): = G(x (r) + λv r ). Iščemo tak λ r, da bo g r (λ r ) < g r (0). Metode so:

97 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 97 a) metoda največjega spusta: poiščemo λ r, kjer funkcija g r doseže svoj minimum. Za to rešimo nelinearno enačbo g r(λ r ) = 0 ali pa uporabimo kakšno metodo za računanje minimuma funkcije ene spremenljivke, npr. metodo zlatega reza. b) metoda tangentnega spusta: za λ r vzamemo presečišče tangente na y = g r (λ) v točki λ = 0 z osjo x, oziroma λ r = g r (0)/g r(0). Če je g(λ r ) g(0), potem λ r toliko časa razpolavljamo, dokler ne dobimo manjše vrednosti. c) metoda paraboličnega spusta: najprej s tangentno metodo določimo α, potem pa skozi točke (0, g r (0)), (α/2, g(α/2)), (α, g(α)) potegnemo parabolo in za λ r vzamemo točko, kjer parabola doseže minimum. d) metoda diskretnega spusta: Izberemo h r. Če je g(h r ) < g(0), potem se premikamo naprej s korakom h r in za λ r vzamemo kh r, kjer je prvič g((k + )h r ) g(kh r ). Sicer pa h r razpolavljamo toliko časa, da je g(h r ) < g(0) in za λ r vzamemo h r. Če iščemo minimum nenegativne funkcije, kar delamo, ko uporabimo variacijsko metodo za reševanje nelinearnega sistema, imamo zagotovljeno konvergenco ne glede na začetni približek, saj dobimo zaporedje približkov {x (r) }, za katere velja G(x (r+) ) < G(x (r) ). Kar se tiče reda konvergence, je ta ponavadi linearna. Tako vedno dobimo nek lokalni minimum, nič pa nam ne zagotavlja, da bomo našli tudi globalni minimum. Ponavadi uporabimo kombinacijo variacijske metode in Newtonove metode ali kvazi Newtonove metode. Variacijska metoda nas ne glede na kvaliteto začetnega približka pripelje v bližino rešitve, potem pa uporabimo hitrejšo metodo, ki potrebuje dobre začetne približke. Zgled 4.8 Če rešujemo nelinearni sistem F(x) = 0, kjer je F : R n R n, potem za velja Za gradient velja gradg(x) = 2 G(x) = f (x) f n (x) 2 G(x) = F(x) T F(x). f (x) f x (x) + f 2 (x) f 2x (x) + + f n (x) f nx (x) f (x) f x2 (x) + f 2 (x) f 2x2 (x) + + f n (x) f nx2 (x). f (x) f xn (x) + f 2 (x) f 2xn (x) + + f n (x) f nxn (x)

98 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 98 oziroma enostavneje gradg(x) = JF(x) T F(x). Če definiramo g(λ) = G(x + λz), potem dobimo g (0) = 2F(x) T JF(x)z. Zgled 4.9 Reševanje nelinearnega sistema (4.) lahko prevedemo na iskanje minimuma funkcije G(x) = f (x) 2 + f 2 (x) 2 + f 3 (x) 2, kjer so f (x) = 3x cos(x x 2 ) 0.6 f 2 (x) = x 2 8(x ) 2 + sin(x 3 ) +. f 3 (x) = e x x x Če vzamemo začetni približek x (0) = (0, 0, 0),potem po 20 korakih gradientne metode s paraboličnim spustom dobimo x (20) = ( , , ). Če to uporabimo za začetni približek za Newtonovo metodo, potem po 5 korakih dobimo rešitev α = ( , , ). Če pa bi namesto Newtonove metode še naprej uporabljali gradientno metodo, bi za enako natančnost potrebovali še 04 korake gradientne metode. 4.6 Reševanje nelinearnih sistemov v Matlabu V standardni verziji so na voljo naslednje funkcije: Ñ Ò Ö : iskanje minimuma realne funkcije iz R n v R. Uporablja simpleksni algoritem. Ñ Ò Ò : iskanje minimuma funkcije ene spremenljivke. Uporablja kombinacijo metode zlatega reza in parabolične interpolacije. Če ga imamo, potem je v dodatnem paketu za optimizacijo na voljo še: ÓÐÚ : reševanje sistema F(x) = 0 preko iskanja minimuma F(x) 2. Primeri uporabe: ÒÐ Ò ³Ü ½µ ¾ Ü ¾µ ¾³µ Ñ Ò Ö ¼º ¼º¾ µ ÒÐ Ò ³ Ü ½µ ¾ Ü ¾µ ¾¹½¼ Ü ½µ¹½µ ¾ Ü ½µ ¾¹Ü ¾µ ¾ ½¼ Ü ¾µ¹¾ µ ¾³µ Ñ Ò Ö ¾ µ

99 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Metoda zveznega nadaljevanja To je metoda za reševanje nelinearne enačbe f(x) = 0. Če je težko poiskati začetni približek (posebno, kadar je f : R n R n ), si lahko pomagamo z uvedbo dodatnega parametra. Ideja je, da izberemo sorodni enostavnejši problem g(x) = 0, ki ga znamo rešiti, potem pa z dodatnim parametrom t, ki teče od 0 do, enostavnejši problem zvezno prevedemo na f(x) = 0. Pri tem pričakujemo, da se bodo z zveznim spreminjanjem problema zvezno premikale tudi rešitve in bomo tako s sledenjem iz znanih rešitev enačbe g(x) = 0 prišli do iskanih rešitev f(x) = 0. Opazujemo npr. konveksno homotopijo F(t, x) = t f(x) + ( t) g(x), kjer je 0 t in poznamo rešitve g(x) = 0. S sledenjem krivulji od t = 0 do t = dobimo rešitve f(x) = 0. Sledenje krivulje je povezano z reševanjem diferencialne enačbe. Z odvajanjem po t dobimo kar nam da navadno diferencialno enačbo kjer je g(x 0 ) = 0. F t (t, x) + F x (t, x) ẋ = 0, ẋ = F x (t, x) F t (t, x), x(0) = x 0, Z metodami za reševanje navadnih diferencialnih enačb lahko sledimo rešitvi, poleg tega pa pri vsaki vrednosti t lahko upoštevamo še, da mora za x(t) veljati F(t, x(t)) = 0. Ponavadi uporabljamo kombinacijo prediktor korektor, ko najprej uporabimo metodo za reševanje začetnega problema, potem pa iz dobljenega približka izračunamo novo točko na krivulji z kakšno metodo za reševanje nelinearnega sistema.

100 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 00 a) prediktor: Iz točke (t, x(t)) z eno izmed metod za reševanje začetnega problema (npr. z Eulerjevo metodo) izračunamo prediktor x (P) (t + h), ki je približek za rešitev v točki t + h. b) korektor: Z eno izmed metod za reševanje nelinearnega sistema (npr. z Newtonovo metodo) rešimo sistem F(t + h, x(t + h)) = 0, za začetni približek pa vzamemo (t + h, x (P) (t + h)). Dodatna literatura Z reševanjem nelinearnih sistemov se ukvarja knjiga [4]. Pri tuji literaturi omenimo npr. učbenike [6], [0] in [4]. Knjiga [3] se ukvarja z reševanjem velikih nelinearnih sistemov s kvazi Newtonovimi metodami. Več o metodi zveznega nadaljevanja lahko najdete v [].

101 Poglavje 5 Linearni problemi najmanjših kvadratov 5. Uvod Denimo, da so dane točke (y, b ),..., (y m, b m ), m > 4, iščemo pa kubični polinom oblike p(y) = x + x 2 y + x 3 y 2 + x 4 y 3, ki gre skozi dane točke. Polinom bi moral zadoščati m enačbam x + x 2 y + x 3 y 2 + x 4 y 3 = b. x + x 2 y m + x 3 y 2 m + x 4 y 3 m = b m za 4 neznanke. V matrični obliki dobimo sistem Ax = b, kjer je y y 2 y 3 x y 2 y 2 2 y 3 2 A =...., x = x 2 x 3, b =. y m y 2 m y 3 x m 4 Ker imamo več enačb kot neznank, je to predoločen sistem. Sistem v splošnem nima rešitve, zato nalogo preoblikujemo. Iščemo tak kubični polinom, ki se najbolje prilega danim točkam, torej tak x, da bo imel ostanek Ax b minimalno normo. Različnim normam ostanka ustrezajo različne rešitve. Nalogo najlažje rešimo, če izberemo. 2. V tem primeru govorimo o rešitvi po metodi najmanjših kvadratov. V splošnem predoločenem sistemu imamo dano matriko A R m n, m > n in vektor b R m, iščemo pa tak x R n, ki minimizira Ax b 2. Predpostavimo še, da je A polnega ranga, sicer rešitev ni enolična. Če A ni polnega ranga, potem namreč obstaja neničelni vektor z ker(a) in iz Ax = A(x + z) sledi, da rešitev ne more biti enolična. b b 2 b m. 5.2 Normalni sistem 0

102 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 02 Slika 5.: Najboljša aproksimacija v evklidski normi je pravokotna projekcija. Imamo A R m n, m > n, rang(a) = n, b R m, iščemo pa tak x R n, ki minimizira Ax b 2. Tak x obstaja in je enoličen. Če sistem Ax = b z leve pomnožimo z A T, dobimo t.i. normalni sistem ki je nesingularen, saj je A polnega ranga. A T Ax = A T b, Lema 5. Rešitev normalnega sistema je rešitev po metodi najmanjših kvadratov. Dokaz. Naj bo B = A T A in c = A T b. Matrika B je s.p.d. Velja Ax b 2 2 = (Bx c) T B (Bx c) c T B c + b T b, to pa bo zaradi tega, ker je B s.p.d., minimalno, ko bo Bx = c. Matrika A T A je s.p.d., zato za reševanje normalnega sistema uporabimo razcep Choleskega. Število operacij za izračun A T A, razcep Choleskega in reševanje sistema je n 2 m + 3 n3 + O(n 2 ), ker pa je ponavadi m n, je najpomembnejši člen n 2 m. Geometrijska razlaga: Za dani b R n iščemo tak vektor Ax im(a), da bo razdalja b Ax 2 minimalna. To pa pomeni, da v linearnem podprostoru im(a) iščemo najboljšo aproksimacijo za b v normi. 2. Rešitev je pravokotna projekcija b na im(a), torej mora biti ostanek b Ax pravokoten na im(a). Ker pa stolpci A tvorijo bazo za im(a), od tod dobimo normalno enačbo. Situacija je prikazana na sliki 5.. Normalni sistem je najpreprostejši način reševanja predoločenega sistema, ni pa najstabilnejši. Težave se pojavijo, kadar stolpci matrike A niso dovolj linearno neodvisni. Takrat je bolje namesto stolpcev matrike uporabiti kakšno boljšo bazo za im(a), po možnosti ortonormirano. Zgled 5. Denimo, da iščemo polinom p(x) = a 0 + a x + + a n x n stopnje n, ki se najbolje prilega točkam (x i, y i ), i =,..., m. Matrika B = A T A ima elemente b ij = m k= xi+j 2 k. Če so točke x i enakomerno porazdeljene po intervalu (0, ), torej x i = i/(m + ), velja ( ) k i+j 2 b ij = (m + ) x i+j 2 dx = m + m + 0 i + j, m k= to pa pomeni, da je B (m + )H n+. Ker pa so Hilbertove matrike zgled za zelo občutljive matrike, računanje aproksimacijskega polinoma visoke stopnje preko normalnega sistema ni stabilno.

103 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) QR razcep Denimo, da poznamo razcep A = QR, kjer je Q pravokotna matrika m n z ortonormiranimi stolpci in R zgornja trikotna matrika n n. Tak razcep imenujemo QR razcep. Potem iz normalnega sistema dobimo x = (A T A) A T b = (R T Q T QR) R T Q T b = R R T R T Q T b = R Q T b. Rešitev po metodi najmanjših kvadratov torej dobimo, če rešimo zgornji trikotni sistem Rx = Q T b. Do iste formule pridemo tudi z geometrijskim sklepanjem. Stolpci matrike Q prav tako kot stolpci matrike A razpenjajo podprostor im(a), a je zaradi ortonormiranosti baza iz stolpcev matrike Q manj občutljiva. Pogoj, da mora biti pri rešitvi po metodi najmanjših kvadratov ostanek b Ax pravokoten na podprostor im(a) lahko zapišemo kot Q T (Ax b) = 0 in tako spet pridemo do enačbe Rx = Q T b. Reševanje preko QR razcepa je zato stabilnejše od reševanja normalnega sistema. Izrek 5.2 Naj bo A R m n, m n in rang(a) = n. Potem obstaja enolični QR razcep A = QR, kjer je Q pravokotna matrika m n z ortonormiranimi stolpci, R pa zgornja trikotna matrika n n s pozitivnimi diagonalnimi elementi. Dokaz. Za dokaz obstoja bomo QR razcep kar skonstruirali. Denimo, da je A = [a a n ] in Q = [q q n ]. Potem iz A = QR sledi a k = k i= Vektorji q,..., q k so ortonormirani in razpenjajo isti podprostor kot vektorji a,..., a k za k =,..., n. To pomeni, da lahko Q in R dobimo z Gram-Schmidtovo ortogonalizacijo stolpcev matrike A. Postopek je zapisan v algoritmu 5.. Algoritem 5. Gram Schmidtova ortogonalizacija. Začetni podatek je matrika A z n stolci. Algoritem vrne matriko Q z ortonormiranimi stolpci in zgornjo trikotno matriko R, da je A = QR. k =,..., n q k = a k i =,..., k r ik = q T i a k (CGS) ali r ik = q T i q k (MGS) q k = q k r ik q i r kk = q k 2 q k = q k r kk r ik q i. CGS je klasična Gram Schmidtova metoda, MGS pa modificirana Gram Schmidtova metoda. Pri eksaktnem računanju vrneta CGS in MGS identične vrednosti, numerično pa je MGS stabilnejši od CGS.

104 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 04 Pokažimo še enoličnost. Naj bo A = QR. Potem velja A T A = R T R, kar je razcep Choleskega za s.p.d. matriko A. Ker je razcep Choleskega enoličen, je R enolična, prav tako pa potem tudi Q = AR. Zgled 5.2 Če vzamemo ǫ = 0 0 in preko CGS in MGS v Matlabu ortogonaliziramo vektorje + ǫ x =, x 2 = + ǫ, x 3 =, + ǫ dobimo pri CGS q T 2 q 3 0.5, kar je narobe, pri MGS pa q T 2 q 3 = Število operacij za QR razcep preko Gram Schmidtove ortogonalizacije je ( ) k n 3m + 4m 4m k 2mn 2, i= n k= kar je približno dvakrat toliko operacij kot pri normalnem sistemu (za m n). Pri reševanju predoločenega sistema z MGS moramo paziti na zadnji korak. Nepravilno je uporabiti MGS za izračun matrik Q in R, potem pa reševati sistem Rx = Q T b, saj lahko pri računanju Q T b izgubimo vso natančnost, ki smo jo pridobili, ko smo namesto CGS izvajali MGS. Pravilno je, da najprej z MGS izračunamo QR razcep za z vektorjem b razširjeno matrko A: [ ] R z [ A b ] = [ Q q n+ ]. ρ Sedaj dobimo Ax b = [ A b ] [ ] x = [ Q q n+ ] Ker je q n+ Q, bo minimum dosežen pri Rx = z. k= [ ] [ ] R z x = Q(Rx z) ρq ρ n+. Poleg QR razcepa poznamo še razširjeni QR razcep A = Q R, kjer je Q ortogonalna matrika m m, R pa zgornja trapezna matrika m n. Prvih n stolpcev matrike Q in zgornji kvadrat matrike R tvori QR razcep matrike A. Tudi razširjeni QR razcep bomo ponavadi imenovali kar QR razcep, saj je vse razvidno iz dimenzij matrik. [ ] R Naj bo A = Q R, kjer je Q = [Q Q ] in R =. Potem velja 0 [ Ax b 2 = Q T (Ax b) 2 = R 0 Zgornji del lahko uničimo, spodnjega pa ne. Velja torej minimum pa je dosežen pri Rx = Q T b. ] [ ] Q x T b 2 Q Tb = min x R n Ax b 2 = Q T b 2, [ ] Rx Q T b Q Tb. 2

105 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) Givensove rotacije V ravnini vektor x = [x x 2 ] T zarotiramo za kot ϕ v negativni smeri tako, da ga pomnožimo z ortogonalno matriko [ ] R T c s =, s c kjer sta c = cos ϕ in s = sin ϕ. Če to posplošimo na rotacijo v ravnini (i, k) v R n, dobimo ortogonalno matriko Rik T, ki je enaka identiteti povsod razen v i-ti in k-ti vrstici, kjer je [ ] Rik T c s ([i, k], [i, k]) =. s c Za vektor y = R T ik x velja yj = xj, j = i, k y i = cx i + sx k y k = sx i + cx k. Sedaj c in s lahko izberemo tako, da bo y k = 0. Rešitev je r = x 2 i + x 2 k c = x i r s = x k r. Matriko R ik imenujemo Givensova rotacija. Pri množenju matrike z Rik T se spremenita le i-ta in k-ta vrstica. Givensove rotacije lahko uporabimo na podoben način kot pri LU razcepu uporabimo elementarne eliminacije, da v matriki uničimo vse elemente pod diagonalo. Ker pa množimo z ortogonalnimi matrikami, je to bolj stabilno od uporabe elementarnih eliminacij. Z ustreznimi rotacijami, ki jih uporabimo v pravilnem vrstnem redu, lahko v matriki uničimo vse elemente pod diagonalo in tako izračunamo QR razcep. Pri matriki 4 3 tako dobimo A = R 2 T 0 R 3 T 0 R 4 T R23 T 0 R 24 T R 34 T = R Matrika R je zgornja trapezna, v zgornjem kvadratu pa vsebuje matriko R. Produkt Q = R 2 R 3 R 4 R 23 R 24 R 34 je ortogonalna matrika, ki v prvih n stolpcih vsebuje matriko Q. Tako smo dobili razcep A = QR. Pri množenju z R T jk se j-ta in k-ta vrstica spremenita v linearni kombinaciji j-te in k-te vrstice. Če je v nekem stolpcu v obeh vrsticah 0, se to ne more pokvariti z množenjem z R T jk.

106 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 06 Algoritem 5.2 Ortogonalni razcep z Givensovimi rotacijami. Dana je m n matrika A, kjer je m n. Algoritem matriko A prepiše z matriko R iz razširjenega QR razcepa A = Q R. Po potrebi vrne tudi matriko Q oziroma produkt Q T b. Q = I m j =,..., n k = j +,..., m r = a 2 jj + a2 jk c = a jj /r s = a jk /r [ ] c s A([j k], j : n) = A([j k], j : n) [ s ] c c s b([j k]) = b([j k]) (če rešujemo predoločeni sistem Ax = b) s [ c ] c s Q([j k], : m) = Q([j k], : m) (če potrebujemo matriko Q) s c Q = Q T. Število operacij za reševanje predoločenega sistema Ax = b preko Givensovih rotacij je ) n j= ( m (6 + 6(n j + ) + 6) k=j+ 6 n j= (m j)(n j) 3mn 2 n 3. Če potrebujemo matriko Q, porabimo še dodatnih 6m 2 n 3mn 2 operacij. Linearni sistem velikosti n n tako s pomočjo Givensovih rotacij rešimo z uporabo 2n 3 operacij, za matriko Q pa potrebujemo še dodatnih 3n 3 operacij. 5.5 Householderjeva zrcaljenja Za vektor w R n, kjer je w = 0, definiramo P = I 2 w T w wwt. P je simetrična in ortogonalna matrika, saj je P = P T in P 2 = I. Vsak vektor x R n lahko zapišemo kot x = αw + u, kjer je u w. Dobimo Px = αw + u, kar pomeni, da je P zrcaljenje preko hiperravnine, ki je ortogonalna na w. Matriko P imenujemo Householderjevo zrcaljenje. Množenje s P izvedemo tako, da izračunamo Px = x m (xt w)w, kjer je m = 2 wt w. Vidimo, da matrike P ni potrebno eksplicitno skonstruirati, zadošča da poznamo le vektor w. Če imamo taka neničelna vektorja x in y, da je x 2 = y 2, potem se hitro lahko prepričamo, da velja Px = y, če izberemo w = x y. Naj bo x = 0. Iščemo zrcaljenje, ki v x uniči vse komponente razen prve, torej Px = ±ke, kjer je k = x 2. Veljati mora w = x ke, vprašanje je le, kateri predznak izbrati. Za m dobimo m = 2 wt w = 2 (k2 2kx + k 2 ) = k(k x ).

107 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 07 Zaradi deljenja z m želimo, da bo m čim večji, zato izberemo m = k(k + x ). Izbira je torej w = x + sign(x ) x 2 x 2 Tu moramo paziti, da je funkcija predznaka sign definirana tako, da je { za x 0 sign(x) = za x < 0. Številni programi, vključno z Matlabom, imajo namreč funkcijo sign že vgrajeno, a zanjo velja sign(0) = 0. Število operacij za izračun produkta Pz = z m (zt w)w je 4n + O(), pri čemer m izračunamo vnaprej. Za izračun w in m pa potrebujemo 2n + O() operacij. Z množenjem matrike z ustreznimi zrcaljenji jo lahko spremenimo v zgornjo trapezno obliko. Pri matriki 4 3 tako dobimo A = P 0 P P x n. Pri tem je P i = ( i m i ) i I i 0. m i 0 P i Q T = P 3 P 2 P, torej Q = P P 2 P 3. Namesto računanja Q raje shranimo vektorje w i. Algoritem 5.3 Ortogonalni razcep s Householderjevimi zrcaljenji. Dana je m n matrika A, kjer je m n. Algoritem matriko A prepiše z matriko R iz razširjenega QR razcepa A = Q R. Po potrebi vrne tudi matriko Q oziroma produkt Q T b. Q = I m i =,..., n določi w i R m i+, ki prezrcali A(i : m, i) v ±ke. A(i : m, i : n) = P i A(i : m, i : n) b(i : m) = P i b(i : m) (če rešujemo predoločeni sistem Ax = b) Q(i : m, : n) = P i Q(i : m, : n) (če potrebujemo matriko Q) Q = Q T. Število operacij za reševanje predoločenega sistema Ax = b preko Householderjevih zrcaljenj je n i= [2(m i + ) + 4(n i + )(m i + ) + 4(m i + )] 4 2mn n3. n i= (m i)(n i)

108 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 08 Za matriko Q potrebujemo še dodatnih 4m 2 n 2mn 2 operacij. Linearni sistem velikosti n n s pomočjo Householderjevih zrcaljenj rešimo z uporabo 4 3 n3 operacij, za matriko Q pa potrebujemo še dodatnih 2n 3 operacij. Seveda lahko QR razcep uporabimo tudi za reševanje kvadratnih nesingularnih linearnih sistemov. Uporaba QR razcepa je stabilnejša od uporabe LU razcepa z delnim ali kompletnim pivotiranje. Primerjava obstoječih metod: Reševanje predoločenega sistema Ax = b, m n: normalni sistem: mn 2, MGS: 2mn 2, Givens: 3mn 2 n 3, Householder: 2mn n3. Reševanje kvadratnega sistema Ax = b, m = n: LU razcep: 2 3 n3, Householder: 4 3 n3, Givens: 2n Singularni razcep Izrek 5.3 Za vsako matriko A R m n, m n, obstaja singularni razcep A = UΣV T, kjer sta U R m m in V R n n ortogonalni matriki in je Σ R m n oblike σ... Σ = σ n, kjer so σ σ 2 σ n 0 singularne vrednosti A. Stolpci U = [u u m ] so levi, stolpci V = [v v n ] pa desni singularni vektorji. Dokaz. Ker je A T A simetrična pozitivno semidefinitna matrika, so vse njene lastne vrednosti nenegativne: σ 2 σ2 2 σn 2 0. Ustrezni ortonormirani lastni vektorji naj bodo A T Av i = σi 2v i, i =,..., n. Naj bo σ r > 0 in σ r+ = = σ n = 0. Označimo V := [v v r ] in V 2 := [v r+ v n ]. Iz (AV 2 ) T (AV 2 ) = V2 T AT AV 2 = V2 T [0 0] = 0

109 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 09 sledi AV 2 = 0. Sedaj definiramo u i = σ i Av i za i =,..., r. Vektorji u,..., u r so ortonormirani, saj je u T i u j = σ i σ j v T i AT Av j = σ j σ i v T i v j = δ ij, i, j =,..., r. Označimo U := [u u r ] in izberemo U 2 := [u r+ u n ] tako, da je U = [U U 2 ] ortogonalna matrika. Matrika U T AV ima obliko U T AV = r n r ( r U T AV U T AV ) 2 m r U2 T AV U2 T AV. 2 Desna dva bloka sta zaradi AV 2 = 0 enaka 0. Za i =,..., r in k =,..., m velja u T k Av i = σ i u T k u i = σ i δ ik, torej U2 T AV = 0 in U T AV = diag(σ,..., σ r ). Tako smo dobili singularni razcep A = UΣV T, kjer je S = diag(σ,..., σ r ) in ( r n r ) r S 0 Σ =. m r 0 0 V primeru n < m dobimo singularni razcep tako, da transponiramo singularni razcep za A T. Pomen singularnega razcepa: r se ujema z rang(a), stolpci U tvorijo bazo za ima, stolpci V 2 tvorijo bazo za ker A, stolpci U 2 tvorijo bazo za ker A T, stolpci V tvorijo bazo za ima T. Še nekaj lastnosti singularnega razcepa:. Če je A = A T, potem se da A diagonalizirati kot A = UDU T, U T U = I. Singularni razcep za A je potem A = UΣV T za σ i = λ i in v i = sign(λ i )u i (tu je sign(0) = ). 2. Lastne vrednosti A T A so σ 2,..., σ2 n. Ortonormirani lastni vektorji A T A so desni singularni vektorji v,..., v n. 3. Lastne vrednosti AA T so σ 2,..., σ2 n, 0, }. {{.., 0. Ortonormirani lastni vektorji AA } T so levi m n singularni vektorji u,..., u m. Poleg omenjenega poznamo tudi singularni razcep oblike A = Ũ ΣV T, kjer je Ũ matrika m n z ortonormiranimi stolpci, Σ = diag(σ,..., σ r ), V pa je n n ortogonalna matrika. Ũ se ujema s prvimi n stolpci matrike U, Σ pa je zgornji kvadrat Σ v singularnem razcepu A = UΣV T.

110 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 0 A predstavlja preslikavo iz R n v R m. Geometrijski pomen singularnega razcepa je, da se A z ortogonalnima transformacijama baz U v R m in V v R n spremeni v diagonalno matriko, saj potem velja Av i = σ i u i, i =,..., n. Lema 5.4 Če je A R m n, m n, rang(a) = n, potem je minimum Ax b 2 dosežen pri x = n ui Tb v i. σ i= i Dokaz. Naj bo A = UΣV T in U = ( n m n ( ) ) n S U U 2, Σ =. m n 0 [ Ax b 2 = UΣV T x b 2 = ΣV T x U T b 2 = SV T x U T b ] U2 Tb Minimum je dosežen pri SV T x = U T b oziroma x = VS U T b = n i= u T i b σ i v i. Definicija 5.5 Za matriko A R m n, m n, rang(a) = n, definiramo (Moore Penroseov) psevdoinverz A + R n m kot A + = (A T A) A T. V primeru m < n in rang(a) = m definiramo A + = A T (AA T ).. 2 Rešitev predoločenega sistema polnega ranga Ax = b lahko zapišemo kot x = A + b. Če A ni polnega ranga, je psevdoinverz definiran preko singularnega razcepa. Naj bo A R m n, m n, rang(a) = r in A = UΣV T, kjer je U = ( r m r ) ( r n r r n r ( ) ) r S 0 U U 2, V = V V 2, Σ = m r 0 0 in S = diag(σ,..., σ r ). Potem je kjer je Σ + = A + = VΣ + U T, ( r m r r S ) 0. n r 0 0 Lema 5.6 Matrika X je psevdoinverz A natanko tedaj, ko izpolnjuje Moore Penroseove pogoje: ) AXA = A,

111 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 2) XAX = X, 3) (AX) T = AX, 4) (XA) T = XA. Če je A = UΣV T singularni razcep A in je rang(a) = r, potem direktno iz razcepa sledi A = r σ i u i vi T. i= Izrek 5.7 (Eckart Young Mirsky) Naj bo A = UΣV T singularni razcep matrike A R m n, m n, in rang(a) > k. Naj bo k A k = σ i u i vi T i= oziroma A k = UΣ k V T, kjer je σ... Σ k = σ k Potem velja in min B A 2 = A k A 2 = σ k+ rang(b)=k ( n ) /2 min B A F = A k A F = σi 2. rang(b)=k i=k+ Dokaz. Izrek bomo dokazali le za spektralno normo, kjer je dokaz enostavnejši. Če je rang(b) = k, potem je dim ker B = n k. Naj bo V k+ = [v v k+ ]. Ker je dim imv k+ + dim ker B = n +, obstaja 0 = z imv k+ ker B in z 2 =. Dobimo A B 2 2 (A B)z 2 2 = Az 2 2 = UΣV T z 2 2 = ΣV T z 2 2 σ 2 k+ VT z 2 2 = σ 2 k+. Po drugi strani je očitno, da je A k+ A 2 z = v k+. = σ k+, saj je maksimum V T z 2 dosežen pri To pomeni, da je A k najboljša aproksimacija matrike A z matriko ranga k, σ k+ pa nam pove, kako daleč je A od prostora matrik ranga k. Zgled 5.3 Singularni razcep lahko uporabimo za stiskanje slik. Sliko lahko predstavimo z matriko A, katere elementi predstavljajo nivo sivine. Namesto A vzamemo najboljšo aproksimacijo z matriko ranga k. Pri tem namesto mn podatkov potrebujemo le (m + n)k podatkov za [u u k ] in [σ v σ k v k ].

112 Bor Plestenjak - Numerične metode (verzija: 4. marec 200) 2 k: 3 rel.napaka: kompresija: k: 0 rel.napaka: kompresija: k: 25 rel.napaka: kompresija: Originalna slika Slika 5.2: Uporaba singularnega razcepa za stiskanje slike. Sivinska slika velikosti je po vrsti aproksimirana z matrikami ranga 3, 0 in 25. Primer je na sliki 5.2, kjer matriko velikosti , ki predstavlja sivinsko sliko, aproksimiramo z matrikami ranga 3, 0 in 25. Čeprav je iz slik razvidno, da pristop deluje, se v praksi za aproksimacijo slik uporabljajo še boljše metode, zelo znana je npr. metoda JPEG. Zgled 5.4 Singularni razcep se uporablja tudi v ozadju delovanja spletnih iskalnikov. Ko uporabljamo iskalnike, vpišemo nekaj ključnih besed in potem v kratkem času dobimo seznam strani, kjer se pojavljajo iskane ključne besede. Kako lahko iskalniki tako hitro poiščejo pravi seznam? Lahko si predstavljamo, da so vsi podatki o straneh na spletu shranjeni v m n matriki A, kjer vsaka vrstica predstavlja en spletni dokument, vsak stolpec pa eno izmed ključnih besed, ki se lahko pojavi v kateremkoli dokumentu. V preprostem modelu element a ij matrike A vsebuje število pojavitev j-te ključne besede v i-tem dokumentu. Iz seznama ključnih besed, ki ga vnesemo v obrazec iskalnika, sestavimo vektor y R n, ki ima na j- tem mestu, če iščemo j-to ključno besedo, sicer pa 0. Produkt x = Ay je vektor iz R m. Element x i predstavlja, kako dobro se i-ti dokument ujema z našo poizvedbo. Iskalnik kot rezultat vrne kratek seznam dokumentov, za katere so vrednosti x i največje. Matrika A je ogromna, saj je m lahko velikostnega razreda 0, n pa velikostnega razreda 0 6, in zelo razpršena. Kljub razpršenosti je izračun produkta x = Ay zelo zahteven in je ozko grlo poizvedbe. Rešitev je, da matriko A aproksimiramo z matriko A k majhnega ranga k (npr. k = 20). Če je A k =

Uvod v numerične metode

Uvod v numerične metode Uvod v numerične metode Bor Plestenjak soba 4.04 bor.plestenjak@fmf.uni-lj.si http://www-lp.fmf.uni-lj.si/plestenjak/vaje/vaje.htm asistent: Gašper Jaklič Režim 2 sklopa domačih nalog - 20% pisne ocene

Διαβάστε περισσότερα

13. Jacobijeva metoda za računanje singularnega razcepa

13. Jacobijeva metoda za računanje singularnega razcepa 13. Jacobijeva metoda za računanje singularnega razcepa Bor Plestenjak NLA 25. maj 2010 Bor Plestenjak (NLA) 13. Jacobijeva metoda za računanje singularnega razcepa 25. maj 2010 1 / 12 Enostranska Jacobijeva

Διαβάστε περισσότερα

Numerična analiza. Bor Plestenjak. Fakulteta za matematiko in fiziko. Jadranska 21, 4. nadstropje, soba 4.04

Numerična analiza. Bor Plestenjak. Fakulteta za matematiko in fiziko. Jadranska 21, 4. nadstropje, soba 4.04 Numerična analiza Bor Plestenjak Fakulteta za matematiko in fiziko Jadranska 21, 4. nadstropje, soba 4.04 govorilne ure: četrtek 11-12 oz. po dogovoru bor.plestenjak@fmf.uni-lj.si http://www-lp.fmf.uni-lj.si/plestenjak/vaje/vaje.htm

Διαβάστε περισσότερα

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 5. december 2013 Primer Odvajajmo funkcijo f(x) = x x. Diferencial funkcije Spomnimo se, da je funkcija f odvedljiva v točki

Διαβάστε περισσότερα

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2 Matematika 2 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 2. april 2014 Funkcijske vrste Spomnimo se, kaj je to številska vrsta. Dano imamo neko zaporedje realnih števil a 1, a 2, a

Διαβάστε περισσότερα

Uvod v numerične metode (matematika)

Uvod v numerične metode (matematika) Bor Plestenjak Uvod v numerične metode (matematika) delovna verzija verzija: 5. oktober 202 Kazalo Uvod 5. Numerična matematika................................. 5.2 Plavajoča vejica......................................

Διαβάστε περισσότερα

Uvod v numerične metode

Uvod v numerične metode Uvod v numerične metode B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 1 / 56 Jernej Kozak Jadranska 21, IV. nadstropje, št. 407. Iz dvigala, v desno, do konca hodnika in korak v smeri Krima.

Διαβάστε περισσότερα

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci Linearna diferencialna enačba reda Diferencialna enačba v kateri nastopata neznana funkcija in njen odvod v prvi potenci d f + p= se imenuje linearna diferencialna enačba V primeru ko je f 0 se zgornja

Διαβάστε περισσότερα

Tretja vaja iz matematike 1

Tretja vaja iz matematike 1 Tretja vaja iz matematike Andrej Perne Ljubljana, 00/07 kompleksna števila Polarni zapis kompleksnega števila z = x + iy): z = rcos ϕ + i sin ϕ) = re iϕ Opomba: Velja Eulerjeva formula: e iϕ = cos ϕ +

Διαβάστε περισσότερα

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 22. oktober 2013 Kdaj je zaporedje {a n } konvergentno, smo definirali s pomočjo limite zaporedja. Večkrat pa je dobro vedeti,

Διαβάστε περισσότερα

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 10. december 2013 Izrek (Rolleov izrek) Naj bo f : [a,b] R odvedljiva funkcija in naj bo f(a) = f(b). Potem obstaja vsaj ena

Διαβάστε περισσότερα

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 21. november 2013 Hiperbolične funkcije Hiperbolični sinus sinhx = ex e x 2 20 10 3 2 1 1 2 3 10 20 hiperbolični kosinus coshx

Διαβάστε περισσότερα

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij): 4 vaja iz Matematike 2 (VSŠ) avtorica: Melita Hajdinjak datum: Ljubljana, 2009 matrike Matrika dimenzije m n je pravokotna tabela m n števil, ki ima m vrstic in n stolpcev: a 11 a 12 a 1n a 21 a 22 a 2n

Διαβάστε περισσότερα

Splošno o interpolaciji

Splošno o interpolaciji Splošno o interpolaciji J.Kozak Numerične metode II (FM) 2011-2012 1 / 18 O funkciji f poznamo ali hočemo uporabiti le posamezne podatke, na primer vrednosti r i = f (x i ) v danih točkah x i Izberemo

Διαβάστε περισσότερα

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 14. november 2013 Kvadratni koren polinoma Funkcijo oblike f(x) = p(x), kjer je p polinom, imenujemo kvadratni koren polinoma

Διαβάστε περισσότερα

IZPIT IZ ANALIZE II Maribor,

IZPIT IZ ANALIZE II Maribor, Maribor, 05. 02. 200. (a) Naj bo f : [0, 2] R odvedljiva funkcija z lastnostjo f() = f(2). Dokaži, da obstaja tak c (0, ), da je f (c) = 2f (2c). (b) Naj bo f(x) = 3x 3 4x 2 + 2x +. Poišči tak c (0, ),

Διαβάστε περισσότερα

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 15. oktober 2013 Oglejmo si, kako množimo dve kompleksni števili, dani v polarni obliki. Naj bo z 1 = r 1 (cosϕ 1 +isinϕ 1 )

Διαβάστε περισσότερα

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 12. november 2013 Graf funkcije f : D R, D R, je množica Γ(f) = {(x,f(x)) : x D} R R, torej podmnožica ravnine R 2. Grafi funkcij,

Διαβάστε περισσότερα

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center Državni izpitni center *M40* Osnovna in višja raven MATEMATIKA SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Sobota, 4. junij 0 SPLOŠNA MATURA RIC 0 M-40-- IZPITNA POLA OSNOVNA IN VIŠJA RAVEN 0. Skupaj:

Διαβάστε περισσότερα

8. Posplošeni problem lastnih vrednosti

8. Posplošeni problem lastnih vrednosti 8. Posplošeni problem lastnih vrednosti Bor Plestenjak NLA 13. april 2010 Bor Plestenjak (NLA) 8. Posplošeni problem lastnih vrednosti 13. april 2010 1 / 15 Matrični šop Dani sta kvadratni n n matriki

Διαβάστε περισσότερα

Dragi polinom, kje so tvoje ničle?

Dragi polinom, kje so tvoje ničle? 1 Dragi polinom, kje so tvoje ničle? Vito Vitrih FAMNIT - Izlet v matematično vesolje 17. december 2010 Polinomi: 2 Polinom stopnje n je funkcija p(x) = a n x n + a n 1 x n 1 +... + a 1 x + a 0, a i R.

Διαβάστε περισσότερα

Funkcije več spremenljivk

Funkcije več spremenljivk DODATEK C Funkcije več spremenljivk C.1. Osnovni pojmi Funkcija n spremenljivk je predpis: f : D f R, (x 1, x 2,..., x n ) u = f (x 1, x 2,..., x n ) kjer D f R n imenujemo definicijsko območje funkcije

Διαβάστε περισσότερα

11.5 Metoda karakteristik za hiperbolične PDE

11.5 Metoda karakteristik za hiperbolične PDE 11.5 Metoda karakteristik za hiperbolične PDE Hiperbolična kvazi linearna PDE ima obliko au xx + bu xy + cu yy = f, (1) kjer so a, b, c, f funkcije x, y, u, u x in u y, ter velja b 2 4ac > 0. Če predpostavimo,

Διαβάστε περισσότερα

8. Navadne diferencialne enačbe

8. Navadne diferencialne enačbe 8. Navadne diferencialne enačbe 8.1. Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogoju y(x 0 ) = y 0, kjer je f dana dovolj gladka funkcija

Διαβάστε περισσότερα

Reševanje sistema linearnih

Reševanje sistema linearnih Poglavje III Reševanje sistema linearnih enačb V tem kratkem poglavju bomo obravnavali zelo uporabno in zato pomembno temo linearne algebre eševanje sistemov linearnih enačb. Spoznali bomo Gaussovo (natančneje

Διαβάστε περισσότερα

5.1 Predpogojevanje. K 1 Ax = K 1 b,

5.1 Predpogojevanje. K 1 Ax = K 1 b, 5.1 Predpogojevanje Konvergenca metod podprostorov za reševanje linearnega sistema Ax = b je v veliki meri odvisna od razporeditve lastnih vrednosti (in lastnih vektorjev) matrike A. Kadar je konvergenca

Διαβάστε περισσότερα

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba. 1. Osnovni pojmi Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba. Primer 1.1: Diferencialne enačbe so izrazi: y

Διαβάστε περισσότερα

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK 1 / 24 KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK Štefko Miklavič Univerza na Primorskem MARS, Avgust 2008 Phoenix 2 / 24 Phoenix 3 / 24 Phoenix 4 / 24 Črtna koda 5 / 24 Črtna koda - kontrolni bit 6 / 24

Διαβάστε περισσότερα

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013 Numerične metode, sistemi linearnih enačb B. Jurčič Zlobec Numerične metode FE, 2. december 2013 1 Vsebina 1 z n neznankami. a i1 x 1 + a i2 x 2 + + a in = b i i = 1,..., n V matrični obliki zapišemo:

Διαβάστε περισσότερα

Numerično reševanje. diferencialnih enačb II

Numerično reševanje. diferencialnih enačb II Numerčno reševanje dferencaln enačb I Dferencalne enačbe al ssteme dferencaln enačb rešujemo numerčno z več razlogov:. Ne znamo j rešt analtčno.. Posamezn del dferencalne enačbe podan tabelarčno. 3. Podatke

Διαβάστε περισσότερα

Navadne diferencialne enačbe

Navadne diferencialne enačbe Navadne diferencialne enačbe Navadne diferencialne enačbe prvega reda V celotnem poglavju bo y = dy dx. Diferencialne enačbe z ločljivima spremeljivkama Diferencialna enačba z ločljivima spremeljivkama

Διαβάστε περισσότερα

vezani ekstremi funkcij

vezani ekstremi funkcij 11. vaja iz Matematike 2 (UNI) avtorica: Melita Hajdinjak datum: Ljubljana, 2009 ekstremi funkcij več spremenljivk nadaljevanje vezani ekstremi funkcij Dana je funkcija f(x, y). Zanimajo nas ekstremi nad

Διαβάστε περισσότερα

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik Podobnost matrik Matematika II (FKKT Kemijsko inženirstvo) Matjaž Željko FKKT Kemijsko inženirstvo 14 teden (Zadnja sprememba: 23 maj 213) Matrika A R n n je podobna matriki B R n n, če obstaja obrnljiva

Διαβάστε περισσότερα

3.1 Reševanje nelinearnih sistemov

3.1 Reševanje nelinearnih sistemov 3.1 Reševanje nelinearnih sistemov Rešujemo sistem nelinearnih enačb f 1 (x 1, x 2,..., x n ) = 0 f 2 (x 1, x 2,..., x n ) = 0. f n (x 1, x 2,..., x n ) = 0. Pišemo F (x) = 0, kjer je x R n in F : R n

Διαβάστε περισσότερα

Navadne diferencialne enačbe

Navadne diferencialne enačbe Poglavje 6 Navadne diferencialne enačbe 6.1 Uvod Splošna rešitev navadne diferencialne enačbe n-tega reda F(x, y, y, y,..., y (n) ) = 0 je n-parametrična družina funkcij. Kadar želimo iz splošne rešitve

Διαβάστε περισσότερα

Analiza 2 Rešitve 14. sklopa nalog

Analiza 2 Rešitve 14. sklopa nalog Analiza Rešitve 1 sklopa nalog Navadne diferencialne enačbe višjih redov in sistemi diferencialnih enačb (1) Reši homogene diferencialne enačbe drugega reda s konstantnimi koeficienti: (a) 6 + 8 0, (b)

Διαβάστε περισσότερα

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1 Funkcije več realnih spremenljivk Osnovne definicije Limita in zveznost funkcije več spremenljivk Parcialni odvodi funkcije več spremenljivk Gradient in odvod funkcije več spremenljivk v dani smeri Parcialni

Διαβάστε περισσότερα

Kotne in krožne funkcije

Kotne in krožne funkcije Kotne in krožne funkcije Kotne funkcije v pravokotnem trikotniku Avtor: Rok Kralj, 4.a Gimnazija Vič, 009/10 β a c γ b α sin = a c cos= b c tan = a b cot = b a Sinus kota je razmerje kotu nasprotne katete

Διαβάστε περισσότερα

Problem lastnih vrednosti

Problem lastnih vrednosti Problem lastnih vrednosti Naj bo A R n n. Iščemo lastni par, da zanj velja Ax = λx, kjer je x C n, x 0 (desni) lastni vektor, λ C pa lastna vrednost. Vektor y 0, pri katerem je y H A = λy H, je levi lastni

Διαβάστε περισσότερα

DISKRETNA FOURIERJEVA TRANSFORMACIJA

DISKRETNA FOURIERJEVA TRANSFORMACIJA 29.03.2004 Definicija DFT Outline DFT je linearna transformacija nekega vektorskega prostora dimenzije n nad obsegom K, ki ga označujemo z V K, pri čemer ima slednji lastnost, da vsebuje nek poseben element,

Διαβάστε περισσότερα

Interpolacija in aproksimacija funkcij

Interpolacija in aproksimacija funkcij Poglavje 4 Interpolacija in aproksimacija funkcij Na interpolacijo naletimo, kadar moramo vrednost funkcije, ki ima vrednosti znane le v posameznih točkah (pravimo jim interpolacijske točke), izračunati

Διαβάστε περισσότερα

Matematika 2. Diferencialne enačbe drugega reda

Matematika 2. Diferencialne enačbe drugega reda Matematika 2 Diferencialne enačbe drugega reda (1) Reši homogene diferencialne enačbe drugega reda s konstantnimi koeficienti: (a) y 6y + 8y = 0, (b) y 2y + y = 0, (c) y + y = 0, (d) y + 2y + 2y = 0. Rešitev:

Διαβάστε περισσότερα

Matematika. Funkcije in enačbe

Matematika. Funkcije in enačbe Matematika Funkcije in enačbe (1) Nariši grafe naslednjih funkcij: (a) f() = 1, (b) f() = 3, (c) f() = 3. Rešitev: (a) Linearna funkcija f() = 1 ima začetno vrednost f(0) = 1 in ničlo = 1/. Definirana

Διαβάστε περισσότερα

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja ZNAČILNOSTI FUNKCIJ ZNAČILNOSTI FUNKCIJE, KI SO RAZVIDNE IZ GRAFA. Deinicijsko območje, zaloga vrednosti. Naraščanje in padanje, ekstremi 3. Ukrivljenost 4. Trend na robu deinicijskega območja 5. Periodičnost

Διαβάστε περισσότερα

Numerične metode 2 (finančna matematika)

Numerične metode 2 (finančna matematika) Bor Plestenjak Numerične metode 2 (finančna matematika) delovna verzija verzija:. februar 203 Kazalo Nesimetrični problem lastnih vrednosti 5. Uvod............................................ 5.2 Schurova

Διαβάστε περισσότερα

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO Petra Žigert Pleteršek MATEMATIKA II Maribor, 2016 Kazalo Uvod v linearno algebro 1 1.1 Matrike................................ 1 1.2 Računanje

Διαβάστε περισσότερα

FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22. junij Navodila

FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22. junij Navodila FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22 junij 212 Ime in priimek: Vpisna št: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Veljale bodo samo rešitve na papirju, kjer

Διαβάστε περισσότερα

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant. Poglavje IV Determinanta matrike V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant 1 Definicija Preden definiramo determinanto,

Διαβάστε περισσότερα

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE NEPARAMETRIČNI TESTI pregledovanje tabel hi-kvadrat test as. dr. Nino RODE Parametrični in neparametrični testi S pomočjo z-testa in t-testa preizkušamo domneve o parametrih na vzorcih izračunamo statistike,

Διαβάστε περισσότερα

Osnove matematične analize 2016/17

Osnove matematične analize 2016/17 Osnove matematične analize 216/17 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Kaj je funkcija? Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja

Διαβάστε περισσότερα

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega Izeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega 1. Najosnovnejše o konveksnih funkcijah Definicija. Naj bo X vektorski rostor in D X konveksna množica. Funkcija ϕ: D R je konveksna,

Διαβάστε περισσότερα

α i y n i + h β i f n i = 0, Splošni nastavek je k

α i y n i + h β i f n i = 0, Splošni nastavek je k 10.4 Večkoračne metode Splošni nastavek je k α i y n i + h i=0 k β i f n i = 0, kjer je f i = f(x i, y i ), privzamemo pa še α 0 = 1. Če je β 0 = 0, je metoda eksplicitna, sicer pa implicitna. i=0 Adamsove

Διαβάστε περισσότερα

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu. Kontrolne karte KONTROLNE KARTE Kontrolne karte uporablamo za sprotno spremlane kakovosti izdelka, ki ga izdeluemo v proizvodnem procesu. Izvaamo stalno vzorčene izdelkov, npr. vsako uro, vsake 4 ure.

Διαβάστε περισσότερα

11. Posplošeni problemi lastnih vrednosti

11. Posplošeni problemi lastnih vrednosti 11. Posplošeni problemi lastnih vrednosti Dani sta kvadratni n n matriki A in B. Množico vseh matrik oblike A λb, kjer je λ C, imenujemo matrični šop in označimo z (A, B) ali A λb. Karakteristični polinom

Διαβάστε περισσότερα

Lastne vrednosti in lastni vektorji

Lastne vrednosti in lastni vektorji Poglavje VIII Lastne vrednosti in lastni vektorji V tem poglavju bomo privzeli, da so skalarji v vektorskih prostorih, koeficienti v matrikah itd., kompleksna števila. Algebraične operacije seštevanja,

Διαβάστε περισσότερα

D f, Z f. Lastnosti. Linearna funkcija. Definicija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k,

D f, Z f. Lastnosti. Linearna funkcija. Definicija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k, Linearna funkcija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k, n ᄀ. k smerni koeficient n začetna vrednost D f, Z f Definicijsko območje linearne funkcije so vsa realna števila. Zaloga

Διαβάστε περισσότερα

Problem lastnih vrednosti 1 / 20

Problem lastnih vrednosti 1 / 20 Problem lastnih vrednosti 1 / 20 2 / 20 1 Uvod 2 Potenčna metoda 3 Inverzna iteracija 4 QR iteracija 5 Metode za simetrične matrike Sturmovo zaporedje Jacobijeva iteracija 3 / 20 Uvod Naj bo A R n n. Paru

Διαβάστε περισσότερα

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Matematika Gabrijel Tomšič Bojan Orel Neža Mramor Kosta 6. november 200 Poglavje 2 Zaporedja in številske vrste 2. Zaporedja 2.. Uvod Definicija 2... Zaporedje (a n ) = a, a 2,..., a n,... je predpis,

Διαβάστε περισσότερα

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil. Zaporedja števil V matematiki in fiziki pogosto operiramo s približnimi vrednostmi neke količine. Pri numeričnemu računanju lahko npr. število π aproksimiramo s števili, ki imajo samo končno mnogo neničelnih

Διαβάστε περισσότερα

Zbirka rešenih izpitnih nalog iz numeričnih metod

Zbirka rešenih izpitnih nalog iz numeričnih metod Zbirka rešenih izpitnih nalog iz numeričnih metod Borut Jurčič - Zlobec Andrej Perne Univerza v Ljubljani Fakulteta za elektrotehniko Ljubljana 6 Kazalo Iterativno reševanje nelinearnih enačb 4 Navadna

Διαβάστε περισσότερα

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12 Predizpit, Proseminar A, 15.10.2015 1. Točki A(1, 2) in B(2, b) ležita na paraboli y = ax 2. Točka H leži na y osi in BH je pravokotna na y os. Točka C H leži na nosilki BH tako, da je HB = BC. Parabola

Διαβάστε περισσότερα

INTEGRALI RACIONALNIH FUNKCIJ

INTEGRALI RACIONALNIH FUNKCIJ UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA NIKA HREN INTEGRALI RACIONALNIH FUNKCIJ DIPLOMSKO DELO LJUBLJANA, 203 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA MATEMATIKA - RAČUNALNIŠTVO NIKA HREN Mentor: izr.

Διαβάστε περισσότερα

diferencialne enačbe - nadaljevanje

diferencialne enačbe - nadaljevanje 12. vaja iz Matematike 2 (VSŠ) avtorica: Melita Hajdinjak datum: Ljubljana, 2009 diferencialne enačbe - nadaljevanje Ortogonalne trajektorije Dana je 1-parametrična družina krivulj F(x, y, C) = 0. Ortogonalne

Διαβάστε περισσότερα

Oznake in osnovne definicije

Oznake in osnovne definicije Oznake in osnovne definicije B Plestenjak, JKozak: Numerične metode 2011-2012 1 / 53 Sistem n linearnih enačb z n neznankami 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

Διαβάστε περισσότερα

Tema 1 Osnove navadnih diferencialnih enačb (NDE)

Tema 1 Osnove navadnih diferencialnih enačb (NDE) Matematične metode v fiziki II 2013/14 Tema 1 Osnove navadnih diferencialnih enačb (NDE Diferencialne enačbe v fiziki Večina osnovnih enačb v fiziki je zapisana v obliki diferencialne enačbe. Za primer

Διαβάστε περισσότερα

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti Poglavje XI Kvadratne forme V zadnjem poglavju si bomo ogledali še eno vrsto preslikav, ki jih tudi lahko podamo z matrikami. To so tako imenovane kvadratne forme, ki niso več linearne preslikave. Kvadratne

Διαβάστε περισσότερα

Poglavje 2. Sistemi linearnih enačb

Poglavje 2. Sistemi linearnih enačb Poglavje 2 Sistemi linearnih enačb Najpogostejši problem, na katerega naletimo pri numeričnem računanju, je reševanje sistema linearnih enačb Tak sistem lahko dobimo direktno iz matematične formulacije

Διαβάστε περισσότερα

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK SKUPNE PORAZDELITVE SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK Kovaec vržemo trikrat. Z ozačimo število grbov ri rvem metu ( ali ), z Y a skuo število grbov (,, ali 3). Kako sta sremelivki i Y odvisi

Διαβάστε περισσότερα

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti Poglavje VII Linearne preslikave V tem poglavju bomo vektorske prostore označevali z U,V,W,... Vsi vektorski prostori bodo končnorazsežni. Zaradi enostavnosti bomo privzeli, da je pripadajoči obseg realnih

Διαβάστε περισσότερα

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d) Integralni račun Nedoločeni integral in integracijske metrode. Izračunaj naslednje nedoločene integrale: d 3 +3+ 2 d, (f) (g) (h) (i) (j) (k) (l) + 3 4d, 3 +e +3d, 2 +4+4 d, 3 2 2 + 4 d, d, 6 2 +4 d, 2

Διαβάστε περισσότερα

Algebraične strukture

Algebraične strukture Poglavje V Algebraične strukture V tem poglavju bomo spoznali osnovne algebraične strukture na dani množici. Te so podane z eno ali dvema binarnima operacijama. Binarna operacija paru elementov iz množice

Διαβάστε περισσότερα

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

MATEMATIČNI IZRAZI V MAFIRA WIKIJU I FAKULTETA ZA MATEMATIKO IN FIZIKO Jadranska cesta 19 1000 Ljubljan Ljubljana, 25. marec 2011 MATEMATIČNI IZRAZI V MAFIRA WIKIJU KOMUNICIRANJE V MATEMATIKI Darja Celcer II KAZALO: 1 VSTAVLJANJE MATEMATIČNIH

Διαβάστε περισσότερα

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1 Poglavje II Matrike Matrika je pravokotna tabela realnih števil Na primer: [ ] 1 1 1, 2 3 1 1 0 1 3 2 1, 0 1 4 [ ] 2 7, Matrika je sestavljena iz vrstic in stolpcev Vrstici matrike [ ] 1 1 1 2 3 1 [ ]

Διαβάστε περισσότερα

Enočlenske metode veljajo trenutno za najprimernejše metode v numeričnem reševanju začetnih problemov. Skoraj vse sodijo v

Enočlenske metode veljajo trenutno za najprimernejše metode v numeričnem reševanju začetnih problemov. Skoraj vse sodijo v Enočlenske metode J.Kozak Uvod v numerične metode - / 4 Enočlenske metode veljajo trenutno za najprimernejše metode v numeričnem reševanju začetnih problemov. Skoraj vse sodijo v skupino Runge-Kutta metod.

Διαβάστε περισσότερα

1 Fibonaccijeva stevila

1 Fibonaccijeva stevila 1 Fibonaccijeva stevila Fibonaccijevo število F n, kjer je n N, lahko definiramo kot število načinov zapisa števila n kot vsoto sumandov, enakih 1 ali Na primer, število 4 lahko zapišemo v obliki naslednjih

Διαβάστε περισσότερα

Booleova algebra. Izjave in Booleove spremenljivke

Booleova algebra. Izjave in Booleove spremenljivke Izjave in Booleove spremenljivke vsako izjavo obravnavamo kot spremenljivko če je izjava resnična (pravilna), ima ta spremenljivka vrednost 1, če je neresnična (nepravilna), pa vrednost 0 pravimo, da gre

Διαβάστε περισσότερα

Osnove linearne algebre

Osnove linearne algebre Osnove linearne algebre Matrike Matrika razsežnosti n m je A = a 1 1 a 1 2 a 1 m a 2 1 a 2 2 a 2 m a n 1 a n 2 a n m Če je n = m, tedaj matriko imenujemo kvadratna matrika Elementi matrike so lahko realna

Διαβάστε περισσότερα

VEKTORJI. Operacije z vektorji

VEKTORJI. Operacije z vektorji VEKTORJI Vektorji so matematični objekti, s katerimi opisujemo določene fizikalne količine. V tisku jih označujemo s krepko natisnjenimi črkami (npr. a), pri pisanju pa s puščico ( a). Fizikalne količine,

Διαβάστε περισσότερα

Domača naloga 6: dušeno nihanje

Domača naloga 6: dušeno nihanje Domača naloga 6: dušeno nihanje Vaje iz predmeta Numerične metode v fiziki Igor Grešovnik Kazalo: 1 Naloga 6a Nihanje... 1.1 Enačbe nihanja... 1. Numerično reševanje problema... 3 1..1 Reševanje sistema

Διαβάστε περισσότερα

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič Frekvenčna analiza neperiodičnih signalov Analiza signalov prof. France Mihelič Vpliv postopka daljšanja periode na spekter periodičnega signala Opazujmo družino sodih periodičnih pravokotnih impulzov

Διαβάστε περισσότερα

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija Matematika 1 3. vaja B. Jurčič Zlobec 1 1 Univerza v Ljubljani, Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija Matematika FE, Ljubljana, Slovenija 2011 Določi stekališča zaporedja a

Διαβάστε περισσότερα

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija.

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija. 1 / 46 Univerza v Ljubljani, FE Potenčna Korenska Melita Hajdinjak Matematika I (VS) Kotne 013/14 / 46 Potenčna Potenčna Funkcijo oblike f() = n, kjer je n Z, imenujemo potenčna. Število n imenujemo eksponent.

Διαβάστε περισσότερα

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA III

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA III UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO Petra Žigert Pleteršek MATEMATIKA III Maribor, september 215 ii Kazalo Diferencialni račun vektorskih funkcij 1 1.1 Skalarne funkcije...........................

Διαβάστε περισσότερα

Vaje iz MATEMATIKE 8. Odvod funkcije., pravimo, da je funkcija f odvedljiva v točki x 0 z odvodom. f (x f(x 0 + h) f(x 0 ) 0 ) := lim

Vaje iz MATEMATIKE 8. Odvod funkcije., pravimo, da je funkcija f odvedljiva v točki x 0 z odvodom. f (x f(x 0 + h) f(x 0 ) 0 ) := lim Študij AHITEKTURE IN URBANIZMA, šol l 06/7 Vaje iz MATEMATIKE 8 Odvod funkcije f( Definicija: Naj bo f definirana na neki okolici točke 0 Če obstaja lim 0 +h f( 0 h 0 h, pravimo, da je funkcija f odvedljiva

Διαβάστε περισσότερα

Kombinatorika. rekurzivnih enačb in rodovne funkcije. FMF Matematika Finančna matematika. Vladimir Batagelj. Ljubljana, april

Kombinatorika. rekurzivnih enačb in rodovne funkcije. FMF Matematika Finančna matematika. Vladimir Batagelj. Ljubljana, april FMF Matematika Finančna matematika Kombinatorika Reševanje rekurzivnih enačb in rodovne funkcije Vladimir Batagelj Math fun: Pascal triangle Ljubljana, april 2008 4. Dec 2012 različica: December 4, 2012

Διαβάστε περισσότερα

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Transformator. Delovanje transformatorja I. Delovanje transformatorja II Transformator Transformator je naprava, ki v osnovi pretvarja napetost iz enega nivoja v drugega. Poznamo vrsto različnih izvedb transformatorjev, glede na njihovo specifičnost uporabe:. Energetski transformator.

Διαβάστε περισσότερα

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Matematika 1 Gabrijel Tomšič Bojan Orel Neža Mramor Kosta 21. april 2008 102 Poglavje 4 Odvod 4.1 Definicija odvoda Naj bo funkcija f definirana na intervalu (a, b) in x 0 točka s tega intervala. Vzemimo

Διαβάστε περισσότερα

Definicija 1. Naj bo f : D odp R funkcija. Funkcija F : D odp R je primitivna funkcija funkcije f, če je odvedljiva in če velja F = f.

Definicija 1. Naj bo f : D odp R funkcija. Funkcija F : D odp R je primitivna funkcija funkcije f, če je odvedljiva in če velja F = f. Nedoločeni integral V tem razdelku si bomo pogledali operacijo, ki je na nek način inverzna odvajanju. Za dano funkcijo bomo poskušali poiskati neko drugo funkcijo, katere odvod bo ravno dana funkcija.

Διαβάστε περισσότερα

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK abc MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK ŠTEVILA PRIBLIŽNO RAČUNANJE PRIBLIŽNO RAČUNANJE Ta fosil dinozavra je star 7 milijonov in šest let, pravi paznik v muzeju.??? Ko sem

Διαβάστε περισσότερα

II. LIMITA IN ZVEZNOST FUNKCIJ

II. LIMITA IN ZVEZNOST FUNKCIJ II. LIMITA IN ZVEZNOST FUNKCIJ. Preslikave med množicami Funkcija ali preslikava med dvema množicama A in B je predpis f, ki vsakemu elementu x množice A priredi natanko določen element y množice B. Važno

Διαβάστε περισσότερα

Reševanje sistemov linearnih enačb

Reševanje sistemov linearnih enačb 1 / 37 Reševanje sistemov linearnih enačb Meteorologija z geofiziko, I. stopnja http://ucilnica.fmf.uni-lj.si/ 2 / 37 Matrični zapis sistema linearnih enačb Sistem m linearnih enačb z n neznankami a 11

Διαβάστε περισσότερα

Uporabna matematika za naravoslovce

Uporabna matematika za naravoslovce Uporabna matematika za naravoslovce Zapiski predavanj Študijski programi: Aplikativna kineziologija, Biodiverziteta Študijsko leto 203/4 doc.dr. Barbara Boldin Fakulteta za matematiko, naravoslovje in

Διαβάστε περισσότερα

1. Trikotniki hitrosti

1. Trikotniki hitrosti . Trikotniki hitrosti. Z radialno črpalko želimo črpati vodo pri pogojih okolice z nazivnim pretokom 0 m 3 /h. Notranji premer rotorja je 4 cm, zunanji premer 8 cm, širina rotorja pa je,5 cm. Frekvenca

Διαβάστε περισσότερα

Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA. Polona Oblak

Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA. Polona Oblak Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA Polona Oblak Ljubljana, 04 CIP - Kataložni zapis o publikaciji Narodna in univerzitetna knjižnica, Ljubljana 5(075.8)(0.034.) OBLAK,

Διαβάστε περισσότερα

INŽENIRSKA MATEMATIKA I

INŽENIRSKA MATEMATIKA I INŽENIRSKA MATEMATIKA I REŠENE NALOGE za izredne študente VSŠ Tehnično upravljanje nepremičnin Marjeta Škapin Rugelj Fakulteta za gradbeništvo in geodezijo Kazalo Števila in preslikave 5 Vektorji 6 Analitična

Διαβάστε περισσότερα

Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D R priredi neko število f (x) R.

Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D R priredi neko število f (x) R. II. FUNKCIJE 1. Osnovni pojmi 2. Sestavljanje funkcij 3. Pregled elementarnih funkcij 4. Zveznost Kaj je funkcija? Definicija Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D R priredi

Διαβάστε περισσότερα

ZBIRKA REŠENIH NALOG IZ MATEMATIKE I

ZBIRKA REŠENIH NALOG IZ MATEMATIKE I Univerza v Ljubljani Fakulteta za elektrotehniko Andrej Perne ZBIRKA REŠENIH NALOG IZ MATEMATIKE I Skripta za vaje iz Matematike I (UNI + VSP) Ljubljana, množice Osnovne definicije: Množica A je podmnožica

Διαβάστε περισσότερα

Dodatna poglavja iz linearne algebre za 1. letnik finančne matematike na FMF. Primož Moravec

Dodatna poglavja iz linearne algebre za 1. letnik finančne matematike na FMF. Primož Moravec Dodatna poglavja iz linearne algebre za 1 letnik finančne matematike na FMF Primož Moravec 13 september 2017 1 CIP - Kataložni zapis o publikaciji Narodna in univerzitetna knjižnica, Ljubljana 51264(0758)

Διαβάστε περισσότερα

Delovna točka in napajalna vezja bipolarnih tranzistorjev

Delovna točka in napajalna vezja bipolarnih tranzistorjev KOM L: - Komnikacijska elektronika Delovna točka in napajalna vezja bipolarnih tranzistorjev. Določite izraz za kolektorski tok in napetost napajalnega vezja z enim virom in napetostnim delilnikom na vhod.

Διαβάστε περισσότερα

SEMINARSKA NALOGA Funkciji sin(x) in cos(x)

SEMINARSKA NALOGA Funkciji sin(x) in cos(x) FAKULTETA ZA MATEMATIKO IN FIZIKO Praktična Matematika-VSŠ(BO) Komuniciranje v matematiki SEMINARSKA NALOGA Funkciji sin(x) in cos(x) Avtorica: Špela Marinčič Ljubljana, maj 2011 KAZALO: 1.Uvod...1 2.

Διαβάστε περισσότερα