From 1dc62651466087e88cbcb6d0022bc10cdcabc41d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D0=BE=D0=BF=D0=BE=D0=BB=D1=8C=D1=86?= =?UTF-8?q?=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=80?= Date: Wed, 18 Dec 2024 12:38:03 +0400 Subject: [PATCH] novopolcev_alexander_lab_6 is ready --- novopolcev_alexander_lab_6/README.md | 29 +++++++ novopolcev_alexander_lab_6/main.py | 117 ++++++++++++++++++++++++++ novopolcev_alexander_lab_6/result.jpg | Bin 0 -> 56514 bytes 3 files changed, 146 insertions(+) create mode 100644 novopolcev_alexander_lab_6/README.md create mode 100644 novopolcev_alexander_lab_6/main.py create mode 100644 novopolcev_alexander_lab_6/result.jpg diff --git a/novopolcev_alexander_lab_6/README.md b/novopolcev_alexander_lab_6/README.md new file mode 100644 index 0000000..c2ee988 --- /dev/null +++ b/novopolcev_alexander_lab_6/README.md @@ -0,0 +1,29 @@ +# Лабораторная работа №6 - Определение детерминанта матрицы с помощью параллельных вычислений + +## Задание + +* Кратко: реализовать нахождение детерминанта квадратной матрицы. Что такое детерминант матрицы (или определитель) можно посмотреть по ссылке. + +* Подробно: в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять нахождение отдельной группы множителей. + + +## Работа программы: + + 1. Инициализирует три матрицы размером 100x100, 300x300 и 500x500 со случайными значениями. + + 2. det(matrix) реализует алгоритм Гаусса для нахождения детерминанта квадратной матрицы. + + 3. parallel_det(matrix, num_threads=1) использует пул потоков для ускорения вычислений. Для каждой строки матрицы создается поток, который обрабатывает все строки под ней, применяя необходимые преобразования. + + +### Результат: + +![](result.jpg "") + +### Вывод: + +Параллельные вычисления способны существенно сократить время вычисления детерминанта для крупных матриц. Однако в некоторых случаях результаты, полученные при использовании параллельных алгоритмов, могут отличаться от тех, что были получены последовательными методами. + + +# Видео +https://disk.yandex.ru/i/cEJEMPxT7zBv-Q diff --git a/novopolcev_alexander_lab_6/main.py b/novopolcev_alexander_lab_6/main.py new file mode 100644 index 0000000..adacac0 --- /dev/null +++ b/novopolcev_alexander_lab_6/main.py @@ -0,0 +1,117 @@ +import random +import time +import copy +from multiprocessing import Pool +import concurrent.futures +from copy import deepcopy + + +class Matrix: + def __init__(self) -> None: + self.matrix_100 = [[0] * 100 for _ in range(100)] + self.matrix_300 = [[0] * 300 for _ in range(300)] + self.matrix_500 = [[0] * 500 for _ in range(500)] + + def str_matrix(self, type_list: str): + _str = "" + + current_matrix = getattr(self, type_list) + + for i in range(len(current_matrix)): + _str += "[ " + + for j in range(len(current_matrix[0])): + _str += str(current_matrix[i][j]) + " " + + _str += " ]\n" + + return _str + + +def init_matrix(matrix: Matrix, size: int): + for i in range(size): + for j in range(size): + matrix.__dict__[f"matrix_{size}"][i][j] = random.randint(0, 5) + + +def parallel_det(matrix, num_threads=1): + n = len(matrix) + m = deepcopy(matrix) + det_value = 1 + + for i in range(n): + if m[i][i] == 0: + for j in range(i + 1, n): + if m[j][i] != 0: + m[i], m[j] = m[j], m[i] + det_value *= -1 + break + else: + return 0 + + with concurrent.futures.ThreadPoolExecutor(max_workers=num_threads) as executor: + futures = [executor.submit(process_row, i, j, m, n) for j in range(i + 1, n)] + concurrent.futures.wait(futures) + + det_value *= m[i][i] + m = [list(row) for row in m] # Обновляем строки матрицы + + return det_value + + +def process_row(i, j, m, n): + factor = m[j][i] / m[i][i] + for k in range(i, n): + m[j][k] -= factor * m[i][k] + return m[j] + + +def det(matrix): + n = len(matrix) + m = [row[:] for row in matrix] + det_value = 1 + + for i in range(n): + if m[i][i] == 0: + for j in range(i + 1, n): + if m[j][i] != 0: + m[i], m[j] = m[j], m[i] + det_value *= -1 + break + else: + return 0 + + for j in range(i + 1, n): + factor = m[j][i] / m[i][i] + for k in range(i, n): + m[j][k] -= factor * m[i][k] + + det_value *= m[i][i] + + return det_value + + +def benchmark(): + matrix = Matrix() + init_matrix(matrix, 100) + init_matrix(matrix, 300) + init_matrix(matrix, 500) + + sizes = [100, 300, 500] + for size in sizes: + current_matrix = getattr(matrix, f'matrix_{size}') + + start_time = time.time() + seq_result = det(current_matrix) + seq_time = time.time() - start_time + print(f"Последовательный детерминант {size}x{size}: {seq_result}, Время: {seq_time:.6f}с") + + + start_time = time.time() + par_result = parallel_det(current_matrix, num_threads=4) # Измените число потоков по необходимости + par_time = time.time() - start_time + print(f"Параллельный детерминант {size}x{size}: {par_result}, Время: {par_time:.6f}с") + + +if __name__ == "__main__": + benchmark() diff --git a/novopolcev_alexander_lab_6/result.jpg b/novopolcev_alexander_lab_6/result.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6db3d67a64e0d9048d8842254ed3db000c556dde GIT binary patch literal 56514 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