将 SuperLU 的 dgssv() 输出的矩阵 L 和 U 转换为三元组格式

计算科学 矩阵 scipy 矩阵分解 io
2021-12-13 09:18:05

如何将SuperLU 的矩阵LU输出转换为三元组格式(转换为矩阵市场格式)?dgssvx()另外,如何将A三元组格式(矩阵市场格式)的输入矩阵转换为 SuperLU 所需的格式?执行这些格式转换的最简单方法是什么?

1个回答

我会假设接口在过去 5 年内发生了变化和发展。截至目前,可以使用scipy(如评论中要求的)的标准功能来实现结果。

  • 使用scipy.io.mmread将 MatrixMarket 文件中的矩阵加载到稀疏或密集的 scipy 矩阵中。我会假设你的矩阵最初是稀疏的,因此你很高兴。
  • 现在,可以使用 scipy.sparse.linalg.slu (如果您选择不完全分解,也可以使用 iLU)

相反,您可以使用