Самый эффективный способ проверить, является ли квадратная матрица полным рангом - PullRequest
3 голосов
/ 10 мая 2019

В настоящее время я имею дело с проблемой, в которой я должен регулярно проверять большое количество (1000+) квадратных матриц 8x8, чтобы увидеть, являются ли они полным рангом или нет.

Меня на самом деле не интересует звание, только оно является максимальным или нет. Какой алгоритм будет наиболее эффективным для выяснения?

- Edit-- Подробнее о матрицах: они, к сожалению, произвольные; ни симметричный, ни разреженный. Мало того, но некоторые из коэффициентов являются оценками гиперболических функций, поэтому обычно очень большие числа. Символьная версия проблемы уже была рассмотрена, пытаясь максимально упростить строки и столбцы (и пытаясь заменить как можно больше синх и кос) на танх.)

1 Ответ

2 голосов
/ 10 мая 2019

Используйте Гауссово исключение , чтобы преобразовать матрицы в треугольные из.Если во время этого процесса любой диагональный элемент становится равным 0, тогда матрица имеет меньший ранг.

Поскольку у вас так много независимых матриц, вы можете легко выполнять распараллеленные вычисления (easy = минимальная синхронизация между потоками).

...