Odległość Mahalanobisa odwracająca macierz kowariancji

Piszę funkcję, aby wziąć odległość Mahalanobisa między dwoma wektorami. Rozumiem, że osiąga się to za pomocą równania a '* C ^ -1 * b, gdzie a i b są wektorami, a C jest macierzą kowariancji. Moje pytanie brzmi: czy istnieje skuteczny sposób na znalezienie odwrotności macierzy bez użycia eliminacji Gaussa-Jordana, czy też nie ma możliwości obejścia tego? Szukam sposobu, aby to zrobić sam, bez żadnych predefiniowanych funkcji.

Wiem, że C jest hermitowską, pozytywnie określoną matrycą, więc czy jest jakiś sposób, aby algorytmicznie wykorzystać ten fakt? Czy może jest jakiś sprytny sposób obliczania odległości Mahalanobisa bez obliczania odwrotności kowariancji? Każda pomoc byłaby doceniana.

*** Edytuj: Powyższe równanie odległości Mahalanobisa jest nieprawidłowe. Powinno być x '* C ^ -1 * x gdzie x = (b-a), a b i a są dwoma wektorami, których odległość próbujemy znaleźć (dzięki LRPurser). Rozwiązanie postawione w wybranej odpowiedzi brzmi zatem następująco:

d = x '* b, gdzie b = C ^ -1 * x C * b = x, więc rozwiąż dla b używając faktoryzacji LU lub faktoryzacji LDL.

questionAnswers(2)

yourAnswerToTheQuestion