除了lu()可以选择将置换矩阵应用于下三角矩阵之外,这两个函数之间是否还有区别?对于能够更好,更快地和/或最不可能失败的见解,我将不胜感激。
答案 0 :(得分:1)
在功能上有所不同。假设您只想进行LU分解;然后您使用scipy.linalg.lu
。但是,假设您将解决许多具有不同右侧的线性系统。然后,您可以通过lu_factor
获得低级LAPACK表示形式,然后在scipy.linalg.lu_solve
函数中使用该表示形式,而无需一遍又一遍地明确获得相同的LU分解。
每次要在管道中的另一操作中使用分解时,这将为您节省一个O(n^2)
操作。