Помогите мне сделать алгоритм определения ранга матрицы - PullRequest
0 голосов
/ 20 июля 2010

Я хочу создать программу, которая будет определять Ранг данной матрицы в C # консольном приложении. Но я не могу сделать алгоритм для этого. Можете ли вы помочь мне сделать этот алгоритм?

1 Ответ

2 голосов
/ 20 июля 2010

Вы можете просто использовать основной метод исключения Гаусса.Подсчет количества ненулевых строк даст вам ранг.Но этот метод не является действительно численно устойчивым.Как говорится в статье в Википедии, есть несколько других алгоритмов, таких как разложение по сингулярным значениям (SVD) или разложение QR с поворотом.Для обоих вы легко сможете найти базовые реализации.

Но работая с точными числами, необходимыми для этого, вы всегда должны думать о числовых неточностях IEEE-представления чисел в компьютере.Подробнее об этом читайте на: http://en.wikipedia.org/wiki/IEEE_754

...