Hierarkisk matris

I numerisk matematik används hierarkiska matriser (H-matriser) som dataglesa approximationer av icke-glesa matriser . Medan en gles matris med dimensionen effektivt kan representeras i lagringsenheter genom att endast lagra dess poster som inte är noll, skulle en icke-gles matris kräva lagringsenheter, och att använda denna typ av matriser för stora problem skulle därför bli oöverkomligt dyrt i termer av lagring och beräkningstid. Hierarkiska matriser ger en approximation som endast kräver lagringsenheter, där är en parameter som styr noggrannheten av approximationen. I typiska tillämpningar, t.ex. när man diskretiserar integralekvationer, förkonditionerar de resulterande systemen av linjära ekvationer eller löser elliptiska partiella differentialekvationer, en rangordning proportionell mot med en liten konstant är tillräckligt för att säkerställa en noggrannhet på . Jämfört med många andra data-glesa representationer av icke-glesa matriser erbjuder hierarkiska matriser en stor fördel: resultaten av matrisaritmetiska operationer som matrismultiplikation, faktorisering eller inversion kan approximeras i operationer, där

Grundläggande idé

Hierarkiska matriser förlitar sig på lokala lågrankade approximationer: låt vara indexuppsättningar och låt betecknar matrisen vi måste approximera. I många applikationer (se ovan) kan vi hitta delmängder så att kan approximeras av en rang- -matris. Denna approximation kan representeras i faktoriserad form med faktorerna . Medan standardrepresentationen av matrisen kräver lagringsenheter, Faktoriserad representation kräver endast enheter. Om inte är för stor, reduceras lagringskraven avsevärt.

För att approximera hela matrisen är den uppdelad i en familj av submatriser. Stora submatriser lagras i faktoriserad representation, medan små submatriser lagras i standardrepresentation för att förbättra effektiviteten.

Lågrankade matriser är nära besläktade med degenererade expansioner som används i panelklustring och den snabba multipolmetoden för att approximera integraloperatorer. I denna mening kan hierarkiska matriser betraktas som de algebraiska motsvarigheterna till dessa tekniker.

Applikation på integrerade operatörer

Hierarkiska matriser används framgångsrikt för att behandla integralekvationer, t.ex. enkel- och dubbellagers potentiella operatorer som visas i gränselementmetoden . En typisk operatör har formen

Galerkinmetoden leder till matrisinmatningar av formuläret

där och är familjer av finita elementbasfunktioner. Om kärnfunktionen är tillräckligt jämn, kan vi approximera den genom polynominterpolation för att erhålla

där är familjen av interpolationspunkter och är motsvarande familj av Lagrangepolynom . Att ersätta med ger en approximation

med koefficienterna

Om vi ​​väljer och använder samma interpolationspunkter för alla , får vi .

Uppenbarligen skulle varje annan approximation som separerar variablerna och t.ex. multipolexpansionen, också tillåta oss att dela dubbelintegralen i två enkla integraler och därmed komma fram till en liknande faktoriserad låg- rangmatris.

Av särskilt intresse är korsapproximationstekniker som endast använder ingångarna i den ursprungliga matrisen för att konstruera en approximation med låg rangordning .

Tillämpning på elliptiska partiella differentialekvationer

Eftersom lösningsoperatorn för en elliptisk partiell differentialekvation kan uttryckas som en integraloperator som involverar Greens funktion , är det inte förvånande att inversen av styvhetsmatrisen som härrör från finita elementmetoden och spektralmetoden kan approximeras av en hierarkisk matris.

Gröns funktion beror på formen på beräkningsdomänen, därför är den vanligtvis inte känd. Icke desto mindre kan approximativa aritmetiska operationer användas för att beräkna en approximativ invers utan att explicit känna till funktionen.

Överraskande nog är det möjligt att bevisa att inversen kan approximeras även om differentialoperatorn involverar icke-jämna koefficienter och Greens funktion därför inte är jämn.

Aritmetiska operationer

Den viktigaste innovationen med den hierarkiska matrismetoden är utvecklingen av effektiva algoritmer för att utföra (ungefärliga) matrisaritmetiska operationer på icke-glesa matriser, t.ex. för att beräkna approximativa inverser, LU-dekomponeringar och lösningar matrisekvationer.

Den centrala algoritmen är den effektiva matris-matrismultiplikationen, dvs. beräkningen av för hierarkiska matriser och en skalär faktor . Algoritmen kräver att submatriserna för de hierarkiska matriserna organiseras i en blockträdstruktur och drar fördel av egenskaperna hos faktoriserade lågrankade matriser för att beräkna den uppdaterade i operationer.

Genom att dra fördel av blockstrukturen kan inversen beräknas genom att använda rekursion för att beräkna inverser och Schur-komplement av diagonala block och kombinera båda med hjälp av matris-matrismultiplikationen. På ett liknande sätt LU-sönderdelningen konstrueras med endast rekursion och multiplikation. Båda operationerna kräver också operationer.

H2 - matriser

För att behandla mycket stora problem kan strukturen av hierarkiska matriser förbättras: H 2 -matriser ersätter blockens allmänna lågrankade struktur med en hierarkisk representation nära relaterad till den snabba multipolmetoden för att reducera lagringskomplexiteten till .

I samband med gränsintegraloperatorer leder ersättning av den fasta rankningen med blockberoende rankningar till approximationer som bevarar konvergenshastigheten för den underliggande gränselementmetoden vid en komplexitet av

Aritmetiska operationer som multiplikation, inversion och Cholesky- eller LR-faktorisering av H 2 -matriser kan implementeras baserat på två fundamentala operationer: matris-vektormultiplikationen med submatriser och lågrankningsuppdateringen av submatriser. Även om matris-vektormultiplikationen är enkel, är det en betydande utmaning att implementera effektiva lågrankade uppdateringar med adaptivt optimerade klusterbaser.

Litteratur

  1. ^ Hackbusch, Wolfgang (1999). "En sparsam matrisaritmetik baserad på H-matriser. Del I: Introduktion till H-matriser". Beräkningar . 62 (2): 89–108. doi : 10.1007/s006070050015 .
  2. ^ a b Grasedyck, Lars; Hackbusch, Wolfgang (2003). "Konstruktion och aritmetik av H-matriser". Beräkningar . 70 (4): 295–334. doi : 10.1007/s00607-003-0019-1 .
  3. ^   Hackbusch, Wolfgang (2015). Hierarkiska matriser: Algoritmer och analys . Springer Series in Computational Mathematics. Vol. 49. Springer. doi : 10.1007/978-3-662-47324-5 . ISBN 978-3-662-47323-8 .
  4. ^ Bebendorf, Mario (2008). Hierarkiska matriser: Ett sätt att effektivt lösa elliptiska gränsvärdesproblem . Springer.
  5. ^ Hackbusch, Wolfgang; Khoromskij, Boris N. (2000). "En sparsam H-Matrix Aritmetik. Del II: Tillämpning på flerdimensionella problem". Beräkningar . 64 : 21–47.
  6. ^ a b Bebendorf, Mario (2000). "Approximation av gränselementmatriser". Nummer. Matematik . 86 (4): 565–589. doi : 10.1007/pl00005410 .
  7. ^ a b   Bebendorf, Mario; Rjasanow, Sergej (2003). "Adaptiv lågrankad approximation av samlokaliseringsmatriser". Beräkningar . 70 : 1–24. CiteSeerX 10.1.1.133.182 . doi : 10.1007/s00607-002-1469-6 .
  8. ^   Börm, Steffen; Grasedyck, Lars (2005). "Hybrid korsvis approximation av integrerade operatörer". Nummer. Matematik . 101 (2): 221–249. CiteSeerX 10.1.1.330.8950 . doi : 10.1007/s00211-005-0618-1 .
  9. ^ Börm, Steffen; Christophersen, Sven (2016). "Approximation av integraloperatorer med grön kvadratur och kapslad korsapproximation". Nummer. Matematik . 133 (3): 409–442. arXiv : 1404.2234 . doi : 10.1007/s00211-015-0757-y .
  10. ^ Faustmann, Markus; Melenk, J. Markus; Praetorius, Dirk (2016). "Förekomsten av H-matrisapproximanter till inverserna av BEM-matriser: Den enkla lageroperatorn". Matematik. Comp . 85 (297): 119–152. arXiv : 1311.5028 . doi : 10.1090/mcom/2990 .
  11. ^ a b Bebendorf, Mario; Hackbusch, Wolfgang (2003). "Existens av H-matrisapproximanter till den inversa FE-matrisen av elliptiska operatorer med -koefficienter". Nummer. Matematik . 95 : 1–28. doi : 10.1007/s00211-002-0445-6 .
  12. ^ a b Börm, Steffen (2010). "Approximation av lösningsoperatorer av elliptiska partiella differentialekvationer genom H- och H 2 -matriser". Nummer. Matematik . 115 (2): 165–193. doi : 10.1007/s00211-009-0278-7 .
  13. ^ a b Faustmann, Markus; Melenk, J. Markus; Praetorius, Dirk (2015). "H-matris approximabilitet av inverserna av FEM-matriser". Nummer. Matematik . 131 (4): 615–642. arXiv : 1308.0499 . doi : 10.1007/s00211-015-0706-9 .
  14. ^ a b Shen, Jie; Wang, Yingwei; Xia, Jianlin (2016). "Snabbstrukturerade direkta spektralmetoder för differentialekvationer med variabla koefficienter". SIAM Journal on Scientific Computing . 38 (1): A28–A54. doi : 10.1137/140986815 .
  15. ^   Tyrtyshnikov, Eugene (2000). "Ofullständig korsapproximation i mosaik-skelettmetoden". Beräkningar . 64 (4): 367–380. CiteSeerX 10.1.1.100.6153 . doi : 10.1007/s006070070031 .
  16. ^ Bebendorf, Mario (2007). "Varför finita elementdiskretiseringar kan faktoriseras av triangulära hierarkiska matriser". SIAM J. Numer. Anal . 45 (4): 1472–1494. doi : 10.1137/060669747 .
  17. ^ Grasedyck, Lars; Kriemann, Ronald; Le Borne, Sabine (2009). "Domännedbrytningsbaserad H-LU-förkonditionering" . Nummer. Matematik . 112 (4): 565–600. doi : 10.1007/s00211-009-0218-6 .
  18. ^   Hackbusch, Wolfgang; Khoromskij, Boris N.; Sauter, Stefan (2002). På H 2 -matriser . Föreläsningar om tillämpad matematik . s. 9–29. doi : 10.1007/978-3-642-59709-1_2 . ISBN 978-3-642-64094-0 .
  19. ^   Börm, Steffen (2010). Effektiva numeriska metoder för icke-lokala operatörer: H 2 -Matrix Compression, Algoritms and Analysis . EMS Tracts in Mathematics. ISBN 9783037190913 .
  20. ^ Sauter, Stefan (2000). "Variabel beställningspanelklustring". Beräkningar . 64 (3): 223–261. doi : 10.1007/s006070050045 .
  21. ^ Börm, Steffen; Sauter, Stefan (2005). "BEM med linjär komplexitet för de klassiska gränsintegraloperatorerna" . Matematik. Comp . 74 (251): 1139–1177. doi : 10.1090/s0025-5718-04-01733-8 .
  22. ^ Börm, Steffen; Reimer, Knut (2015). "Effektiva aritmetiska operationer för rangstrukturerade matriser baserade på hierarkiska lågrankade uppdateringar". Comp. Vis. Sci . 16 (6): 247–258. arXiv : 1402.5056 . doi : 10.1007/s00791-015-0233-3 .

programvara

HLib är ett C-programbibliotek som implementerar de viktigaste algoritmerna för hierarkiska och -matriser.

AHMED är ett C++-programbibliotek som kan laddas ner för utbildningsändamål.

HLIBpro är en implementering av de kärna hierarkiska matrisalgoritmerna för kommersiella applikationer.

H2Lib är en öppen källkodsimplementering av hierarkiska matrisalgoritmer avsedda för forskning och undervisning.

awesome-hierarchical-matrices är ett arkiv som innehåller en lista över andra H-Matrices-implementationer.

HierarchicalMatrices.jl är ett Julia-paket som implementerar hierarkiska matriser.