2つのベクトル間のマハラノビス距離を取る関数を書いています。これは、方程式a'* C ^ -1 * bを使用して達成されることを理解しています。ここで、aとbはベクトルで、Cは共分散行列です。私の質問は、ガウスの消去法を使用せずに行列の逆行列を見つける効率的な方法はありますか、それともこれを回避する方法はありませんか?事前定義された関数ではなく、自分でこれを行う方法を探しています。
Cがエルミートの正定行列であることを知っているので、この事実をアルゴリズムで利用できる方法はありますか?または、共分散の逆数をまったく計算せずにマハラノビス距離を計算する賢い方法はありますか?どんな助けでもいただければ幸いです。
***編集:上記のマハラノビス距離の式は正しくありません。x'* C ^ -1 * xである必要があります。ここで、x =(ba)であり、bとaは、距離を見つけようとしている2つのベクトルです(LRPurserに感謝)。したがって、選択した回答に示されている解決策は次のとおりです。
d = x'* b、ここでb = C ^ -1 * x C * b = xなので、LU分解またはLDL'分解を使用してbを解きます。