.. | ||
main.py | ||
README.md | ||
result.png |
Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений
Задание
Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять нахождение отдельной группы множителей.
Запуск программы
Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать:
python main.py
Описание работы программы
Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: обычного и параллельного.
1. Обычный алгоритм
Использует функцию numpy.linalg.det()
для вычисления детерминанта.
2. Параллельный алгоритм
Разбивает матрицу на части и использует несколько потоков для параллельного вычисления детерминанта. Количество потоков задается вручную. Реализован с использованием библиотеки concurrent.futures
.
Для каждого размера матрицы программа выводит время выполнения обычного и параллельного алгоритмов, а также соответствующие значения детерминантов.
Результат работы программы:
Вывод
Параллельное выполнение нахождения детерминанта может привести к ускорению, особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением.