Различные операции с матрицей Python NumPy могут включать сложение с помощью оператора add() или +, вычитание с помощью оператора subtract() или –, умножение с помощью оператора dot() или *, деление с помощью функции разделения(), или мы можем транспонировать матрицу с помощью T или transpose, инверсия с помощью linalg.inv() и степень с помощью linalg.matrix_power().

Содержание

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

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

Мы будем использовать функцию add() из библиотеки NumPy, чтобы добавить две матрицы в Python.

Пример. Рассмотрим ситуацию, когда нам нужно добавить две матрицы одинакового размера с помощью Python.

import numpy as np

day1_sales = np.array([[10, 20, 30]])
day2_sales = np.array([[15, 25, 35]])
total_sales = np.add(day1_sales, day2_sales)
print("Total sales over two days in each city:", total_sales)

Вывод:

Total sales over two days in each city: [[25 45 65]]

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

Таким образом, матричные операции Python NumPy складываются с помощью функции add() в Python.

Примечание. Мы можем просто использовать оператор + для добавления двух матриц в Python.

Вычитание матрицы

Условие вычитания матриц аналогично операции сложения, то есть матрицы должны быть одинакового размера. Функция subtract() из библиотеки NumPy в Python может помочь нам найти разницу между двумя матрицами.

Пример: давайте найдем разницу между двумя матрицами с помощью Python.

import numpy as np

day1_sales = np.array([[10, 20, 30]])
day2_sales = np.array([[14, 40, 10]])
profit = np.subtract(day2_sales, day1_sales)
print("Total profit in each sales category in two days:", profit)

Вывод:

Total profit in each sales category in two days: [[  4  20 -20]]

Операция вычитания np.matrix в Python

Матричная операция вычитания Python NumPy с помощью функции subtract() в NumPy.

Примечание. Мы можем просто использовать оператор – для вычитания двух матриц в Python.

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

Умножение матриц в Python NumPy, также известное как скалярное произведение для двумерных массивов, — это не то же самое, что поэлементное умножение. Итак, мы будем использовать функцию dot(), которая принимает на вход две матрицы и создает одну матрицу в Python.

Единственное необходимое условие — количество столбцов в первой матрице должно быть равно количеству строк во второй матрице в Python.

Пример 1. Давайте возьмем две матрицы и перемножим их поэлементно с помощью функции dot() в Python.

import numpy as np
units_sold = np.array([
    [30, 40],
    [50, 60],
    [70, 80]
])
pricing = np.array([
    [10, 15, 20],
    [22, 27, 30]
])
total_sales = np.dot(units_sold, pricing)
print("Total sales matrix:\n", total_sales)

Вывод:

Total sales matrix:
 [[1180 1530 1800]
 [1820 2370 2800]
 [2460 3210 3800]]

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

Пример 2. Мы также можем выполнять операции скалярного умножения с матрицей Python NumPy.

Операция скалярного умножения означает умножение каждого элемента матрицы NumPy на число. Мы можем выполнить эту операцию, используя оператор * в Python.

import numpy as np
distances_miles = np.array([[0, 2451, 789],
                            [2451, 0, 1745],
                            [789, 1745, 0]])
miles_to_km = 1.60934
distances_km = distances_miles * miles_to_km
print("Distances in Kilometers:\n", distances_km)

Вывод:

Distances in Kilometers:
 [[   0.      3944.49234 1269.76926]
 [3944.49234    0.      2808.2983 ]
 [1269.76926 2808.2983     0.     ]]

матричные операции умножения выполняются с помощью функции dot() и оператора *

Таким образом, в Python NumPy матричные операции умножения выполняются с помощью функции dot() и оператора *.

Операция деления матрицы

Существует операция деления двух матриц с использованием функции np.divide() из библиотеки NumPy в Python.

Эта функция вызывается с двумя аргументами, которые, как ожидается, будут массивами (или чем-то, что можно преобразовать в массивы) одинаковой формы. Функция Separation() выполняет поэлементное деление между двумя массивами, то есть каждый элемент массива делится на соответствующий элемент другого массива в Python.

Пример: давайте создадим два массива и попробуем применить к ним операцию деления через Python.

import numpy as np

expenses_a = np.array([200, 400])
expenses_b = np.array([150, 300])

expense_ratio = np.divide(expenses_a, expenses_b)
print("Expense Ratio of Household A to B:\n", expense_ratio)

Вывод:

Distances in Kilometers:
 [[   0.      3944.49234 1269.76926]
 [3944.49234    0.      2808.2983 ]
 [1269.76926 2808.2983     0.     ]]

Операция деления матрицы 

Операция транспонирования

Транспонирование матрицы означает переворачивание матрицы по диагонали. Строки становятся столбцами и наоборот. NumPy предоставляет метод transpose() или атрибут T для транспонирования матриц в Python.

Пример: здесь у нас есть матрица на Python, и мы хотим транспонировать ее и получить новую матрицу на Python.

import numpy as np

data = np.array([
    [10, 20, 30],
    [40, 50, 60],
    [70, 80, 90]
])
transposed_data = data.T
print("Transposed matrix(States as columns):\n", transposed_data)

Вывод: реализация кода на Python со снимком экрана:

Transposed matrix(States as columns):
 [[10 40 70]
 [20 50 80]
 [30 60 90]]

Операция транспонирования 

С помощью обратной операции

Обратная матрица — это матрица, которая при умножении на исходную матрицу дает единичную матрицу.

В Python библиотека NumPy предоставляет простой метод вычисления обратной матрицы с помощью функции numpy.linalg.inv().

Пример: возьмем матрицу и попробуем инвертировать ее с помощью Python.

import numpy as np

A = np.array([[1, 9, 8],
              [4, 5, 11],
              [7, 6, 3]])

A_inv = np.linalg.inv(A)
print("The inverse of the matrix A is:\n", A_inv)

Вывод:

The inverse of the matrix A is:
 [[-0.11434978  0.0470852   0.132287  ]
 [ 0.14573991 -0.11883408  0.0470852 ]
 [-0.02466368  0.12780269 -0.06950673]]

С помощью обратной операции

Мощность матрицы

Степень матрицы — это математическая операция, при которой матрица умножается сама на себя определенное количество раз. В Python это можно легко сделать с помощью библиотеки NumPy, которая предоставляет для этой цели функцию numpy.linalg.matrix_power().

Пример: возьмем матрицу на Python и найдем ее квадрат с помощью Python.

import numpy as np

migration_matrix = np.array([[1, 2, 3],
                             [4, 5, 6],
                             [7, 8, 9]])
two_year_migration = np.linalg.matrix_power(migration_matrix, 2)
print("The power of the matrix is:\n" ,two_year_migration)

Вывод:

The power of the matrix is:
 [[ 30  36  42]
 [ 66  81  96]
 [102 126 150]]

Мощность матрицы

Добавить комментарий