DAS_2024_1/tukaeva_alfiya_lab_6/README.md

30 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №6 - Определение детерминанта матрицы с помощью параллельных вычислений
## Задание
* Кратко: реализовать нахождение детерминанта квадратной матрицы. Что такое детерминант матрицы (или определитель) можно посмотреть по ссылке.
* Подробно: в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять нахождение отдельной группы множителей.
## Работа программы:
 1. Инициализирует три матрицы размером 100x100, 300x300 и 500x500 со случайными значениями.
 2. det(matrix) реализует алгоритм Гаусса для нахождения детерминанта квадратной матрицы.
 3. parallel_det(matrix, num_threads=1) использует пул потоков для ускорения вычислений. Для каждой строки матрицы создается поток, который обрабатывает все строки под ней, применяя необходимые преобразования.
### Результат:
![](result.png "")
### Вывод:
Параллельные вычисления могут значительно ускорить процесс нахождения детерминанта, особенно когда речь идет о больших матрицах. Тем не менее, иногда результаты вычисленного детерминанта могут различаться между последовательным и параллельным подходами.
# Видео
https://vk.com/video230744264_456239110?list=ln-LZEUeze0D4JCSQZ4LK