DAS_2023_1/romanova_adelina_lab_6
2024-01-16 19:24:25 +04:00
..
main.py romanova_adelina_lab_6_ready 2024-01-16 19:24:25 +04:00
README.md romanova_adelina_lab_6_ready 2024-01-16 19:24:25 +04:00
result.png romanova_adelina_lab_6_ready 2024-01-16 19:24:25 +04:00

Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений

Задание

Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять нахождение отдельной группы множителей.

Запуск программы

Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать:

python main.py

Описание работы программы

Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: обычного и параллельного.

  1. Обычный алгоритм

      Использует функцию numpy.linalg.det() для вычисления детерминанта.

  2. Параллельный алгоритм

      Разбивает матрицу на части и использует несколько потоков для параллельного вычисления детерминанта. Количество потоков задается вручную. Реализован с использованием библиотеки concurrent.futures.

Для каждого размера матрицы программа выводит время выполнения обычного и параллельного алгоритмов, а также соответствующие значения детерминантов.

Результат работы программы:

Вывод

Параллельное выполнение нахождения детерминанта может привести к ускорению, особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением.

Youtube

https://youtu.be/2HcM0LfTgQk