【发布时间】:2020-10-21 10:01:37
【问题描述】:
我已经研究了一段时间了
要找到逆矩阵,我需要找到矩阵的行列式(正确吗?)
但我发现的唯一方法是使用 a11 (a22a33 - a23*a32) 等计算所有矩阵..
请赐教,找到行列式的最佳方法是什么,以便我可以得到逆矩阵?
或者有没有更有效的方法来获得逆矩阵而不找到行列式???
【问题讨论】:
标签: c++ matrix matrix-inverse inverse determinants
我已经研究了一段时间了
要找到逆矩阵,我需要找到矩阵的行列式(正确吗?)
但我发现的唯一方法是使用 a11 (a22a33 - a23*a32) 等计算所有矩阵..
请赐教,找到行列式的最佳方法是什么,以便我可以得到逆矩阵?
或者有没有更有效的方法来获得逆矩阵而不找到行列式???
【问题讨论】:
标签: c++ matrix matrix-inverse inverse determinants
您可以使用 LU 分解,而不是找到一般矩阵的行列式,然后就像 Intel Math Kernel Library 所做的那样:
通过求解系统 inv(A)*L = inv(U) 来计算 inv(A)。
inv(U)(U 是一个上三角矩阵)更容易和更高效地计算,例如使用here 所示的过程,但它归结为上三角矩阵的行列式只是它的对角线的乘积。
并且必须提醒:如果可能,请使用现有的数学库,这样的数值计算很容易出错。
【讨论】: