我正在编写一个函数来获取两个向量之间的马氏距离。我知道这是使用方程 a'*C^-1*b 实现的,其中 a 和 b 是向量,C 是协方差矩阵。我的问题是,有没有一种有效的方法可以在不使用 Gauss-Jordan 消除的情况下找到矩阵的逆矩阵,或者没有办法解决这个问题?我正在寻找一种方法来自己做这件事,而不是使用任何预定义的函数。
我知道 C 是 Hermitian 正定矩阵,那么有什么方法可以在算法上利用这个事实吗?还是有一些聪明的方法可以计算马氏距离而不计算协方差的倒数?任何帮助,将不胜感激。
***编辑:上面的马氏距离方程不正确。它应该是 x'*C^-1*x,其中 x = (ba),b 和 a 是我们试图找到其距离的两个向量(感谢 LRPurser)。因此,所选答案中提出的解决方案如下:
d=x'*b,其中 b = C^-1*x C*b = x,因此使用 LU 分解或 LDL' 分解求解 b。