Как инвертировать матрицу 3х3, где каждый элемент является матрицей 3х3? - PullRequest
0 голосов
/ 05 февраля 2011

Я пытаюсь реализовать фильтр Калмана для объединения данных в C ++.Как часть проекта, мне нужно реализовать функцию для вычисления обратной матрицы 3х3, в которой каждый элемент сам является матрицей 3х3.Не могли бы вы помочь мне решить эту проблему?Я бы предпочел решение, которое требует наименьшего количества вычислений (наиболее эффективное использование процессора).

Еще один вопрос, поскольку фильтр Калмана зависит от обратной матрицы, как мне следует обрабатывать случай, когда матрица не является обратимой?

Спасибо за помощь.

1 Ответ

0 голосов
/ 05 февраля 2011

Вы можете сделать «маленькую матрицу», которая является каждым элементом «большой матрицы», которая содержит указатели на «маленькую матрицу», поэтому обращение к «большой матрице» займет столько же времени, сколько обращение к нормальной матрице целых,

Возможно, это самый быстрый алгоритм, который вы можете сделать, но подходит ли он для вашей реализации?Как объявлена ​​ваша матрица?

...