Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy –Řešení nelineárních rovnic –Numerická integrace Lineární.

Podobné prezentace


Prezentace na téma: "Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy –Řešení nelineárních rovnic –Numerická integrace Lineární."— Transkript prezentace:

1 Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy –Řešení nelineárních rovnic –Numerická integrace Lineární úlohy –Řešení soustav lineárních rovnic –Metoda nejmenších čtverců pro lineární úlohy –Sumace obecné a s korekcí Numerické výpočty v C a C++ –Optimalizace výrazů, optimalizace při překladu

2 Řešení soustavy lineárních rovnic 1.Popis problému 2.Iterační metody Maticové normy + Podmínky ukončení Konkrétní metody 3.Přímé metody Gaussova eliminační metoda Metoda LU rozkladu

3 Popis problému Řešíme soustavu rovnic: Ax = b Kde:

4 Iterační metody Řešíme soustavu rovnic: Ax = b Kde: Hledáme odhad y  x. => Hledáme tedy takové y, pro které existuje malé  A a  b: (A +  A)y = b +  b Velikost matice  A lze určit pomocí maticové normy.

5 Iterační metody - Maticové normy Euklidovská norma pro x  R n : 2 možná zobecnění pro A  C m  n : –Frobeniova norma: –Spektrární norma:

6 Iterační metody - Maticové normy II –Spektrární norma: kde: A T je transponovaná matice A  (B) je maximální vlastní hodnota matice B

7 Iterační metody - Maticové normy III Další normy: Maximální součet sloupce: Maximální součet řádku:

8 Iterační metody - Maticové normy IV Obecné podmínky pro maticové normy:

9 Iterační metody – Podmínky ukončení Řešíme soustavu rovnic:Ax = b Hledáme odhad y  x.  Hledáme tedy takové y, pro které existuje malé  A a  b:(A +  A)y = b +  b Lze použít například následující aproximaci: Hledáme hodnotu:

10 Iterační metody – Podmínky ukončení II Hledáme hodnotu: Využijeme větu: Aplikace: Při iterativním výpočtu vektoru x hodnotíme konvergenci metody pomocí výše uvedené hodnoty. Poznámka: Existuje více metod, jak využít maticové normy ke studiu konvergence.

11 Iterační metody – seznam metod Lze použít většina optimalizačních metod (musí být adaptovány pro práci s maticemi), konkrétně: Nederivační metody Prostá iterace Metody první derivace Spádové metody Metoda konjugovaných gradientů Metody druhé derivace Newtonovské a quazi-Newtonovské metody Nebudeme probírat všechny – jen přehled a zorientování se

12 Iterační metody – prostá iterace Řešíme soustavu rovnic:Ax = b Převedeme soustavu na tvar: X (k+1) = U. X (k) + V, k = 0, 1, …. kde: U čtvercová matice stupně n, V je vektor dimenze n (přesná definice U a V záleží na implementaci) Zvolíme X (0) Iterujeme až do splnění podmínek ukončení

13 Iterační metody – prostá iterace Řešíme soustavu rovnic:Ax = b Konkrétní metody prosté iterace: Jacobiova metoda: Gaussova-Saidlova metoda: Relaxační metoda SOR:

14 Jacobiova metoda - příklad

15 Iterační metody - metoda konjugovaných gradientů Obecně pro metodu konjugovaných gradientů platí: x (k+1) = x (k) +  (k).s (k) s (k+1) = -g (k+1) +  (k).s (k) Pro práci se soustavou lineárních rovnic platí: g (k) = b – A.x (k)

16 Iterační metody - metoda konjugovaných gradientů - příklad Zadání: Najděte x* = (x 1, x 2 ), aby platilo: A.x* = b, přičemž:

17 Iterační metody - metoda konjugovaných gradientů – příklad II Iniciace (k = 0): g (0) = b; s (0) = -g (0) První krok (k = 1): x (1) = g (1) = s (1) =

18 Iterační metody - metoda konjugovaných gradientů – příklad II Iniciace (k = 0): g (0) = b; s (0) = -g (0) První krok (k = 1): x (1) = x (0) +  (0).s (0) = (0.5, 0, 0.5) g (1) = b – A.x (1) = (0,1,0) s (1) = -g (1) +  (0).s (0) = (-0.5, -1, -0,5)

19 Iterační metody - metoda konjugovaných gradientů – příklad III Druhý krok (k = 2): x (2) = x (1) +  (1).s (1) = (1, 1, 1) g (2) = b – A.x (2) = (0,0,0) s (2) = -g (2) +  (1).s (1) = (0, 0, 0)

20 Gaussova eliminační metoda Řešíme soustavu rovnic:Ax = b A musí být regulární. a) Gaussova eliminace: Převedení matice Ax = b na tvar A (n) x = b (n), kde A (n) je horní trojúhelníková matice Složitost  (n 3 ) b) Zpětný chod: Dopočítání x z rovnice A (n) x = b (n) Složitost  (n 2 )

21 Gaussova eliminace Řešíme soustavu rovnic:Ax = b A musí být regulární. Iniciace: A (1) := A, b (1) := b Ukončení: A (n) x = b (n), A (n) je horní trojúhelníková matice

22 Gaussova eliminace 2 k-tý krok metody: Na začátku k-tého kroku (po k-1 iteracích) máme:, kde: A 11 (k) je horní trojúhelníková matice, V tomto kroku provádíme následující: Vynulujeme prvky ležící v k-tém sloupci pod diagonálou.

23 Gaussova eliminace 3 V k-tém kroku provádíme následující: Vynulujeme prvky ležící v k-tém sloupci pod diagonálou: kde: Tímto krokem tedy získáme: A (k+1) a b (k+1) a kk 0 0

24 Gaussova eliminace 4 Pomocí Gaussovy eliminace tedy získáme soustavu: A (n) x = b (n), kde A (n) je horní trojúhelníková matice a lze ji tedy řešit zpětnou substitucí Složitost metody:  (n 3 ) Srovnání s výpočtem pomocí inverzní matice (!x = b.A -1 ): Gaussova eliminace je numericky stabilnější Gaussova eliminace je numericky rychlejší

25 Gaussova eliminace 6 Potenciální problémy GE: Při výpočtu může být a kk (k) nula nebo téměř 0 Při odečítání může dojít ke ztrátě platných cifer, pokud je m ij velké. Příklad: =>

26 Gaussova eliminace 7 Potenciální problémy GE: Při odečítání může dojít ke ztrátě platných cifer, pokud je m ij velké. Příklad: => Pro dostatečně malé  se ale 1- 1/  zaokrouhlí na -1/ . Dostaneme tedy výsledek, který přísluší matici:

27 Gaussova eliminace - parciální pivoting Řešením problémů GE je využití parciálního pivotingu: Na začátku k-tého kroku se prohodí k-tý řádek za r-tý, kde r je určeno vztahem: tzn. prohodíme k-tý řádek s řádkem, který má v k- tém sloupci největší číslo. To zaručuje, že činitelé m ik budou v absolutní hodnotě menší než 1:

28 Gaussova eliminace - parciální pivoting 2 Využití parciálního pivotingu řeší i problém ztráty platných cifer při : Viz příklad: V prvním kroku se 1. řádek zamění s druhým: Výsledek:

29 Gaussova eliminace - úplný parciální Výběr maximálního prvku neeliminované části matice. Přehození řádků i sloupců tak, aby se maximální prvek stal pivotem Z numerického hlediska nepřináší žádné výhody vzhledem k metodě částečného pivotingu Proto větčinou dáváme přednost parciálnímu pivotingu

30 Gaussova eliminace - příklad Řešte Gaussovou eliminační metodou a Gaussovou eliminační meodou s parciálním pivotingem

31 Metoda LU rozkladu (1) Řešíme soustavu rovnic:Ax = b (A musí být regulární) Matici A lze vyjádřit: A = LU, kde: L je dolní trojúhelníková matice (s 1 na diagonále) U je horní trojúhelníková matice Ax = b => LU x = b Nejdříve vypočítáme vektor y z rovnice: Ly = b Potom vektor x z rovnice: Ux = y

32 Metoda LU rozkladu (2) Ax = b => LU x = b Nejdříve vypočítáme vektor y z rovnice: Ly = b Potom vektor x z rovnice: Ux = y Význam: Řešení obou soustav (Ly = b a Ux = y) je analogické jako část „zpětný chod“ v rámci Gaussovy eliminační metody. Má složitost  (n 2 ) a je numericky stabilní. Jak získat matice U a L: Rozkladem matice A po řádcích nebo po sloupcích

33 Metoda LU rozkladu - příklad 1 řádek a 1 sloupec: 1.u 11 = 2 1 řádek a 2 sloupec: 1.u 12 = 5 1 řádek a 3 sloupec: 1.u 13 = 6 2 řádek a 1 sloupec: l 21.u 11 = 4 => u 21 = 2 2 řádek a 2 sloupec: l 21.u u 22 = 13 => u 22 = 3 2 řádek a 3 sloupec: l 21.u u 23 = 19 => u 23 = 7 3 řádek a 1 sloupec: l 31.u 11 = 6 => l 31 = 3 3 řádek a 2 sloupec: l 31.u 12 + l 32.u 22 = 27 => l 32 = 4 3 řádek a 3 sloupec: l 31.u 13 + l 32.u 23 + u 33 = 50 => u 33 = 4

34 Metoda LU rozkladu – příklad (2) Ly = b=> Ux = y=>


Stáhnout ppt "Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy –Řešení nelineárních rovnic –Numerická integrace Lineární."

Podobné prezentace


Reklamy Google