|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.01.2011, 19:36 | #1 |
Регистрация: 03.01.2011
Сообщений: 7
|
Определитель.
Есть программа которая рассчитывает определитель. Рассчитывает правильно))) только есть маленький минус. Определитель всегда положительный. Например ввожу матрицу
2 4 6 9 Определитель -6, а у меня 6((( Кому не сложно помогите найти ошибку... А то обращение сделала, но т.к. там надо рассчитывать определитель миноров такая же проблема((( Последний раз редактировалось LelikBolik; 05.01.2011 в 19:41. |
05.01.2011, 19:57 | #2 |
Пользователь
Регистрация: 23.05.2010
Сообщений: 53
|
Алгоритмическая реализация
Наивные методы для вычисления определителя могут быть основаны непосредственно на его определении, как суммы по перестановкам, или на разложении Лапласа по определителям меньшего порядка. Однако такие методы очень неэффективны, так как требуют О(n!) операций для вычисления определителя n-го порядка. Один из более быстрых методов заключается в простой модификации метода Гаусса. Следуя методу Гаусса, произвольную матрицу A можно привести к ступенчатому виду (Верхнетреугольная матрица), используя лишь две следующие операции над матрицей — перестановку двух строк и добавление к одной из строк матрицы другой строки, умноженной на произвольное число. Из свойств определителя следует, что вторая операция не изменяет определителя матрицы, а первая лишь меняет его знак на противоположный. Определитель матрицы, приведённой к ступенчатому виду, равен произведению элементов на её диагонали, так как она является треугольной, поэтому определитель исходной матрицы равен: где s — число перестановок строк, выполненных алгоритмом, а Aref — ступенчатая форма матрицы A, полученная в результате работы алгоритма. Сложность этого метода, как и метода Гаусса, составляет O(n3). Определитель можно вычислить, зная LU-разложение матрицы. Если A = LU, где L и U — треугольные матрицы, то detA = (detL)(detU). Определитель треугольной матрицы равен просто произведению её диагональных элементов. Если доступен алгоритм, выполняющий умножение двух матриц порядка n за время M(n), где , для некоторого a > 2, то определитель матрицы порядка n может быть вычислен за время O(M(n)).[1] В частности это означает, что, используя для умножения матриц алгоритм Копперсмита — Винограда, определитель можно вычислить за время O(n2.376). |
05.01.2011, 20:30 | #3 |
Регистрация: 03.01.2011
Сообщений: 7
|
Про (-1)S почему-то ничего не помню))) Спасибо, теперь знаю что доделать.
|
05.01.2011, 20:37 | #4 |
Пользователь
Регистрация: 23.05.2010
Сообщений: 53
|
попробуй,вроде бы работает
Последний раз редактировалось Блуд; 05.01.2011 в 20:43. |
05.01.2011, 21:10 | #5 |
Регистрация: 03.01.2011
Сообщений: 7
|
Спасибо тебе БОЛЬШОЕ!!! Все работает
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определитель матрицы 2 на 2 С++ | Mashul'ka | Помощь студентам | 1 | 03.11.2010 00:08 |
Определитель ip. | Baltimor | Свободное общение | 3 | 23.08.2010 20:29 |
Определитель матрицы | Snake_ua | Помощь студентам | 7 | 10.02.2010 10:44 |
Функция определитель | Ivan3000 | Помощь студентам | 1 | 04.06.2009 10:12 |
Определитель квадратной матрицы | Tomoyo | Помощь студентам | 22 | 04.11.2008 22:37 |