From b6079c266e0f5bd549b5f9be5c7d46b62db3b8e1 Mon Sep 17 00:00:00 2001 From: NAP Date: Sun, 1 Dec 2024 21:45:58 +0400 Subject: [PATCH 1/2] kadyrov_aydar_lab_6_fix is ready --- kadyrov_aydar_lab_6/main.py | 1 + kadyrov_aydar_lab_6/{README.md => readme.md} | 0 kadyrov_aydar_lab_6/{result_1.png => result_1_.png} | Bin 3 files changed, 1 insertion(+) rename kadyrov_aydar_lab_6/{README.md => readme.md} (100%) rename kadyrov_aydar_lab_6/{result_1.png => result_1_.png} (100%) diff --git a/kadyrov_aydar_lab_6/main.py b/kadyrov_aydar_lab_6/main.py index 34a3132..be176fc 100644 --- a/kadyrov_aydar_lab_6/main.py +++ b/kadyrov_aydar_lab_6/main.py @@ -1,4 +1,5 @@ import threading +#fix import time import random import numpy as np diff --git a/kadyrov_aydar_lab_6/README.md b/kadyrov_aydar_lab_6/readme.md similarity index 100% rename from kadyrov_aydar_lab_6/README.md rename to kadyrov_aydar_lab_6/readme.md 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 -- 2.25.1 From e61cfe3336a2ad671789bd0ee414c60ee66698cd Mon Sep 17 00:00:00 2001 From: NAP Date: Sun, 1 Dec 2024 21:48:26 +0400 Subject: [PATCH 2/2] kadyrov_aydar_lab_6_fix is ready --- kadyrov_aydar_lab_6/{readme.md => README.md} | 28 ++++++++------------ kadyrov_aydar_lab_6/{main.py => app.py} | 0 2 files changed, 11 insertions(+), 17 deletions(-) rename kadyrov_aydar_lab_6/{readme.md => README.md} (86%) rename kadyrov_aydar_lab_6/{main.py => app.py} (100%) diff --git a/kadyrov_aydar_lab_6/readme.md b/kadyrov_aydar_lab_6/README.md similarity index 86% rename from kadyrov_aydar_lab_6/readme.md rename to 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 100% rename from kadyrov_aydar_lab_6/main.py rename to kadyrov_aydar_lab_6/app.py -- 2.25.1