scipy.sparse.linalg:splu和因式分解有什么区别?

问题描述 投票:2回答:1

使用之间有什么区别>>

 scipy.sparse.linalg.factorized(A)

 scipy.sparse.linalg.splu(A)

它们都使用.solve(rhs)方法返回对象,并且在文档中都说它们使用LU分解。我想知道两者的性能差异。

更具体地说,我正在编写一个实现动态FEM模型的python / numpy / scipy应用。我需要在每个时间步上求解方程Au = f。 A稀疏且相当大,但不依赖于时间步长,因此我想事先投入一些时间以加快迭代速度(可能有数千个迭代)。我尝试使用scipy.sparse.linalg.inv(A),但是当矩阵的大小很大时,它将引发内存异常。直到最近,我在每个步骤上都使用scipy.linalg.spsolve,现在我正在考虑使用某种分解方法以获得更好的性能。因此,如果您除了LU之外还有其他建议,请随时提出!

[使用scipy.sparse.linalg.factorized(A)和scipy.sparse.linalg.splu(A)之间有什么区别,它们都使用.solve(rhs)方法返回对象,对于这两者,...

numpy scipy sparse-matrix linear-algebra equation-solving
1个回答
0
投票

假设A不会随每个时间步长变化,它们都应能很好地解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.