python - Python 中的 Cholesky 实现 - 求解 Ax=b

标签 python numpy linear-algebra

我使用 Cholesky 分解进行 Ax=b 来查找 x ,先执行 L*LT=A 然后执行 y =L*b 并最终 x=LT*b。当我检查时,我似乎没有得到与经典 Ax=b< 相同的结果 . 这是我的代码:

import numpy as np
import scipy.linalg as sla

myL=np.linalg.cholesky(A)


#check_x = np.dot(A, b)
#check_x = np.dot(A,b)
check_x = sla.solve(A, b)

#check if the composition was done right
myLT=myL.T.conj() #transpose matrix
Ac=np.dot(myL,myLT) #should give the original matrix A



#y=np.dot(myL,b)
y = sla.solve_triangular(myL, b)

#x=np.dot(myL.T.conj(),y)
x = sla.solve_triangular(myLT, b)

最佳答案

我失眠又累,我把最后一行写错了,实际上是

x=np.linalg.solve(myLT, y)

关于python - Python 中的 Cholesky 实现 - 求解 Ax=b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59349527/

相关文章:

python - NumPy:同时 max() 和 min() 的函数

python - basemap .maskoceans : 'float' object cannot be interpreted as an integer

c++ - 精确的大有限域线性代数库(例如 GF(2^128)/GF(2^256) )

python - 从两个列表快速创建对角矩阵

Python difflib.Differ 与上下文差异

python - 泊松过程检验

python - 如何从 matplotlib 图形中获取方位角和仰角

julia - 如何在 julia 的 SymTridiagonal 矩阵中分配非对角线条目?

Python - 当识别出重复项时,集合或卡住集合采用哪个对象?

python - 需要帮助了解 Restful API 中的 SQL 注入(inject)漏洞