Predavanje 7 [755,61 KiB]
Transcript of Predavanje 7 [755,61 KiB]
![Page 1: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/1.jpg)
NUMERIČKE METODE I
MATEMATIČKO MODELIRANJE
7. PREDAVANJE
![Page 2: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/2.jpg)
LINEARNA ALGEBRA U MATEMATIČKOM MODELIRANJU I NUMERIČKIM METODAMA
RJEŠAVANJE SUSTAVA LINEARNIH JEDNADŽBI
![Page 3: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/3.jpg)
l algoritmi za rješavanje skupova linearnih jednadžbi zasnovani na Gaussovoj eliminaciji
l dekompozicija matrice u produkt gornje i donje trokutne matrice, primjena u rješavanju linearnih jednadžbi
l proračun inverzne matrice, određivanje determinante
l Ilustrativni primjer problema koji zahtjeva rješavanje sustava linearnih jednadžbi: problem rubnih vrijednosti
SUSTAVI LINEARNIH JEDNADŽBI
RUBNI UVJETI
![Page 4: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/4.jpg)
l druga derivacija se može aproksimirati sa
l gdje je interval podijeljen na n podintervala, korak iznosi
l funkcija se računa za vrijednosti , l diferencijalni operator jednadžbe:
SUSTAVI LINEARNIH JEDNADŽBI
![Page 5: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/5.jpg)
SUSTAVI LINEARNIH JEDNADŽBI
l početna diferencijalna jednadžba se može zapisati kao diskretizirana jednadžba sa aproksimiranim derivacijama
l ovdje je
l rubni uvjeti su
l problem koji treba riješiti se može raspisati u matričnom obliku kao sustav linearnih jednadžbi
![Page 6: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/6.jpg)
SUSTAVI LINEARNIH JEDNADŽBI
l odgovarajući vektori:
l Dakle, treba riješiti sustav n linearnih jednadžbi
![Page 7: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/7.jpg)
GAUSSOVA ELIMINACIJA
l treba riješiti skup linearnih jednadžbi uz pretpostavku da matrica A nije singularna i matrični elementi na dijagonali
l kao primjer uzmimo matricu
l Gaussova eliminacija polazi od primjene prve jednadžbe da se eliminira nepoznanica iz preostalih jednadžbi
l zatim se pomoću druge jednadžbe eliminira nepoznanica itd…
![Page 8: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/8.jpg)
GAUSSOVA ELIMINACIJA
l nakon n-1 eliminacija dobije se gornja trokutasta matrica
l sustav jednadžbi se sada može riješiti rekurzivno, polazeći od , tzv. supstitucija unazad
![Page 9: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/9.jpg)
GAUSSOVA ELIMINACIJA
l da bi se dobila trodijagonalna matrica, prva jednadžba množi se sa i onda oduzima od j-te jednadžbe,
![Page 10: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/10.jpg)
l vektor sa desne strane jednadžbe:
GAUSSOVA ELIMINACIJA
l općeniti izrazi:
![Page 11: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/11.jpg)
l moguća greška zbog ograničene preciznosti u članovima tipa → potrebno je ukloniti male dijagonalne
elemente permutacijama redova i stupaca matrice
l npr. u slučaju skupa linearnih jednadžbi
mali element na dijagonali se može ukloniti permutacijom:
GAUSSOVA ELIMINACIJA
![Page 12: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/12.jpg)
l najbolja numerička preciznost rezultata može se dobiti permutiranjem redova i stupaca tako da numerički najveće vrijednosti u podmatrici koja još nije obrađena budu postavljene na dijagonalu
l Gaussova eliminacija zahtjeva velik broj “floating-point” operacija (flop) :n x n matrica zahtjeva flop
l ako procesor izvodi flop u sekundi (flops), za matricu n=10000 potrebno je 1000 sekundi
l algoritam Gaussove eliminacije je rijetko korišten u proračunu determinante → češće u primjeni je tzv. LU dekompozicija
GAUSSOVA ELIMINACIJA
![Page 13: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/13.jpg)
LU DEKOMPOZICIJA MATRICE
l L(“LOWER”)U(“UPPER”) dekompozicija, poznata i kao Crout ili Doolittle faktorizacija matrice
l dekompozicija matrice A pomoću matrice B sa elementima ispod dijagonale (“Lower”) i matrice C koja ima dijagonalne elemente i elemente iznad dijagonale (“Upper”)
l LU dekompozicija se koristi u nizu algoritama linearne algebre, kao i u rješavanju sustava linearnih jednadžbi
![Page 14: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/14.jpg)
l Matrica A se može LU faktorizirati ako je njezina determinanta različita od 0
l Ako postoji LU faktorizacija i matrica A nije singularna, onda je LU faktorizacija jedinstvena i determinanta matrice A je dana sa
LU DEKOMPOZICIJA MATRICE
l Algoritam za izračun matrica B i C u primjeru 4x4 matrice: kreće se od prvog stupca A matrice:
![Page 15: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/15.jpg)
l za drugi stupac A matrice:
LU DEKOMPOZICIJA MATRICE
l kada se prelazi iz prvog na drugi stupac, više ne trebamo elemente, općenito svojstvo kroz čitav algoritam l generalizirana procedura se može zapisati kao
![Page 16: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/16.jpg)
Sumarni algoritam za LU dekompoziciju po stupcima (j): l 1) izračunati prvi element l 2) izračunati elemente
l 3) izračunati dijagonalne elemente
l 4) izračunati elemente (dijagonalni elementi su 1)
LU DEKOMPOZICIJA MATRICE
![Page 17: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/17.jpg)
l u slučaju , gdje je , , može se primjeniti i algoritam Cholesky faktorizacije
l prijelomna točka kod LU dekompozicije je slučaj kada je blizu ili jednak nuli, što rezultira ozbiljnim problemom Npr. 2 x 2 matrica U ovom slučaju algoritam za LU dekompoziciju ne radi jer Matrica se može malo modificirati da se ukloni nula:
![Page 18: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/18.jpg)
l za modificiranu matricu dobije se
l B i C matrice dobivene LU dekompozicijom:
l sada je LU dekompozicija stabilna, ali nije stabilna unazad jer zbog ograničenja preciznosti
LU DEKOMPOZICIJA MATRICE
![Page 19: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/19.jpg)
LU DEKOMPOZICIJA MATRICE
l rješenje problema je u permutacijama redova i stupaca i LU dekompozicija se izvodi sa modificiranom matricom
![Page 20: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/20.jpg)
l LU dekompozicija može se izvesti koristeći postojeću funkciju iz “Numerical Recipes in C”
l tekst knjige na webu: www.nrbook.com
Potrebne funkcije nalaze se u lib.cpp i lib.h (web).
l LU dekompozicija:
Matrice dobivene LU dekompozicijom su zapisane kompaktno (matrica C na dijagonali i iznad dijagonale, matrica B ispod dijagonale) u polje umjesto originalne matrice a.
LU DEKOMPOZICIJA MATRICE
![Page 21: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/21.jpg)
RJEŠAVANJE SUSTAVA LINEARNIH JEDNADŽBI
l koristeći LU dekompoziciju, sustav linearnih jednadžbi se može jednostavno riješiti
l zapis u matričnom obliku:
l Primjenom LU dekompozicije,
l jednadžba se može rješavati u dva koraka,
![Page 22: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/22.jpg)
l u slučaju 4x4 matrice,
RJEŠAVANJE SUSTAVA LINEARNIH JEDNADŽBI
![Page 23: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/23.jpg)
RJEŠAVANJE SUSTAVA LINEARNIH JEDNADŽBI
l sumarni pregled algoritma za rješavanje sustava jednadžbi: 1) Definirati matricu A i vektor w sa odgovarajućim dimenzijama 2) LU dekompozicija matrice → može se koristiti funkcija
3) Primjena LU dekomponirane matrice u rješavanju sustava jednadžbi sa ciljem određivanja nepoznanica x
→ može se koristiti funkcija Funkcija koristi LU dekomponiranu matricu a i vektor w, i vraća rješenje x u polju gdje je na ulazu bio pohranjen vektor w
![Page 24: Predavanje 7 [755,61 KiB]](https://reader038.fdocuments.net/reader038/viewer/2022102607/589c5d4f1a28abc24a8b88ec/html5/thumbnails/24.jpg)
ZADATAK 7 l Napišite program koji izvodi LU dekompoziciju proizvoljne
matrice A (dozvoljeno koristenje funkcija iz Num. Recipes).
l 1) Ispisati matricu A i matrice dobivene LU dekompozicijom i provjeriti na jednostavnom primjeru (npr. 3x3 matrica) da je dekompozicija dobro napravljena.
l 2) Koristeći LU dekompoziciju, izračunati determinantu matrice A, provjeriti rezultat na primjeru (npr. 3x3 matrica)
l 3) Primjeniti LU dekompoziciju u rješavanju sustava n linearnih jednadžbi sa n nepoznanica (dozvoljeno je korištenje funkcije lubksb iz Numerical Recipes). Treba provjeriti da dobiveno rješenje doista odgovara polaznim jednadžbama.