# Лабораторная работа 6 — Параллельное вычисление детерминанта матрицы ## 1. Цель работы Изучение параллельного программирования на примере реализации алгоритмов вычисления детерминанта (определителя) квадратных матриц с использованием многопроцессности Python. ## 2. Как запустить лабораторную работу ### Предварительные требования: * Python 3.9+ * Библиотека NumPy ### Установка зависимостей ```bash pip install numpy ``` ### Запуск программы ```bash python matrix.py ``` Программа автоматически выполнит: 1. Тесты корректности на известных матрицах 2. Бенчмарки на матрицах размером 100×100, 300×300 и 500×500 элементов 3. Сравнение последовательного и параллельного алгоритмов ## 3. Структура проекта ``` matrix.py # Основной файл с реализацией алгоритмов README.md # Документация проекта ``` ## 4. Результаты тестирования На всех тестах одинаковый результат: Детерминант при использовании множества потоков(процессов) высчитывается дольше чем при использовании строго 1 потока (главного). Это происходит из-за необходимости тратить время на выделение потоков(процессов), а также необходимости объединять результаты # Сводная таблица результатов | Размер | Потоки | Время (сек) | Ускорение | |--------|---------|-------------|-----------| | 100 | 1 | 0.0100 | 1.00 | | 100 | 2 | 0.3408 | 0.03 | | 100 | 4 | 0.3861 | 0.03 | | 100 | 12 | 0.5920 | 0.02 | | 300 | 1 | 0.0783 | 1.00 | | 300 | 2 | 1.0641 | 0.07 | | 300 | 4 | 1.2565 | 0.06 | | 300 | 12 | 2.1755 | 0.04 | | 500 | 1 | 0.2195 | 1.00 | | 500 | 2 | 3.0588 | 0.07 | | 500 | 4 | 3.0725 | 0.07 | | 500 | 12 | 4.7439 | 0.05 | ## 5. Видео ВидеоСсылка на видео работы алгоритма: [Rutube](https://rutube.ru/video/private/b655cb0028629067f79920162bf3b199/?p=l5uLlZQUmoEgv6RSAm4cVA)