Найти в Дзене
Программист о Data Science

День 11: Базовые операции над матрицами

Оглавление

Сложение матриц и умножение на число мало чем отличается от аналогичных операций с векторами.

Сложение матриц

Матрицы складываются по-элементно, при этом матрицы должны быть одинакового размера. Каждый элемент результирующей матрицы равен сумме соответствующих элементов слагаемых матриц:

Сложение матриц A и B
Сложение матриц A и B
Создание  и сложение матриц в NumPy практически ничем не отличается от векторных операций.
Создание и сложение матриц в NumPy практически ничем не отличается от векторных операций.

Умножение матрицы на число

Просто умножаем каждый элемент матрицы A на число k
Просто умножаем каждый элемент матрицы A на число k
Обратите внимание, что метод ones ожидает размерность матрицы в виде tuple'а
Обратите внимание, что метод ones ожидает размерность матрицы в виде tuple'а

Транспонирование

Более интересная операция - транспонирование - или переворот матрицы относительно главной диагонали матрицы. Результатом данной операции является другая матрица, где строка новой матрицы равна столбцу оригинальной.

Главная диагональ - это набор элементов на позиции где номер строки и колонки совпадает.
Степень T - обозначение операции транспонирования
Степень T - обозначение операции транспонирования

Перемножение матриц

Ранее мы рассматривали умножение матрицы на вектор, при этом матрица в данном контексте понималась как функция линейного преобразования принимающая на вход вектор и возвращающая каким-то образом преобразованный вектор.

Перемножение матриц реализовано исходя из той же логики - прямо как композиция функций в программировании. Если матрица A преобразует вектора из пространства M в пространство N, а матрица B преобразует вектора из пространства N в K, то произведение матриц AB вернёт некую матрицу C, которая является функцией преобразующей вектора из пространства M в пространство K.

Обратите внимание на размерность матриц
Обратите внимание на размерность матриц

При этом перемножающиеся матрицы должны удовлетворять критерию размерности. Количество столбцов первой матрицы должно равняться количеству строк во второй матрице. Результирующая матрица же будет иметь столько же строк сколько первая матрица и столько же столбцов сколько имеет вторая матрица.

Алгоритм перемножения матриц следующий:

Каждый элемент результирующей матрицы на пересечении i строки и j колонки - это сумма произведений всех элементов строки i матрицы A и всех соответствующих элементов колонки j матрицы B.
Каждый элемент результирующей матрицы на пересечении i строки и j колонки - это сумма произведений всех элементов строки i матрицы A и всех соответствующих элементов колонки j матрицы B.
Для описанного выше перемножения матриц нужно использовать функцию dot, в то время как оператор умножения вызывает поэлементное перемножение матриц - аналогичный тому как происходит сложение матриц
Для описанного выше перемножения матриц нужно использовать функцию dot, в то время как оператор умножения вызывает поэлементное перемножение матриц - аналогичный тому как происходит сложение матриц

Наука
7 млн интересуются