1 / 34

Sylabus

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í

Download Presentation

Sylabus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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, Vje 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) 0 akk 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: (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=> LUx = 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=> LUx = 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.u12+ 1.u22= 13=> u22 = 3 2řádek a 3 sloupec: l21.u13+ 1.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 =>

More Related