使用之间有什么区别>>
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)方法返回对象,对于这两者,...
假设A
不会随每个时间步长变化,它们都应能很好地解决您的问题。