Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2011, 19:36   #1
LelikBolik
 
Регистрация: 03.01.2011
Сообщений: 7
Печаль Определитель.

Есть программа которая рассчитывает определитель. Рассчитывает правильно))) только есть маленький минус. Определитель всегда положительный. Например ввожу матрицу
2 4
6 9

Определитель -6, а у меня 6(((

Кому не сложно помогите найти ошибку... А то обращение сделала, но т.к. там надо рассчитывать определитель миноров такая же проблема(((
Вложения
Тип файла: rar программа.rar (201.4 Кб, 26 просмотров)

Последний раз редактировалось LelikBolik; 05.01.2011 в 19:41.
LelikBolik вне форума Ответить с цитированием
Старый 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
LelikBolik
 
Регистрация: 03.01.2011
Сообщений: 7
По умолчанию

Про (-1)S почему-то ничего не помню))) Спасибо, теперь знаю что доделать.
LelikBolik вне форума Ответить с цитированием
Старый 05.01.2011, 20:37   #4
Блуд
Пользователь
 
Регистрация: 23.05.2010
Сообщений: 53
По умолчанию

попробуй,вроде бы работает
Вложения
Тип файла: rar Архив WinRAR.rar (1.2 Кб, 56 просмотров)

Последний раз редактировалось Блуд; 05.01.2011 в 20:43.
Блуд вне форума Ответить с цитированием
Старый 05.01.2011, 21:10   #5
LelikBolik
 
Регистрация: 03.01.2011
Сообщений: 7
По умолчанию

Спасибо тебе БОЛЬШОЕ!!! Все работает
LelikBolik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определитель матрицы 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