Расстояние Махаланобиса, инвертирующее ковариационную матрицу

Я пишу функцию для определения расстояния Махаланобиса между двумя векторами. Я понимаю, что это достигается с помощью уравнения a '* C ^ -1 * b, где a и b - векторы, а C - ковариационная матрица. Мой вопрос заключается в том, существует ли эффективный способ найти обратную матрицу без использования исключения Гаусса-Джордана, или нет пути к этому? Я ищу способ сделать это сам, а не с помощью каких-либо предопределенных функций.

Я знаю, что C - эрмитова положительно определенная матрица, так есть ли способ, которым я могу алгоритмически воспользоваться этим фактом? Или есть какой-то умный способ вычислить расстояние Махаланобиса, не вычисляя инверсию ковариации вообще? Любая помощь будет оценена.

*** Редактировать: уравнение расстояния Махаланобиса выше неверно. Так должно быть x '* C ^ -1 * x, где x = (b-a), а b и a - два вектора, расстояние которых мы пытаемся найти (спасибо LRPurser). Следовательно, решение в выбранном ответе следующее:

d = x '* b, где b = C ^ -1 * x C * b = x, так что решите для b, используя факторизацию LU или LDL ' факторизации.

Ответы на вопрос(2)

Ваш ответ на вопрос