Определитель матрицы NxN
Добавлено: 25 дек 2007, 20:18
Подскажите плиз какой из способов нахождения определителя матрицы наиболее прост для реализации на С#, либо киньте код. Заранее оч благодарен.
Ну думаю тут нужно отталкиваться от определения определителя матрицы.6y6JIuk писал(а):Подскажите плиз какой из способов нахождения определителя матрицы наиболее прост для реализации на С#, либо киньте код. Заранее оч благодарен.
Не нужно помнить, нужно понимать. В универе в то время как многие учили, я гулял сдевками и бухал - и по вышке и матану никогда проблем не было - это вовсе не значит что я ботаник или еще кто-то. А по теме, нахождение определителя путем перестановок для больших матриц неприемлемо. Проще свести ее к треугольному виду и простейшим способом вычислить корни." писал(а):Я смарю Ромеро конкретно повезло с образованием... или он ботником был.
Несмотря на то что я это все изучал я уже нифига не помню
Это однозначно, сам замерял - пару лет назад нужно было считать определители матриц 256х256(!), а через перестановки это уже не шутка. Можно даже у себя код поискать, но он ассемблере, по теме не подойдет. Число проверок там очень мало, и строчных проходов тоже. Зато потом в итоге, получим определитель матрицы как произведение её диагональных элементов. Ну мне там надо было еще и сам вектор найти, но это уже другая история." писал(а): Приведение к треугольному, кстати, даже быстрее работать будет.
Если матрицы не большие можно и перестановки. В задаче не указан размер.Romeo писал(а):Нет, перестановки предложил jeep. Строго по определению определителя (т.е. использую перестановки) однозначно не эффективно. Я предложил разложение по строке. Можно, конечно, и к треугольному виду приводить, но там кучу проверок нужно делать дополнительных. Хотя, опять-таки, не смертельно. Приведение к треугольному, кстати, даже быстрее работать будет.
А вы случаем полную проблему не пробовали решать?somewhere писал(а):Это однозначно, сам замерял - пару лет назад нужно было считать определители матриц 256х256(!), а через перестановки это уже не шутка. Можно даже у себя код поискать, но он ассемблере, по теме не подойдет. Число проверок там очень мало, и строчных проходов тоже. Зато потом в итоге, получим определитель матрицы как произведение её диагональных элементов. Ну мне там надо было еще и сам вектор найти, но это уже другая история.