|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|||||||||||
Параллельная рекурсия22.01.2020, 19:19. Показов 2966. Ответов 20
Здраствуйте, мне нужна помощь с распараллеливанием функции для нахождения определителя квадратной двухмерной матрицы, размеры которой могут быть более 100*100. Код нашёл на просторах интернета, рабочий проверил, однако при больших матрица "задумывается".
0
|
|||||||||||
| 22.01.2020, 19:19 | |
|
Ответы с готовыми решениями:
20
Параллельная программа для метода холецкого с помощью openMp и mpi параллельная конфигурация |
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 20:05 [ТС] | |
|
Считает очень долго (23 минуты спустя ответ не получил)
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 20:16 [ТС] | |
|
Проверял на матрице 4*4, быстро посчитал
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 20:40 [ТС] | |
|
На секунду задумался, но посчитал
проверил результат через калькулятор матриц
0
|
|
|
|
||||||
| 22.01.2020, 21:06 | ||||||
Я считал не через миноры, я считал методом дописывания столбцов и строки матрицы. Тут есть примеры моего кода: https://github.com/Avazart/Bic... r/Matrix.h https://ideone.com/7yK0up Но что там там все же не так, по тому как 100x100 чет всегда выдает ноль 0. Что скорее всего не верно. Очевидно что нужно еще следить как-то за переполнением int при таких размерах матрицы ...
1
|
||||||
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 21:09 [ТС] | |
|
Массив ниже используется
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 21:16 [ТС] | |
|
Попробую сделать, спс
0
|
|
|
|
||||||
| 22.01.2020, 21:20 | ||||||
|
Называется "Правило Саррюса"
https://ru.wikipedia.org/wiki/... 1%81%D0%B0 Вот куски кода, но возможно есть ошибки
2
|
||||||
|
фрилансер
6466 / 5688 / 1131
Регистрация: 11.10.2019
Сообщений: 15,143
|
|
| 22.01.2020, 21:21 | |
|
JariXx, также можно заменить рекурсию на самодельный локальный стек, это и скорость чуток увеличит, и отладку упростит
а тут только Си или C++ можно ?
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 21:22 [ТС] | |
|
С++
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2018
Сообщений: 57
|
|
| 22.01.2020, 21:25 [ТС] | |
|
А разве Саррюс не для матрицы 3*3?
0
|
|
|
|
|||
| 22.01.2020, 22:09 | |||
|
Но боюсь я что-то накосячил с определение дописываемых элементов. Добавлено через 20 секунд Добавлено через 7 минут В теории можно и обойтись и без выделения памяти при разложении на миноры, но там все равно будет рекурсия и легче запутаться с индексами элементов. И опять же нужно следить за переполнением int Добавлено через 35 минут Короче я перепроверил свой код, вроде как из-за того что в int не влазиет происходит переполнение при суммирование и перемножении довольно быстро при таких размерах матрицы. Нужно брать int64 и больше (вроде в новых стандартах должны были появится). Так же по идее можно использовать библиотеку mpir
1
|
|||
|
736 / 702 / 110
Регистрация: 29.05.2015
Сообщений: 4,289
|
||
| 23.01.2020, 09:49 | ||
|
2. Рекурсия потребляет много лишней памяти - программа с рекурсией быстрее "выберет" всю доступную память и рухнет. Да на быстродействие рекурсия скорее всего плохо влияет - необходимость записывать в стек всю функцию, что бы вызвать следующую. Для больших вычислений лучше обходиться без неё. А что там за алгоритм, можно как-то проще объяснить на примере маленькой матрицы? А то неохота в чужом коде разбираться.
0
|
||
| 23.01.2020, 13:35 | |
|
Не по теме: alexu_007, В школе что плохо было с матрицами? Стандартный алгоритм у него - разложения на миноры
0
|
|
| 23.01.2020, 18:01 | |
|
0
|
|
| 23.01.2020, 18:01 | |
|
Помогаю со студенческими работами здесь
20
Параллельная прямая Параллельная обработка Параллельная обработка файлов
Параллельная конфигурация неправильна Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|