|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 02 Apr 2003 10:01:57 To : Vadim Kusakin Subject : Ранг матрицы m*n --------------------------------------------------------------------------------
Mon Mar 31 2003 22:06, Vadim Kusakin wrote to All:
VK> Есть ли алгоритмы более оптимальные, чем следующий:
VK> 1. Hаходим минор k=1 порядка <> 0
VK> 2. Вычисляем окаймляющие его миноры k+1 порядка
VK> 3. Если они равны нулю то ранг равен k, если нет то k++, goto 2
Это во всяком случае если не наихудший алгоритм, то близкий к нему.
В зависимости от того, что важнее - точность или скорость, можно применить
один из двух методов:
1. Более точный, но медленный - сингулярное разложение (ранг равен числу
ненулевых сингулярных чисел)
2. Численно менее точный, но более быстрый - приведение к треугольному виду
(ранг равен числу ненулевых диагональных элементов). Впрочем, если работаем в
точной арифметике (рациональные числа, скажем...) - то он точный.
Евгений Машеров АКА СанитарЖеня
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300a29f354d.html, оценка из 5, голосов 10
|