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
Popis problému Iterační metody Maticové normy + Podmínky ukončení Konkrétní metody 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  Rn: 2 možná zobecnění pro A  Cmn: Frobeniova norma: Spektrární norma:

6 Iterační metody - Maticové normy II
Spektrární norma: kde: AT 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) + a(k).s(k) s(k+1) = -g(k+1) + b(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* = (x1, x2), 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) + a(0).s(0) = (0.5, 0, 0.5) g(1) = b – A.x(1) = (0,1,0) s(1) = -g(1) + b(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) + a(1).s(1) = (1, 1, 1) g(2) = b – A.x(2) = (0,0,0) s(2) = -g(2) + b(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 (n3) b) Zpětný chod: Dopočítání x z rovnice A(n) x = b(n) Složitost (n2)

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: A11(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) akk

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: (n3) 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 akk(k) nula nebo téměř 0 Při odečítání může dojít ke ztrátě platných cifer, pokud je mij 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 mij 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é mik 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 (n2) 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.u11 = 2 1 řádek a 2 sloupec: 1.u12 = 5 1 řádek a 3 sloupec: 1.u13 = 6 2 řádek a 1 sloupec: l21.u11 = 4 => u21 = 2 2 řádek a 2 sloupec: l21.u u22 = 13 => u22 = 3 2 řádek a 3 sloupec: l21.u u23 = 19 => u23 = 7 3 řádek a 1 sloupec: l31.u11 = 6 => l31 = 3 3 řádek a 2 sloupec: l31.u12 + l32.u22 = 27 => l32 = 4 3 řádek a 3 sloupec: l31.u13 + l32.u23 + u33 = 50 => u33 = 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