我正在通过 Cholesky 分解使用不同的库计算方阵的逆。然而,我的结果并不像我预期的那样。我不是数学专家,但我期待得到更接近的结果。
我正在使用 MLK、magma 和 CULA 库来计算 CPU 和 GPU 中矩阵的逆矩阵。在对这些库进行计算后,我注意到结果总是在一个元素上有所不同。假设我想计算 的倒数A= [0.237306,0.000458;0.000458,0.238497]
:
A[0] = 0.237306
A[1] = 0.000458
A[2] = 0.000458
A[3] = 0.238497
我得到的结果是:
inv(A)[0] = 4.213983
inv(A)[1] = -0.008092
inv(A)[2] = 0.000458
inv(A)[3] = 4.192946
但是,正确的结果应该是
4.2139841 -0.0080924
-0.0080924 4.1929404
如您所见,inv(A)[3]
虽然其他都很好,但它们是不同的。Cholesky Inversion 应该是这样工作的吗?这是一个正确/近似的结果还是我在这里做错了什么?