Есть ровно два способа умножения матриц.
- Чтобы умножить матрицу на скаляр. Это называется скалярным умножением.
- Чтобы умножить матрицу на другую матрицу. Это известно как умножение матриц.
В этом примере мы увидим умножение матриц с использованием массивов numpy с использованием метода numpy matmul (). Итак, давайте подробно рассмотрим этот метод.
- np.matmul
- Синтаксис
- Параметры
- Возвращаемое значение
- Пример программирования
- Программа для демонстрации работы метода numpy.matmul () в случае обычной двумерной матрицы:
- Вывод
- Объяснение
- Программа для демонстрации работы метода numpy.matmul () в случае, если какая-либо из матриц является одномерной матрицей
- Вывод
- Пояснение
- См. также
np.matmul
Чтобы умножить два массива в Python, используйте np .matmul () метод. Метод np.matmul () используется для нахождения матричного произведения двух массивов. Функция numpy matmul () принимает в качестве аргументов arr1 и arr2 и возвращает матричное произведение входных массивов.
В случае 2D-матриц — регулярная матрица товар возвращается. Если предоставленные матрицы имеют размерность больше 2, то они обрабатываются как стек матриц, находящихся в последних двух индексах, и затем транслируются соответствующим образом.
Если какой-либо из двух массивов одномерный, он перемещается в матрицу, добавляя 1 к его размерам. . После выполнения матричного умножения добавленная 1 удаляется.
Синтаксис
numpy.matmul (arr1, arr2, out = Нет)
Параметры
Функция matmul () принимает не более трех параметров:
arr1 : array_like, первый входной массив
arr2 : array_like, второй входной массив
out : ndarray, это необязательный параметр.
Это n-мерный массив, в котором должны храниться выходные данные. Предположим, что arr1 имеет форму (m, k), а arr2 имеет форму (k, n); они должны иметь форму (m, n). Если этот параметр не указан или None, возвращается только что выделенный массив.
Возвращаемое значение
Matmul ( ) возвращает матричное произведение входных массивов. Скаляр создается только тогда, когда и arr1, и arr2 являются одномерными векторами.
Пример программирования
Программа для демонстрации работы метода numpy.matmul () в случае обычной двумерной матрицы:
См. Следующий код.
# импорт модуля numpy импортировать numpy как np # первый двумерный массив arr1arr1 = np.array ([[2, 4], [6, 8]]) print ("первый массив:") print (arr1) print ("Форма первого массива: ", arr1.shape) # второго двумерного массива arr1arr2 = np.array ([[1, 3], [5, 7]]]" print ("второй массив:") print (arr2) print ("Форма второго массива:", arr2.shape) # вычисление матрицы productres = np.matmul (arr1, arr2) print ("Результирующий массив:") print (res) print ("Форма результирующего массива: ", res. shape)
Вывод
первый массив: [[2 4] [6 8]] Форма первого массива: (2, 2) второй массив: [[1 3] [5 7]] Форма второго массива: (2, 2) Результирующий массив: [[22 34] [46 74]] Форма результирующего массива: (2, 2)
Объяснение
В приведенной выше программе мы взяли два двумерных входных массива с именами arr1 и arr2; мы отобразили результат, отображая матричное произведение обоих массивов. Результирующий массив также будет иметь форму (2,2).
Для более глубокого понимания продукт может быть показан как:
Программа для демонстрации работы метода numpy.matmul () в случае, если какая-либо из матриц является одномерной матрицей
См. следующий код.
# импорт модуля numpy import numpy как np # первый двумерный массив arr1arr1 = np.array ([[3, 0], [0, 4]]) print ("первый массив: ") print (arr1) print (" Форма первого массива: ", arr1.shape) # второй двумерный массив arr1arr2 = np.array ([1, 2]) print (" второй массив: ") print ( arr2) print ("Форма второго массива:", arr2.shape) # вычисление матрицы productres = np.matmul (arr1, arr2) print ("Результирующий массив:") print (res) print ("Форма результирующего массива is: ", res.shape)
Вывод
первый массив: [[3 0] [0 4]] Форма первого массива: (2, 2) Второй массив: [1 2] Форма второго массива: (2,) Результирующий массив: [3 8] Форма результирующего массива: (2,)
Пояснение
В приведенной выше программе мы взяли двумерный входной массив с именем arr1 и еще один одномерный вектор с именем arr2. Затем мы отобразили результат, отобразив матричное произведение обоих массивов. Результирующий массив также будет иметь форму (2,).
Для более глубокого понимания продукта его можно понимать как:
Поскольку arr2 является 1-мерный вектор, он превращается в матрицу, добавляя к нему 1, и его можно отобразить как: [[11], [2,1]]. Теперь, после того, как матрица преобразования вычисляется как обычно, результат будет как [[3,3], [8, 4]], но добавленный столбец снова будет удален; следовательно, конечным результатом будет [3,8], имеющий форму (2,).
Наконец, метод Numpy matmul () в Python Tutorial завершен.
См. также
Numpy convolve ()
Numpy correlate ()
Numpy polyfit ( )
Numpy linalg det ()
Numpy arange ()