32 lines
2.3 KiB
Markdown
32 lines
2.3 KiB
Markdown
Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений
|
||
|
||
## Задание
|
||
|
||
Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять нахождение отдельной группы множителей.
|
||
|
||
|
||
### Описание работы программы
|
||
|
||
Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: *обычного и параллельного*.
|
||
|
||
1. Обычный алгоритм
|
||
|
||
Использует функцию ```numpy.linalg.det()``` для вычисления детерминанта.
|
||
|
||
2. Параллельный алгоритм
|
||
|
||
Разбивает матрицу на части и использует несколько потоков для параллельного вычисления детерминанта. Количество потоков задается вручную. Реализован с использованием библиотеки ```concurrent.futures```.
|
||
|
||
Для каждого размера матрицы программа выводит полученные значения детерминантов и время выполнения обычного и параллельного алгоритмов.
|
||
|
||
### Результат работы программы
|
||
|
||
![](RVIP_lab_6.png "")
|
||
|
||
#### Вывод
|
||
|
||
Параллельное выполнение нахождения детерминанта может привести к ускорению, особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением.
|
||
|
||
# Видеозапись работы программы
|
||
|
||
https://vkvideo.ru/video186826232_456239557 |