数値数学では、階層的行列(H行列)[1] [2] [3] が非スパース行列のデータスパース近似として使用されます。次元のスパース行列は、非ゼロのエントリのみを格納することによって、単位のストレージで効率的に表現できますが、非スパース行列には単位のストレージが必要であり、したがって、大規模な問題にこのタイプの行列を使用すると、ストレージと計算時間の点で法外なコストがかかります。階層的行列は、単位のストレージのみを必要とする近似を提供します。ここで、は近似の精度を制御するパラメータです。一般的な用途、たとえば、積分方程式を離散化する場合、[4] [5] [6] [7] [8] [9] 、 結果として得られる線形方程式のシステムの前処理、[10] 、または楕円偏微分方程式を解く場合、[11] [12] [13] [14]では、小さな定数でに比例するランクで、 の精度を保証するのに十分です。非スパース行列の他の多くのデータスパース表現と比較して、階層的行列には大きな利点があります。行列の乗算、因数分解、逆行列などの行列算術演算の結果を、演算で近似することができます。[2]
基本的な考え方
階層的行列は、ローカルな低ランク近似に依存します。 をインデックス セットとし、 を近似する行列とします。多くのアプリケーション (上記を参照) では、 を ランク行列で近似できるサブセットを見つけることができます。 この近似は、因子 を持つ因数 分解形式で表すことができます。 行列の標準表現には単位のストレージが必要ですが、因数分解表現には単位のみが必要です。が大きすぎない場合、必要なストレージは大幅に削減されます。
行列全体を近似するために、行列はサブ行列の族に分割されます。効率性を向上させるために、大きなサブ行列は因数分解表現で保存され、小さなサブ行列は標準表現で保存されます。
低ランク行列は、パネル クラスタリングで使用される退化展開や、積分演算子を近似する高速多重極法と密接に関連 しています。この意味で、階層行列はこれらの手法の代数版と考えることができます。
積分演算子への応用
階層的行列は積分方程式、例えば境界要素法に現れる単層および二重層ポテンシャル演算子を扱うのに効果的に用いられる。典型的な演算子は次の形式を持つ。
ガラーキン法では、次のような行列要素が得られる。
ここで、およびは有限要素基底関数の族である。核関数が十分に滑らかであれば、多項式補間によって近似して、
ここで は補間点の族であり、 は対応するラグランジュ多項式 の族である。 を に置き換えると近似値が得られる。
係数
すべてに対して同じ補間点を選択して使用すると、 が得られます 。
明らかに、変数とを分離する他の近似、例えば多重極展開によっても、二重積分を 2 つの単一積分に分割し、同様に因数分解された低階数行列に到達することができます。
特に興味深いのは、元の行列の要素のみを使用して低ランク近似を構築する交差近似手法[6] [7] [15]です。
楕円型偏微分方程式への応用
楕円型偏微分方程式の解演算子はグリーン関数を含む積分演算子として表現できるため 、有限要素法 とスペクトル法から生じる剛性行列の逆行列が階層行列で近似できること は驚くべきことではありません。
グリーン関数は計算領域の形状に依存するため、通常は不明です。ただし、近似演算を使用すると、関数を明示的に知らなくても近似逆関数を計算できます。
驚くべきことに、微分演算子が滑らかでない係数を含み、グリーン関数が滑らかでない場合でも、逆関数を近似できることが証明されています[11] [12] [13] [14]。
算術演算
階層的行列法の最も重要な革新は、非スパース行列に対して(近似)行列算術演算を実行するための効率的なアルゴリズムの開発です。たとえば、近似逆行列、LU 分解、行列方程式の解を計算します。
中心となるアルゴリズムは、効率的な行列間乗算、つまり 階層行列とスカラー係数の の計算です。このアルゴリズムでは、階層行列のサブ行列をブロック ツリー構造に編成する必要があり、因数分解された低ランク行列の特性を利用して、操作で 更新された を計算します。
ブロック構造を利用すると、再帰を使用して対角ブロックの逆行列とシュアー補数を計算し、行列-行列乗算を使用して両方を組み合わせることで、逆行列を計算できます。同様に、LU分解[16] [17]は 再帰と乗算のみを使用して構築できます。両方の操作にも操作が必要です。
H2-マトリックス
非常に大きな問題を扱うために、階層的行列の構造を改良することができる。H2行列[18] [19]は 、ブロックの一般的な低ランク構造を、高速多重極法に密接に関連する階層的表現に置き換えて、記憶域の複雑さを軽減する。
境界積分演算子の文脈では、固定ランクをブロック依存ランクに置き換えると、基礎となる境界要素法の収束率を[20] [21]の複雑さで維持する近似が得られます。
H2行列の乗算、反転、コレスキー分解またはLR分解などの算術演算は、2つの基本的な演算、すなわち部分行列との行列ベクトル乗算と部分行列の低ランク更新に基づいて実装できます。行列ベクトル乗算は簡単ですが、適応的に最適化されたクラスター基底を使用して効率的な低ランク更新を実装することは大きな課題となります。[22]
文学
- ^ Hackbusch, Wolfgang (1999). 「H 行列に基づくスパース行列演算。パート I: H 行列入門」.コンピューティング. 62 (2): 89–108. doi :10.1007/s006070050015. S2CID 24294140.
- ^ ab Grasedyck, Lars; Hackbusch, Wolfgang (2003). 「H行列の構築と算術」.コンピューティング. 70 (4): 295–334. doi :10.1007/s00607-003-0019-1.
- ^ Hackbusch, Wolfgang (2015).階層的行列: アルゴリズムと分析. Springer Series in Computational Mathematics. Vol. 49. Springer. doi :10.1007/978-3-662-47324-5. ISBN 978-3-662-47323-8。
- ^ Bebendorf, Mario (2008).階層的行列: 楕円境界値問題を効率的に解く手段. Springer.
- ^ Hackbusch, Wolfgang; Khoromskij , Boris N. (2000). 「スパース H 行列演算。パートII : 多次元問題への応用」。コンピューティング。64 : 21–47。doi :10.1007/PL00021408。
- ^ ab Bebendorf, Mario (2000). 「境界要素行列の近似」. Numer. Math . 86 (4): 565–589. doi :10.1007/pl00005410. S2CID 206858339.
- ^ ab Bebendorf, Mario; Rjasanow, Sergej (2003). 「コロケーション行列の適応型低ランク近似」.コンピューティング. 70 : 1–24. CiteSeerX 10.1.1.133.182 . doi :10.1007/s00607-002-1469-6. S2CID 16501661.
- ^ Börm, Steffen; Grasedyck, Lars (2005). 「積分演算子のハイブリッドクロス近似」. Numer. Math . 101 (2): 221–249. CiteSeerX 10.1.1.330.8950 . doi :10.1007/s00211-005-0618-1. S2CID 263882011.
- ^ Börm, Steffen; Christophersen, Sven (2016). 「グリーン求積法とネストクロス近似法による積分演算子の近似」. Numer. Math . 133 (3): 409–442. arXiv : 1404.2234 . doi :10.1007/s00211-015-0757-y. S2CID 253745725.
- ^ Faustmann, Markus; Melenk, J. Markus; Praetorius, Dirk (2016). 「BEM 行列の逆行列に対する H 行列近似値の存在: 単純層演算子」. Math. Comp . 85 (297): 119–152. arXiv : 1311.5028 . doi :10.1090/mcom/2990. S2CID 10706786.
- ^ ab Bebendorf, Mario; Hackbusch, Wolfgang (2003). 「-係数を持つ楕円演算子の逆 FE 行列に対する H 行列近似値の存在」。Numer . Math . 95 : 1–28. doi :10.1007/s00211-002-0445-6. S2CID 263876883.
- ^ ab Börm, Steffen (2010). 「楕円偏微分方程式の解演算子のH行列とH 2行列による近似」. Numer. Math . 115 (2): 165–193. doi :10.1007/s00211-009-0278-7. S2CID 7737211.
- ^ ab Faustmann, Markus; Melenk, J. Markus; Praetorius, Dirk (2015). 「FEM 行列の逆行列の H 行列近似可能性」. Numer. Math . 131 (4): 615–642. arXiv : 1308.0499 . doi :10.1007/s00211-015-0706-9. S2CID 2619823.
- ^ ab Shen, Jie; Wang, Yingwei; Xia, Jianlin (2016). 「変数係数を持つ微分方程式の高速構造化直接スペクトル法」SIAM Journal on Scientific Computing . 38 (1): A28–A54. doi :10.1137/140986815.
- ^ Tyrtyshnikov, Eugene (2000). 「モザイクスケルトン法における不完全クロス近似」.コンピューティング. 64 (4): 367–380. CiteSeerX 10.1.1.100.6153 . doi :10.1007/s006070070031. S2CID 15850058.
- ^ Bebendorf, Mario (2007). 「なぜ有限要素離散化は三角階層行列で因数分解できるのか」SIAM J. Numer. Anal . 45 (4): 1472–1494. doi :10.1137/060669747.
- ^ Grasedyck, Lars; Kriemann, Ronald; Le Borne, Sabine (2009). 「ドメイン分解に基づくH-LU前処理」. Numer. Math . 112 (4): 565–600. doi : 10.1007/s00211-009-0218-6 .
- ^ Hackbusch, Wolfgang; Khoromskij, Boris N.; Sauter, Stefan (2002). 「H 2 行列について」.応用数学講義. pp. 9–29. doi :10.1007/978-3-642-59709-1_2. ISBN 978-3-642-64094-0。
- ^ Börm, Steffen (2010). 非局所演算子の効率的な数値計算法: H2 行列の圧縮、アルゴリズム、および解析。EMS Tracts in Mathematics。ISBN 9783037190913。
- ^ Sauter, Stefan (2000). 「可変順序パネルクラスタリング」.コンピューティング. 64 (3): 223–261. doi :10.1007/s006070050045. S2CID 36813444.
- ^ Börm, Steffen; Sauter, Stefan (2005). 「古典境界積分演算子に対する線形複雑性を持つBEM」. Math. Comp . 74 (251): 1139–1177. doi : 10.1090/s0025-5718-04-01733-8 .
- ^ Börm, Steffen; Reimer, Knut (2015). 「階層的低ランク更新に基づくランク構造化行列の効率的な算術演算」. Computing and Visualization in Science . 16 (6): 247–258. arXiv : 1402.5056 . doi :10.1007/s00791-015-0233-3. S2CID 36931036.
ソフトウェア
HLib は、階層型および階層型行列の最も重要なアルゴリズムを実装する C ソフトウェア ライブラリです。
AHMED は、教育目的でダウンロードできる C++ ソフトウェア ライブラリです。
HLIBpro は、商用アプリケーション向けのコア階層型マトリックス アルゴリズムの実装です。
H2Lib は、研究と教育を目的とした階層型マトリックス アルゴリズムのオープン ソース実装です。
awesome-hierarchical-matrices は、他の H 行列の実装のリストを含むリポジトリです。
HierarchicalMatrices.jl は、階層型行列を実装する Julia パッケージです。
