用特征值求解稀疏矩阵

matrix constraints sparse-matrix eigen particle-system

619 观看

1回复

60 作者的声誉

我写基于基于约束的粒子系统,这个文件。约束C的雅可比行列式随系统中粒子的数量和约束的数量而定。因为每个约束通常只有几个依赖于它的粒子,所以矩阵将非常稀疏。我认为在Eigen中使用稀疏矩阵来求解系统可能会有所帮助。根据本征参考资料,似乎有几种不同的方法可以解决这些稀疏矩阵方程。我的问题是:

  1. 这些矩阵的大小是否首先需要使用稀疏矩阵?我需要存储雅可比行列式及其时间导数。每个矩阵都是Mx3N矩阵,其中M是约束数量,N是粒子数量。我的粒子系统的用户大概可以在合理范围内添加任意数量的粒子。
  2. 关于稠密矩阵上的稀疏矩阵表示的争论更多地是关于性能或内存消耗。稀疏矩阵的求解速度可以比密集矩阵快吗?这取决于什么?
  3. 我对这些求解器的实现并不了解很多。我还没有对这些算法进行过深入的研究,尤其是在稀疏矩阵方程中。这些算法的性能如何?我应该选择哪一种?我记得几年前在我的线性代数班上学习过其中的一些知识,我相信其中许多是O(n ^ 3),对于本文所述的系统来说,它似乎不太好用。
作者: Joshua Dotson 的来源 发布者: 2016 年 2 月 24 日

回应 (1)


0

22244 作者的声誉

如果N小于例如1000,则可能会使用密集存储,否则最好使用稀疏表示。每行的非零数应该非常少,例如10个左右且不超过100个,以保持求解器的效率。实际上,稀疏求解器的复杂度小于O(N * K),其中K为非零数。因此,对于非常稀疏的矩阵,它们可以比密集的求解器快几个数量级。

作者: ggael 发布者: 25.02.2016 07:57
32x32