Вычисление определителя матрицы в C ++ без создания подматриц - PullRequest
0 голосов
/ 30 мая 2018

Есть ли способ определить определитель данной матрицы в C ++, используя только одну переменную (первая загруженная матрица) и в следующих рекурсивных функциях, используя только ссылку на эту матрицу?

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

1 Ответ

0 голосов
/ 30 мая 2018

Если вы пытаетесь вычислить определитель для любой матрицы размером больше 3х3, используя правило Крамера, вы, безусловно, делаете что-то не так.Производительность будет ужасной.

Вероятно, самый простой подход для продумывания - использовать сокращение строк, чтобы превратить его в верхнюю треугольную матрицу.Найти определитель верхней треугольной матрицы легко - просто умножьте диагональ вниз.В остальном просто умножьте на постоянные коэффициенты, которые вы использовали, и помните, что каждый своп равен -1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...