# Лабораторная работа №5: Вспоминаем математику или параллельное перемножение матриц ## Задание Реализовать умножение двух квадратных матриц двумя способами: обычным и параллельным. В параллельном алгоритме предусмотреть возможность задания количества потоков. Каждый поток должен выполнять умножение матрицы в своей зоне ответственности. ### Требования: 1. Обычное умножение матриц. 2. Параллельное умножение с ручным заданием количества потоков. 3. Бенчмаркинг для матриц размером 100x100, 300x300 и 500x500. ## Структура проекта Проект реализован в одном файле `main.py`. В нем содержатся: - Обычное умножение матриц. - Параллельное умножение с использованием многозадачности. - Генерация случайных матриц для тестирования. - Бенчмаркинг для проверки времени выполнения обоих алгоритмов. - Тесты для проверки корректности умножения. ## Видео https://cloud.mail.ru/public/Wzc4/FZCUnh5mk ## Заключение В ходе лабораторной работы были реализованы два алгоритма умножения матриц: обычный и параллельный. Параллельное умножение показало значительное ускорение при больших матрицах. Ожидаемо, для маленьких матриц разница в производительности между алгоритмами была незначительной. Параллельное умножение эффективно использует многозадачность для уменьшения времени выполнения на крупных матрицах.