我有一个矩阵,它的许多行已经是上三角形式了。我想问一下,scipy.linalg.lu
命令是否能识别这种特殊的结构,以便更快地分解它。如果我在纸上分解这个矩阵,我只对那些不是上三角形式的行使用高斯消元法。例如,我将只对矩阵B
的最后一行进行转换。
import numpy as np
A = np.array([[2, 5, 8, 7, 8],
[5, 2, 2, 8, 9],
[7, 5, 6, 6, 10],
[5, 4, 4, 8, 10]])
B = np.array([[2, 5, 8, 7, 8],
[0, 2, 2, 8, 9],
[0, 0, 6, 6, 10],
[5, 4, 4, 8, 10]])
因为我的方阵是非常大的维数,这个过程重复了数千次。我想利用这种特殊的结构来降低计算复杂度。
非常感谢你的阐述!
发布于 2020-05-31 14:16:40
不是自动的。
如果需要的话,你需要自己使用这个结构。你是否能让它比内置的实现更快取决于很多因素(零数等)
https://stackoverflow.com/questions/62104985
复制相似问题