稀疏矩阵求解

用taichi的稀疏矩阵求解器求解线性方程组Ax=b,现在建出来的A矩阵不可逆,有没有什么办法解决呢?(比如,类似numpy里把零行(列)整行(列)删除的)

@dudu, 你的问题有点让人迷惑。

你是想问如何求解 Ax=b ,且 A 不可逆 这个问题么?

或者你只是想问稀疏矩阵如何删除某一行或某一列?

问题是A不可逆,怎么解决?
删除多行多列是我以前用numpy的解决办法,就是想问一下taichi有没有类似的。

如果你想要通过删除行列来解决,目前在Taichi里只能重新建立矩阵了。

Taichi目前稀疏矩阵的实现其实是基于Eigen的,目前Eigen也没有直接删除稀疏矩阵行或者列的函数。我看到的方案有两种:

  1. 重新构建稀疏矩阵,新的矩阵没有0行(列)。 source: here
  2. 使用Permutation将0行(列)移动到最上行或者最左列,然后用resize。source: here
2 个赞