diff --git a/kadyrov_aydar_lab_6/README.md b/kadyrov_aydar_lab_6/README.md index 8df6f90..bdfbd94 100644 --- a/kadyrov_aydar_lab_6/README.md +++ b/kadyrov_aydar_lab_6/README.md @@ -1,20 +1,17 @@ -# Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений - -## Задание - +Лабораторная работа 6. Определение детерминанта матрицы с помощью параллельных вычислений +Задание Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять нахождение отдельной группы множителей. -### Описание работы программы +Описание работы программы +Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: обычного и параллельного. -Программа реализует вычисление детерминанта квадратной матрицы с использованием двух алгоритмов: *обычного и параллельного*. - -  1. Обычный алгоритм + 1. Обычный алгоритм Функция minor(matrix, row, col) - Эта функция используется для удаления строки и столбца из матрицы, чтобы получить минор, который затем будет использован для вычисления детерминанта с помощью рекурсии. Функция determinant(matrix) - Эта функция вычисляет детерминант матрицы с использованием метода Лапласа. Если матрица — это 2x2, то вычисление происходит напрямую. Для больших матриц она рекурсивно вызывает себя для подматриц. -  2. Параллельный алгоритм + 2. Параллельный алгоритм parallel_determinant(matrix, num_threads=4) — Это функция, которая распределяет вычисления по нескольким потокам для ускорения работы. @@ -26,16 +23,13 @@ determinant(matrix) — Это основная функция для вычис minor(matrix, row, col) — Вспомогательная функция, которая создаёт минор матрицы, удаляя указанную строку и столбец. Минор необходим для вычисления детерминанта по разложению Лапласа. -Для каждого размера матрицы программа выводит время выполнения обычного и параллельного алгоритмов, а также соответствующие значения детерминантов. - -### Результат работы программы: +Для каждого размера матрицы программа выводит время выполнения обычного и параллельного алгоритмов, а также соответствующие значения детерминантов. +Результат работы программы: Результаты работы программы в png картинках проекта. -#### Вывод - -Параллельное выполнение нахождения детерминанта может привести к ускорению(но на больших данных, корректной настройки и оптимизации самого процесса), особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением. - -# ВК +Вывод +Параллельное выполнение нахождения детерминанта может привести к ускорению(но на больших данных, корректной настройки и оптимизации самого процесса), особенно на больших матрицах. Однако, для некоторых матриц, результаты детерминантов могут отличаться между обычным и параллельным выполнением. +ВК https://vk.com/video64471408_456239209?list=ln-EEX5GM4Xv1HnCnf9P1 \ No newline at end of file diff --git a/kadyrov_aydar_lab_6/main.py b/kadyrov_aydar_lab_6/app.py similarity index 99% rename from kadyrov_aydar_lab_6/main.py rename to kadyrov_aydar_lab_6/app.py index 34a3132..be176fc 100644 --- a/kadyrov_aydar_lab_6/main.py +++ b/kadyrov_aydar_lab_6/app.py @@ -1,4 +1,5 @@ import threading +#fix import time import random import numpy as np diff --git a/kadyrov_aydar_lab_6/result_1.png b/kadyrov_aydar_lab_6/result_1_.png similarity index 100% rename from kadyrov_aydar_lab_6/result_1.png rename to kadyrov_aydar_lab_6/result_1_.png