摘要

大型稀疏线性系统的解算器分为两类:直接解算器和迭代解算器。Trilinos软件项目中的一个包Amesos2提供直接方法,另一个包Belos提供迭代方法。Amesos2为许多不同的稀疏矩阵分解代码提供了一个通用接口,并且可以通过易于扩展的C++特性接口处理稀疏矩阵和向量的任何实现。它还可以对其条目具有任意“标量”类型的矩阵进行因子分解,从而支持扩展精度和混合精度算法。Belos包含许多不同的迭代方法,用于求解大型稀疏线性系统和最小二乘问题。与竞争的迭代解算器库不同,Belos将算法与底层线性代数对象的实现完全解耦。这使得Belos可以在不更改代码的情况下利用最新硬件。Belos倾向于使用比标准算法更快的算法来解决更高层次的问题,例如多个同时存在的线性系统和相关线性系统的序列。该软件包还支持扩展预测算法和混合预测算法。Amesos2和Belos一起构成了一整套稀疏线性解算器。