kadyrov_aydar_lab_6_fix is ready

This commit is contained in:
NAP 2024-12-01 21:48:26 +04:00
parent b6079c266e
commit e61cfe3336
2 changed files with 11 additions and 17 deletions

View File

@ -1,20 +1,17 @@
# Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений
Задание
## Задание
Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять нахождение отдельной группы множителей. Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять нахождение отдельной группы множителей.
### Описание работы программы Описание работы программы
Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: обычного и параллельного.
Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: *обычного и параллельного*. 1. Обычный алгоритм
  1. Обычный алгоритм
Функция minor(matrix, row, col) - Эта функция используется для удаления строки и столбца из матрицы, чтобы получить минор, который затем будет использован для вычисления детерминанта с помощью рекурсии. Функция minor(matrix, row, col) - Эта функция используется для удаления строки и столбца из матрицы, чтобы получить минор, который затем будет использован для вычисления детерминанта с помощью рекурсии.
Функция determinant(matrix) - Эта функция вычисляет детерминант матрицы с использованием метода Лапласа. Если матрица — это 2x2, то вычисление происходит напрямую. Для больших матриц она рекурсивно вызывает себя для подматриц. Функция determinant(matrix) - Эта функция вычисляет детерминант матрицы с использованием метода Лапласа. Если матрица — это 2x2, то вычисление происходит напрямую. Для больших матриц она рекурсивно вызывает себя для подматриц.
  2. Параллельный алгоритм 2. Параллельный алгоритм
parallel_determinant(matrix, num_threads=4) — Это функция, которая распределяет вычисления по нескольким потокам для ускорения работы. parallel_determinant(matrix, num_threads=4) — Это функция, которая распределяет вычисления по нескольким потокам для ускорения работы.
@ -28,14 +25,11 @@ minor(matrix, row, col) — Вспомогательная функция, ко
Для каждого размера матрицы программа выводит время выполнения обычного и параллельного алгоритмов, а также соответствующие значения детерминантов. Для каждого размера матрицы программа выводит время выполнения обычного и параллельного алгоритмов, а также соответствующие значения детерминантов.
### Результат работы программы: Результат работы программы:
Результаты работы программы в png картинках проекта. Результаты работы программы в png картинках проекта.
#### Вывод Вывод
Параллельное выполнение нахождения детерминанта может привести к ускорению(но на больших данных, корректной настройки и оптимизации самого процесса), особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением. Параллельное выполнение нахождения детерминанта может привести к ускорению(но на больших данных, корректной настройки и оптимизации самого процесса), особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением.
# ВК ВК
https://vk.com/video64471408_456239209?list=ln-EEX5GM4Xv1HnCnf9P1 https://vk.com/video64471408_456239209?list=ln-EEX5GM4Xv1HnCnf9P1