有效地解决稀疏矩阵

时间:2010-03-03 19:38:56

标签: algorithm numerical sparse-matrix

为了解决备用矩阵,

一般来说,矩阵必须有多大(根据经验)

对于像康文主义下降这样的方法比蛮力求解器更快(不利用o稀疏性)?

2 个答案:

答案 0 :(得分:3)

它不仅取决于矩阵的大小,还取决于它们的稀疏程度,以及它们具有的稀疏结构。显然,你可以比具有相同数量的非零条目的系统快得多地解决三对角系统。

正如High-Performance Mark所指出的,CG适用于密集矩阵以及稀疏矩阵,因此您想要问的问题更多的是“在求解器能够受益之前,矩阵需要多大和多稀疏”从将其视为稀疏矩阵而不是恰好有很多零的密集矩阵“。

正如我所指出的,答案取决于稀疏结构。一个没有10%满的特殊结构的矩阵,作为第一个猜测,我会使用密集的方法,直到矩阵填充缓存(在现代商品硬件上,这将是大约1000 x 1000)。如果矩阵显着稀疏,或者具有一些特殊的结构,使其更容易使用(例如,非零数据的密集块,或某些带结构),则该阈值将变得更小。

您能否提供有关您正在使用的具体问题的更多信息?

答案 1 :(得分:1)

我不确定共轭梯度求解器和“强力”求解器之间的二分法是否有用。例如,CG可以应用于密集和稀疏矩阵。您可能会发现this book有帮助。