Sposoby tworzenia uwarunkowania wstępnego dla metody gradientów sprzężonych



Podobne dokumenty
Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Metody uporządkowania

Metody uporządkowania

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody numeryczne II. Układy równań liniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Plan wykładu. Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6 p. Rozwiazywanie układów równań. metody bezpośrednie,

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Układy równań liniowych. Krzysztof Patan

Numeryczna algebra liniowa

Matematyka stosowana i metody numeryczne

Metody numeryczne Wykład 4

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Wstęp do metod numerycznych Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Pierwsze komputery, np. ENIAC w 1946r. Obliczenia dotyczyły obiektów: o bardzo prostych geometriach (najczęściej modelowanych jako jednowymiarowe)

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Dr inż. hab. Siergiej Fialko, IF-PK,

Optymalizacja ciągła

Karta (sylabus) przedmiotu

III TUTORIAL Z METOD OBLICZENIOWYCH

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Rozwiązywanie układów równań liniowych

Metoda elementów skończonych w mechanice konstrukcji / Gustaw Rakowski, Zbigniew Kacprzyk. wyd. 3 popr. Warszawa, cop

Matematyka stosowana i metody numeryczne

Modyfikacja schematu SCPF obliczeń energii polaryzacji

8. PODSTAWY ANALIZY NIELINIOWEJ

5. Rozwiązywanie układów równań liniowych

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wykład 5. Metoda eliminacji Gaussa

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Zaawansowane metody numeryczne

Zaawansowane metody numeryczne

KARTA MODUŁU KSZTAŁCENIA

INTERPOLACJA I APROKSYMACJA FUNKCJI

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. P. F. Góra

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi. Plan wykładu:

Sieci obliczeniowe poprawny dobór i modelowanie

Bardzo łatwa lista powtórkowa

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

1 Równania nieliniowe

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

3. Macierze i Układy Równań Liniowych

Rozwiązywanie układów równań liniowych metody przybliżone Materiały pomocnicze do ćwiczeń z metod numerycznych

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Obliczenia iteracyjne

A A A A A A A A A n n

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

FLAC Fast Lagrangian Analysis of Continua. Marek Cała Katedra Geomechaniki, Budownictwa i Geotechniki

4. ELEMENTY PŁASKIEGO STANU NAPRĘŻEŃ I ODKSZTAŁCEŃ

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

1. Wykład NWD, NWW i algorytm Euklidesa.

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Optymalizacja ciągła

Metody Obliczeniowe w Nauce i Technice

Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów. P. F. Góra

KADD Minimalizacja funkcji

Metoda dekompozycji przestrzeni i jej zastosowania

Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

x y

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

Formy kwadratowe. Rozdział 10

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Metoda elementów skończonych

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

FLAC Fast Lagrangian Analysis of Continua

Wykład III Układy równań liniowych i dekompozycje macierzy

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną.

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

Metody numeryczne w przykładach

Paweł Gładki. Algebra. pgladki/

Egzamin z Metod Numerycznych ZSI, Grupa: A

Stabilność II Metody Lapunowa badania stabilności

Metody numeryczne I Równania nieliniowe

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Metody numeryczne Wykład 7

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

Programowanie celowe #1

8. Metody rozwiązywania układu równań

Wartości i wektory własne

Wstęp do metod numerycznych Faktoryzacja macierzy. P. F. Góra

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Wprowadzenie do Mathcada 1

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Wstęp do metod numerycznych SVD, metody iteracyjne i metoda gradientów. P. F. Góra

Zastosowanie MES do rozwiązania problemu ustalonego przepływu ciepła w obszarze 2D

Transkrypt:

Sposoby tworzenia uwarunkowania wstępnego dla metody gradientów sprzężonych Ten fakt, że matematyka obliczeniowa nie daje żadnych przepisów dla tworzenia operatora uwarunkowania wstępnego B, doprowadzi do tego, że na dzień dzisiejszy istnieje wielu różnych sposobów tworżenia tego operatora. Rozważymy kilka z nich. Incomplete Cholesky factorization (Niepełna faktoryzacja Choleckiego) Główna idea tego podejścia polega na tym, że jeśli A = B, zbieżność do dokładnego rozwiązania odbywa się za jedną iteracje. Więc jeśli B -1 przyjąć jako część sfaktoryzowanej macierzy A, to B -1 jest przybliżeniem najlepszego z punktu widzenia ilości iteracji preconditioningu A -1. 1

Usunięcie części elementów przy faktoryzacji macierzy A powoduje to, że niepełny faktor Choleckiego H zajmuje znacznie mniej miejsca w pamięci komputera w stosunku do pełnego faktora L i wymaga mniejszego czasu faktoryzacji. Istnieje dwie generalne idei zmniejszenia ilości elementów w niepełnym faktorze Choleckiego H. Tu B = H H T ; A = L L T. o Usunięcie wszystkich elementów, który powstają na pozycjach zerowych elementów macierzy źródłowej A w trakcie faktoryzacji (ilość elementów w macierzy H jest taką samą jak i w macierzy A L,gdzie A L dolny trójkąt macierzy A). To tak zwany incomplete Cholesky factorization by position. Takie podejście jest proste w realizacji, ale jakość uwarunkowania zwykłe nie jest wysoką dla wielu zadań praktycznych przyspieszenie zbieżności jest za słabe. Przy usunięci części elementów przy niepełnej faktoryzacji często się okazuje, że macierz przestaje być dodatnio określoną. Jeśli to się zdarza, faktoryzacje pozostaje przerwaną, w macierzy źródłowej A pozadiagonalne elementy są zmniejszone i faktoryzacja zaczyna się od początku. o Bardziej skutecznym podejściem jest incomplete Cholesky factorization by value. Uważamy, że małymi za wartością elementami macierzy L (pełnego faktora Choleckiego) można pominąć w stosunku do innych elementów: 2

2 Aij <ψaii Ajj, j = 1,2,..., N; i = j, j + 1,..., N, gdzie 0 <ψ < 1 - parametr rezygnacji (rejection parameter) Obliczenie kolumny j przy niepełnej faktoryzacji macierzy. Rezygnacja elementu A ij Po każdej rezygnacji macierz H j może stracić dodatnią określoność, dla tego pozostaje wprowadzona macierz poprawienia błędu E j : 3

j j j ii ij jj ij H = L + E D = A A ii jj A, D = A A jj ii A Macierz L j > 0 (dodatnio określona), E j 0 (półokreślona), z tego wynika, że suma dodatnio określonej macierzy i półokreślonej doprowadzi do macierzy dodatnio określonej H j jest macierz dodatnio określoną. Im mniej wartość ψ, tym lepiej właściwości uwarunkowania wstępnego. H L ( A ) C B ψ 0 1 1 Z innej strony, dla małych wartości ψ : o Czas niepełnej faktoryzacji dąży do czasu pełnej faktoryzacji o Rozmiar macierzy H dąży do rozmiaru macierzy L problem z RAM o Czas każdej iteracji drastycznie rośnie 4

Wyjściem z danej sytuacji jest zastosowanie technik macierzy rzadkich do niepełnej faktoryzacji Choleckiego sparse incomplete Cholesky factorization by value. Specjalnie napisany solwer bezpośredni dla niepełnej faktoryzacji macierzy rzadkich nadaje możliwość istotnie zmniejszyć granice rezygnacji ψ w porównaniu z solwerem zwykłym (incomplete skyline). To istotnie przyspiesza zbieżność. 5

Metoda gradientów sprzężonych z wielopoziomowym agregatowym uwarunkowaniem wstępnym (Aggregation Iterative Multilevel Solver AMIS) Generalna idea metod wielopoziomowych iteracyjnych polega na tym, że metody iteracyjne szybko się zbiegają po górnych modach rozwiązania i wolnie po niskich modach. Jeśli rozłożyć wektor rozwiązania zagadnienia Ax = b po wektorach własnych operatora A = N i = Avi = λivi, i = 1,2,..., N; 0 λ1 λ2... λn x αiv 1 i 6

to górne mody odpowiadają składowym z dużymi wartościami indeksu i, a niskie z małymi (wykład w11). Dla przyspieszenia zbieżności po niskich modach wprowadzimy tak zwaną model zgrubnego poziomu, zadaniem której jest przewidywanie aproksymacji tych mód. Znając rozwiązanie dla modelu zgrubnego poziomu (zwykłe rozmiar zadania dla modelu zgrubnego jest stosownie nie wielki można użyć metodę bezpośrednią), wykonujemy interpolacje tego rozwiązania na poziom modeluźródłowego. Jeśli A c to jest operator modelu zgrubnego poziomu, a odpowiednie równanie dla modelu zgrubnego poziomu A c x c = b c x c to interpolacją rozwiązania poziomuźródłowego jest wzór x * = Q x c, gdzie Q prostokątna macierz o rozmiarze N х n, N rozmiar zadania modelu źródłowego, n modelu zgrubnego ( N > n ). Jeśli podstawić wektor po interpolacji x * w równanie modeluźródłowego, to powstaje wektor rezydualny r = b Ax *. Można udowodnić, 7

że największe składowe tego wektora odpowiadają górnym (zwykłe szybko oscylującym) modom. Więc dla tłumienia tych szybko oscylujących rezyduów (ta procedura dostała nazwę wygładzenia) można skutecznie zastosować kilka kroków wewnętrznego procesu iteracyjnego, który, jak było pokazane w w11, szybko się zbiega dla mód górnych (więc szybko doprowadzi do wartości małych górne składowe wektora rezydualnego). Podsumowanie: dla metod wielopoziomowych występuje rozdzielenie funkcji uwarunkowania wstępnego: model zgrubnego poziomu niesie odpowiedzialność za przewidywanie niskich mód rozwiązania (za zbieżność po niskich modach), a procedura wygładzenia za szybkie tłumienie górnych składowych wektora rezydualnego (za zbieżność po górnych modach). Połączenie zalet metody gradientów sprzężonych i podejścia wielopoziomowego leży w osnowie metody gradientów sprzężonych z wielopoziomowym uwarunkowaniem wstępnym. 8

Generalny algorytm metody gradientów sprzężonych z wielopoziomowym uwarunkowaniem wstępnym Tworzymy model zgrubnego poziomu. W metodach wielosiatkowych to jest tworzone przy wygenerowaniu różnych siatek (wielopoziomowość geometryczna). Można to tworzyć na podstawie manipulowania z równaniami w macierzy A, na przykład, stworzyć bazu w podprzestrzeni o rozmiarze n < N, używając n kroków metody Lanczosa (metody algebraiczne). W metodzie agregatowej wielopoziomowej (solwer AMIS) dla zadań mechaniki konstrukcji jest zastosowana idea nakładania więzów sztywnych na węzły sąsiednie (agregacja). Tworzymy operatory restriction prolongation w zależności od sposobu przygotowania modelu poziomu zgróbnego. To jest macierzy prostokątne Q, Q T, które formułują związek wektorów modelu źródłowego z wektorami modelu zgrubnego i odwrotnie. Tworzymy macierz modelu zgrubnego poziomu (indeksy f, c oznaczają fine level (poziomźródłowy) i coarse level (poziom zgrubny) odpowiednio: Ax f AQx = r c f, = r f x f = Qx Q T c, r c = Q c T T Q 123 AQx A c r f = Q T { f c c c r c r A x = r 9

Sfaktoryzujemy macierz zgrubnego poziomu: A = L c c L T c Dalej w procesie iteracyjnym metody gradientów sprzężonych (wykład w11) zamiast jawnego rozwiązywania układu równań Bz k = r k z k wykonujemy taką procedurę: Rzutujemy wektor rezydualny modelu źródłowego na model zgrubny: r c = Q T r f Rozwiązujemy zadanie na poziomie modelu zgrubnego (używając metodę bezpośrednią): L L T z c = r c Interpolujemy rozwiązanie na poziomie modelu zgrubnego na poziom modeluźródłowego: z* f = Q z c Wygładzamy szybko oscylujące składowe wektora rezydualnego: z* f z f. Dokładne rozwiązanie można przedstawić w postaci z f = z * f + z^f, gdzie z^f wektor korekcji, który trzeba dodać do wektora z * f (po interpolacji),żeby dostać wektor rozwiązania dokładnego z f. 10

Wektor korekcji będziemy poszukiwali z warunku Bz f = r f B(z* f + z^f) = r f B z^f = r f Bz * f B = A A z^f = r f Az * f z^f (a) Jeśli rozwiązywać równanie (a) w sposób dokładny, to dostaniemy zbieżność do rozwiązania dokładnego za 1 iteracje. Przecież koszt takiego rozwiązania to jest koszt metody bezpośredniej. Celem naszym jest tu nie odnalezienie dokładnej różnicy pomiędzy dokładnym wektorem z f i wektorem z *, a wytłumienie szybko oscylujących rezyduów. Zastosujemy dla tego kilka kroków iteracji wewnętrznych, dla tego że metody iteracyjne szybko wytłumiają szybko oscylujące komponenty wektora rezydualnego (mają szybką zbieżność po górnych modach rozwiązania W11). Wybieramy dla iteracji wewnętrznych metodę najszybszego spadu. Dla przyspieszenia wygładzenia przy wykonywaniu iteracji wewnętrznych metodą najszybszego spadu używamy również uwarunkowanie wstępne (symetryczne uwarunkowanie Gaussa Seidela, incomplete Cholesky factorization by position, by value). 11

Przykład zadania dużego 12

Modeli obliczeniowe konstrukcji budowlanych są wspaniałymi testami dla sprawdzenie stabilności zbieżności solverów iteracyjnych. Takie modeli często doprowadzają do źle uwarunkowanych układów równań. Powodami dla tego służą obecność różnych typów elementów skończonych w obszarze modelu obliczeniowego i elementów cienkościennych, duży rozrzut sztywności elementów konstrukcji, nieidealność siatek dla złożonych obszarów obliczeniowych i wielu różnych. 13

Budynek wielopiętrowy 1 244 718 równań, rozrzut sztywności wynosi 13 890 952 razy! Najbardziej sztywne elementy płytowe mają grubość h = 2 m (płyta fundamentowa), a grubość powłoki kopula wynosi h = 0.01 m Komputer: Pentium-IV (CPU 3.21 GHz, RAM 2 GB) tol = 10 8 Kopula (najbardziej słabe elementy) Płyta fundamentowa (najbardziej sztywne elementy 14

Model obliczeniowy kościoła (316 509 równań) Źle uwarunkowanie układu równań powstaje w skutek złożoności geometrii konstrukcji, a również w skutek bardzo słabych gruntów posadowienia. 15

Cienkościenna konstrukcja powłokowa (228 486 równań) tol = 10 4 Stosunek h/r = 1:700 Żle uwarunkowany układ równań 16

Model MES budynku 44 piętrowego 1 956 634 równania 17

Porównywanie wydajności różnych metod b Ax Dokładność rozwiązania dla metod iteracyjnych: b 2 k 2 tol = 10 4 Metoda Bezpośrednia (multifrontal) Czas rozwiązywania Pamięć główna, MB 2 h 20 min 1.3 GB (7.2 GB rozmiar macierzy sfaktoryzowanej ) Ilość iteracji ICCG0 3 h 12 min 0.5 GB 8470 / 7944 / 7368 SICCG 27 min 25 s 1.5 GB 562 / 520 / 509 AMIS_SICCG 13 min 20 s 1.76 GB 31 / 31 / 30 - ICCG0 incomplete Cholesky factorization by position SICCG sparse incomplete Cholesky factorization by value AMIS_SICCG wielopoziomowy solwer iteracyjny agregatowy z wygładzeniem SICCG (4 poziomy agregacji 160 462 równania dla modeli zgrubnego poziomu, 4 iteracji przy wygładzeniu) 18

19

20