Macierz hierarchiczna

W matematyce numerycznej macierze hierarchiczne ( macierze H ) są używane jako rzadkie przybliżenia macierzy nierzadkich. Chociaż macierz wymiaru można skutecznie reprezentować w jednostkach pamięci, przechowując tylko jej niezerowe wpisy, nierzadka macierz wymagałaby jednostek pamięci, a używanie tego typu macierzy do rozwiązywania dużych problemów byłoby zatem zbyt kosztowne pod względem pamięci i czasu obliczeniowego. Macierze hierarchiczne zapewniają przybliżenie wymagające tylko jednostek pamięci, gdzie jest parametrem kontrolującym dokładność przybliżenia. W typowych zastosowaniach, np. Podczas dyskretyzacji równań całkowych, warunkowania wynikowych układów równań liniowych lub rozwiązywania eliptycznych równań różniczkowych cząstkowych, stopień proporcjonalny do z małą stałą wystarczająca do zapewnienia dokładności . W porównaniu z wieloma innymi reprezentacjami macierzy nierzadkich z rzadkimi danymi, macierze hierarchiczne mają dużą zaletę: wyniki operacji arytmetycznych na macierzach, takich jak mnożenie macierzy, faktoryzacja lub odwracanie, można przybliżyć w , gdzie

Podstawowy pomysł

Macierze hierarchiczne opierają się na lokalnych przybliżeniach niskiego rzędu: niech indeksów i niech oznaczają macierz, którą mamy przybliżyć. ) możemy znaleźć podzbiory że można przybliżyć za pomocą macierzy rang - . Przybliżenie to można przedstawić w postaci rozłożonej na czynniki z czynnikami . Podczas gdy standardowa reprezentacja macierzy wymaga jednostek pamięci, faktoryzacja _ jeśli nie jest zbyt duży, wymagania dotyczące przechowywania są znacznie zmniejszone.

Aby przybliżyć całą macierz się ją na rodzinę podmacierzy. Duże podmacierze są przechowywane w reprezentacji faktoryzowanej, podczas gdy małe podmacierze są przechowywane w reprezentacji standardowej w celu poprawy wydajności.

Macierze niskiego rzędu są blisko spokrewnione ze zdegenerowanymi rozwinięciami używanymi w grupowaniu paneli i szybką metodą wielobiegunową do aproksymacji operatorów całkowych. W tym sensie macierze hierarchiczne można uznać za algebraiczne odpowiedniki tych technik.

Zastosowanie do operatorów całkowych

Macierze hierarchiczne są z powodzeniem wykorzystywane do rozwiązywania równań całkowych, np. jedno- i dwuwarstwowych operatorów potencjału występujących w metodzie elementów brzegowych . Typowy operator ma postać

Metoda Galerkina prowadzi do wpisów macierzowych postaci

gdzie i to rodziny funkcji bazowych elementów skończonych. Jeśli funkcja jądra jest wystarczająco gładka, możemy ją przybliżyć za pomocą interpolacji wielomianowej , aby uzyskać

gdzie to rodzina punktów interpolacji i to odpowiednia rodzina wielomianów Lagrange'a . Zastąpienie przez przybliżenie

ze współczynnikami

Jeśli wybierzemy i użyjemy tych samych punktów interpolacji dla wszystkich , otrzymujemy .

Oczywiście każde inne przybliżenie oddzielające zmienne, np. podzielić podwójną całkę na dwie pojedyncze całki, a tym samym dojść do podobnego rozłożonego na czynniki niskiego - macierz rang.

Szczególnie interesujące są techniki aproksymacji krzyżowej, które wykorzystują tylko wpisy oryginalnej macierzy aproksymacji niskiego rzędu .

Zastosowanie do eliptycznych równań różniczkowych cząstkowych

Ponieważ operator rozwiązania eliptycznego równania różniczkowego cząstkowego można wyrazić jako operator całkowy obejmujący funkcję Greena , nie jest zaskakujące, że odwrotność macierzy sztywności wynikającej z metody elementów skończonych i metody widmowej można przybliżyć macierzą hierarchiczną.

Funkcja Greena zależy od kształtu domeny obliczeniowej, dlatego zwykle nie jest znana. Niemniej jednak przybliżone operacje arytmetyczne można zastosować do obliczenia przybliżonej odwrotności bez wyraźnej znajomości funkcji.

Co zaskakujące, można udowodnić, że odwrotność można przybliżyć, nawet jeśli operator różniczkowy obejmuje niegładkie współczynniki, a zatem funkcja Greena nie jest gładka.

Działania arytmetyczne

Najważniejszą innowacją metody hierarchicznej macierzy jest opracowanie wydajnych algorytmów wykonywania (przybliżonych) operacji arytmetycznych na macierzach na macierzach nierzadkich, np. obliczania przybliżonych odwrotności, dekompozycji LU i rozwiązań równań macierzowych .

, Z i współczynnik skalarny . Algorytm wymaga, aby podmacierze macierzy hierarchicznych były zorganizowane w strukturę drzewa blokowego i wykorzystuje właściwości faktoryzowanych macierzy niskiego rzędu do obliczenia zaktualizowanego w operacjach

Korzystając ze struktury blokowej, odwrotność można obliczyć za pomocą rekurencji do obliczenia odwrotności i uzupełnień Schura bloków ukośnych i połączenia obu za pomocą mnożenia macierz-macierz. W podobny sposób dekompozycję jednostek logicznych można skonstruować wyłącznie za pomocą rekurencji i mnożenia. operacje _

H 2 - macierze

Aby rozwiązać bardzo duże problemy, można ulepszyć strukturę macierzy hierarchicznych: macierze H 2 zastępują ogólną strukturę bloków niskiego rzędu hierarchiczną reprezentacją ściśle powiązaną z metodą szybkich multipolów w celu zmniejszenia złożoności przechowywania do .

W kontekście operatorów całkowych brzegowych zastąpienie ustalonego rzędu rangami które zachowują szybkość zbieżności podstawowej metody elementu brzegowego przy złożoności

Operacje arytmetyczne, takie jak mnożenie, odwracanie i faktoryzacja Cholesky'ego lub LR macierzy H 2 - mogą być realizowane w oparciu o dwie podstawowe operacje: mnożenie macierz-wektor z podmacierzami i aktualizacja podmacierzy niskiego rzędu. Podczas gdy mnożenie macierz-wektor jest proste, wdrożenie wydajnych aktualizacji niskiego rzędu z adaptacyjnie zoptymalizowanymi bazami klastrów stanowi poważne wyzwanie.

Literatura

  1. ^ Hackbusch, Wolfgang (1999). „Rzadka arytmetyka macierzy oparta na macierzach H. Część I: Wprowadzenie do macierzy H”. Informatyka . 62 (2): 89–108. doi : 10.1007/s006070050015 .
  2. ^ ab Grasedyck , Lars; Hackbusch, Wolfgang (2003). „Budowa i arytmetyka macierzy H”. Informatyka . 70 (4): 295–334. doi : 10.1007/s00607-003-0019-1 .
  3. ^   Hackbusch, Wolfgang (2015). Macierze hierarchiczne: algorytmy i analiza . Seria Springera w matematyce obliczeniowej. Tom. 49. Springera. doi : 10.1007/978-3-662-47324-5 . ISBN 978-3-662-47323-8 .
  4. Bibliografia _ Macierze hierarchiczne: sposób na efektywne rozwiązywanie eliptycznych problemów z wartościami granicznymi . Skoczek.
  5. Bibliografia _ Choromskij, Boris N. (2000). „Rzadka arytmetyka macierzy H. Część II: Zastosowanie do problemów wielowymiarowych”. Informatyka . 64 : 21–47.
  6. ^ ab Bebendorf, Mario (2000). „Aproksymacja macierzy elementów brzegowych”. liczba. matematyka _ 86 (4): 565–589. doi : 10.1007/pl00005410 .
  7. ^ a b   Bebendorf, Mario; Rjasanow, Siergiej (2003). „Adaptacyjne przybliżenie macierzy kolokacji niskiego rzędu”. Informatyka . 70 : 1–24. CiteSeerX 10.1.1.133.182 . doi : 10.1007/s00607-002-1469-6 .
  8. Bibliografia   _ Grasedyck, Lars (2005). „Hybrydowe przybliżenie krzyżowe operatorów całkowych”. liczba. matematyka _ 101 (2): 221–249. CiteSeerX 10.1.1.330.8950 . doi : 10.1007/s00211-005-0618-1 .
  9. Bibliografia _ Christophersen, Sven (2016). „Aproksymacja operatorów całkowych za pomocą kwadratury Greena i zagnieżdżonego przybliżenia krzyżowego”. liczba. matematyka _ 133 (3): 409–442. ar Xiv : 1404.2234 . doi : 10.1007/s00211-015-0757-y .
  10. ^ Faustmann, Markus; Melenk, J. Markus; Praetorius, Dirk (2016). „Istnienie przybliżeń macierzy H do odwrotności macierzy BEM: operator prostej warstwy”. Matematyka komp . 85 (297): 119–152. ar Xiv : 1311.5028 . doi : 10.1090/mcom/2990 .
  11. ^ a b Bebendorf, Mario; Hackbusch, Wolfgang (2003). operatorów eliptycznych z -współczynnikami”. liczba. matematyka _ 95 : 1–28. doi : 10.1007/s00211-002-0445-6 .
  12. ^ ab Börm , Steffen (2010). „Aproksymacja operatorów rozwiązań eliptycznych równań różniczkowych cząstkowych za pomocą macierzy H- i H 2 ”. liczba. matematyka _ 115 (2): 165–193. doi : 10.1007/s00211-009-0278-7 .
  13. ^ a b Faustmann, Markus; Melenk, J. Markus; Praetorius, Dirk (2015). „Aproksymacja macierzy H odwrotności macierzy MES”. liczba. matematyka _ 131 (4): 615–642. ar Xiv : 1308.0499 . doi : 10.1007/s00211-015-0706-9 .
  14. ^ a b Shen, Jie; Wang, Yingwei; Xia, Jianlin (2016). „Szybkie, uporządkowane, bezpośrednie metody widmowe dla równań różniczkowych o zmiennych współczynnikach”. SIAM Journal o obliczeniach naukowych . 38 (1): A28–A54. doi : 10.1137/140986815 .
  15. ^   Tyrtysznikow, Eugeniusz (2000). „Niepełne przybliżenie krzyżowe w metodzie mozaikowo-szkieletowej”. Informatyka . 64 (4): 367–380. CiteSeerX 10.1.1.100.6153 . doi : 10.1007/s006070070031 .
  16. ^ Bebendorf Mario (2007). „Dlaczego dyskretyzacje elementów skończonych można rozłożyć na czynniki za pomocą trójkątnych macierzy hierarchicznych”. SIAM J. Numer. Analny . 45 (4): 1472–1494. doi : 10.1137/060669747 .
  17. ^ Grasedyck, Lars; Kriemann, Ronald; Le Borne, Sabine (2009). „Kondycjonowanie wstępne H-LU oparte na dekompozycji domeny” . liczba. matematyka _ 112 (4): 565–600. doi : 10.1007/s00211-009-0218-6 .
  18. Bibliografia   _ Khoromskij, Boris N.; Sauter, Stefan (2002). Na macierzach H 2 . Wykłady z matematyki stosowanej . s. 9–29. doi : 10.1007/978-3-642-59709-1_2 . ISBN 978-3-642-64094-0 .
  19. ^   Borm, Steffen (2010). Wydajne metody numeryczne dla operatorów nielokalnych: kompresja macierzy H 2 , algorytmy i analiza . Traktaty EMS w matematyce. ISBN 9783037190913 .
  20. ^ Sauter Stefan (2000). „Grupowanie paneli o zmiennej kolejności”. Informatyka . 64 (3): 223–261. doi : 10.1007/s006070050045 .
  21. Bibliografia _ Sauter, Stefan (2005). „BEM o złożoności liniowej dla klasycznych operatorów całkowych brzegowych” . Matematyka komp . 74 (251): 1139–1177. doi : 10.1090/s0025-5718-04-01733-8 .
  22. ^ Borm, Steffen; Reimer, Knut (2015). „Wydajne operacje arytmetyczne dla macierzy o strukturze rangowej oparte na hierarchicznych aktualizacjach niskiego rzędu”. Komp. Vis. nauka . 16 (6): 247–258. arXiv : 1402.5056 . doi : 10.1007/s00791-015-0233-3 .

Oprogramowanie

HLib to biblioteka oprogramowania C implementująca najważniejsze algorytmy dla .

AHMED to biblioteka oprogramowania C++, którą można pobrać w celach edukacyjnych.

HLIBpro to implementacja podstawowych algorytmów macierzy hierarchicznej do zastosowań komercyjnych.

H2Lib to otwarta implementacja hierarchicznych algorytmów macierzowych przeznaczona do badań i nauczania.

awesome-hierarchical-matrices to repozytorium zawierające listę innych implementacji H-Matrices.

HierarchicalMatrices.jl to pakiet Julii implementujący macierze hierarchiczne.