# Лабораторная работа №5. ## Задание Реализовать умножение двух больших квадратных матриц ## Ход выполнения - Реализовать алгоритм перемножение матриц для потокового выполнения - Адаптировать алгоритм для параллельного выполнения: - Разделить данные на чанки, сохранив корректность вычислений ## Технологии - `numpy`: библиотека для работы с многомерными массивами и матрицами в Python. - `multiprocessing`: модуль Python, предоставляющий возможность создания и управления процессами, что позволяет реализовать параллельные вычисления. ## Ход работы - `sequential_multiply_matrix`: Функция выполняет последовательное умножение двух матриц. Перед умножением производится проверка на возможность выполнения операции. Результат сохраняется в новой матрице. - `parallel_multiply_matrix`: Функция выполняет параллельное умножение двух матриц, разделяя работу между указанным числом процессов. Также производится проверка на возможность умножения матриц. Результат сохраняется в новой матрице. - `perform_multiplication`: Вспомогательная функция, используемая в параллельном умножении. Каждый процесс выполняет умножение только для своего "куска" матрицы. ## Результаты ![](screens/Screenshot_1.png) ## Ссылка на видео https://drive.google.com/file/d/18GxoovYjWLUAOhtsORBzBUByu4HdIeY8/view?usp=sharing