amgcl
1.4.4
AMGCL 是一個僅包含頭檔的 C++ 函式庫,用於使用代數多重網格 (AMG) 方法求解大型稀疏線性系統。 AMG 是解決方程組最有效的迭代方法之一,例如,透過在非結構化網格上離散偏微分方程而產生。該方法可以用作各種計算問題的黑盒求解器,因為它不需要有關基礎幾何形狀的任何資訊。 AMG 通常不用作獨立求解器,而是用作迭代求解器(例如共軛梯度、BiCGStab 或 GMRES)中的預處理器。
AMGCL 在 CPU 上建構 AMG 層次結構,然後將其傳輸到提供的後端之一。這樣可以藉助 OpenCL、CUDA 或 OpenMP 技術透明地加速解決方案階段。使用者可以提供自己的後端,從而實現 AMGCL 和使用者程式碼之間的緊密整合。
請參閱 AMGCL 文件:http://amgcl.readthedocs.io/
傑米多夫、丹尼斯. AMGCL:一種高效、靈活且可擴展的代數多重網格實作。 Lobachevskii 數學雜誌,40(5):535–546,2019 年 5 月。
傑米多夫、丹尼斯. AMGCL-一個用於高效率解決大型稀疏線性系統的 C++ 函式庫。軟體影響,6:100037,2020 年 11 月。
傑米多夫、丹尼斯、林木和王斌。使用 C++ 元程式設計加速 Stokes 問題的線性求解器。計算科學期刊 (2020): 101285.doi arxiv bib