gpt4 book ai didi

c++ - 寻找迭代线性求解器的测试矩阵/系统

转载 作者:可可西里 更新时间:2023-11-01 17:59:49 27 4
gpt4 key购买 nike

我目前正在开发一个基于 C++ 的库来解决大型、稀疏的线性代数问题(是的,我知道存在很多这样的库,但我自己动手主要是为了学习迭代求解器、稀疏存储容器等。 .).

我已经到了在我的其他编程项目中使用我的求解器的地步,并且想针对不属于我自己的问题测试求解器。首先,我希望针对正定的对称稀疏系统进行测试。我已经找到了此类系统矩阵的多个来源,例如:

Matrix Market UF Sparse Matrix Collection

话虽这么说,但我还没有找到包含整个系统-系统矩阵和 RHS 的良好测试矩阵的任何来源。为了检查结果,这将是很棒的。关于我在哪里可以找到这样完整的系统的任何提示,或者我可以做些什么来为我可以在线获取的系统矩阵生成一个“好的”RHS?我目前只是用随机值或所有值填充一个矩阵,但我怀疑这不一定是最好的方法。

最佳答案

我建议使用从预定义的“目标”解决方案 x 获得的右侧 vector :

b = A*x

然后您有一个目标解决方案 x,以及来自求解器的结果解决方案 x。这意味着您可以比较误差(目标和结果解决方案的差异)以及残差 (A*x - b)。

请注意,为了仔细评估迭代求解器,您还需要考虑初始 x 使用什么。

矩阵的在线集合主要包含左侧矩阵,但有些确实包括右侧矩阵,还有一些也有解 vector 。:

http://www.cise.ufl.edu/research/sparse/matrices/rhs.txt

顺便说一句,对于 UF 稀疏矩阵集合,我建议改用此链接:

http://www.cise.ufl.edu/research/sparse/matrices/

关于c++ - 寻找迭代线性求解器的测试矩阵/系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4328251/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com