В ответе на предыдущий вопрос я упомянул распространенное, но ошибочное мнение, что «гауссовское» исключение происходит за времени. Хотя очевидно, что алгоритм использует O ( n 3 ) арифметических операций, небрежная реализация может создавать числа с экспоненциально большим количеством битов. В качестве простого примера, предположим, что мы хотим диагонализировать следующую матрицу:
Если мы используем версию алгоритма исключения без деления, которая добавляет только целочисленные кратные одной строки к другой, и мы всегда поворачиваемся на диагональном элементе матрицы, выходная матрица имеет вектор по диагонали.
Но что это фактическое время сложность исключения Гаусса? Большинство авторов комбинаторной оптимизации, похоже, довольны «сильно полиномиальными», но мне любопытно, что это за полином на самом деле.
Это все еще лучший анализ, известный? Существует ли стандартная ссылка, которая дает более четкую временную границу или, по крайней мере, лучшую оценку требуемой точности?
В более общем смысле: каково время работы (в целочисленном ОЗУ) самого быстрого алгоритма, известного для решения произвольных систем линейных уравнений?