Автор оригинала: Pankaj Kumar.
Мы можем реализовать матрицу Python в форме 2-D списка или 2-D массив Отказ Для выполнения операций на Python Matrix нам нужно импортировать модуль Python Numpy.
Матрица Python важно в области статистики, обработки данных, обработки изображений и т. Д.
Создание матрицы Python
Матрица Python может быть создана с использованием одной из следующих методик:
- Используя списки
- С помощью метода Arange ()
- Используя Matrix () метод
1. Создание матрицы с использованием списков
numpy.array ()
Функция может быть использована для создания массива, использующего списки в качестве ввода к нему Отказ
Пример:
import numpy input_arr = numpy.array([[ 10, 20, 30],[ 40, 50, 60]]) print(input_arr)
Выход:
[[10 20 30] [40 50 60]]
Как видно выше, вывод представляет собой 2-D матрицу с заданным набором входов в виде списка.
2. Создание матрицы с использованием функции «Numpy.Arange ()»
numpy.arange ()
Функция вместе со входами списка можно использовать для создания матрицы в Python.
Пример:
import numpy print(numpy.array([numpy.arange(10,15), numpy.arange(15,20)]))
Выход:
[[10 11 12 13 14] [15 16 17 18 19]]
3. Создание матрицы с использованием функции «NUMPY.MATRIX ()»
numpy.matrix ()
Функция позволяет нам создать матрицу в Python.
Синтаксис:
numpy.matrix(input,dtype)
- Вход: ввод элементов для формирования матрицы.
- dtype: тип данных соответствующего выхода.
Пример:
import numpy as p matA = p.matrix([[10, 20], [30, 40]]) print('MatrixA:\n', matA) matB = p.matrix('[10,20;30,40]', dtype=p.int32) # Setting the data-type to int print('\nMatrixB:\n', matB)
Выход:
MatrixA: [[10 20] [30 40]] MatrixB: [[10 20] [30 40]]
Добавление матрицы в Python
Работа добавления на матрицах может быть выполнена следующими способами:
- Традиционный метод
- Используя оператор ‘+’
1. Традиционный метод
В этом традиционном методе мы в основном принимаем вход от пользователя, а затем выполните операцию сложения, используя для петлей (Треверс через элементы матрицы) и Оператор «+» Отказ
Пример:
import numpy as p ar1 = p.matrix([[11, 22], [33, 44]]) ar2 = p.matrix([[55, 66], [77, 88]]) res = p.matrix(p.zeros((2,2))) print('Matrix ar1 :\n', ar1) print('\nMatrix ar2 :\n', ar2) # traditional code for x in range(ar1.shape[1]): for y in range(ar2.shape[0]): res[x, y] = ar1[x, y] + ar2[x, y] print('\nResult :\n', res)
Примечание : Matrix.shape
Возвращает размеры определенной матрицы.
Выход:
Matrix ar1 : [[11 22] [33 44]] Matrix ar2 : [[55 66] [77 88]] Result : [[ 66. 88.] [ 110. 132.]]
2. Использование оператора ‘+’
Этот метод обеспечивает лучшую эффективность кода, поскольку он уменьшает LOC (строки кода) и, таким образом, оптимизирует код.
Пример:
import numpy as p ar1 = p.matrix([[11, 22], [33, 44]]) ar2 = p.matrix([[55, 66], [77, 88]]) res = p.matrix(p.zeros((2,2))) print('Matrix ar1 :\n', ar1) print('\nMatrix ar2 :\n', ar2) res = ar1 + ar2 # using '+' operator print('\nResult :\n', res)
Выход:
Matrix ar1 : [[11 22] [33 44]] Matrix ar2 : [[55 66] [77 88]] Result : [[ 66 88] [110 132]]
Матричное умножение в Python
Умножение матрицы в Python может быть предоставлена с использованием следующих способов:
- Скалярный продукт
- Матричный продукт
Скалярный продукт
В скалярном продукте, Скаляр/постоянное значение умножается на каждый элемент матрицы.
‘*’ Оператор используется для умножения скалярного значения с элементами входных матриц.
Пример:
import numpy as p matA = p.matrix([[11, 22], [33, 44]]) print("Matrix A:\n", matA) print("Scalar Product of Matrix A:\n", matA * 10)
Выход:
Matrix A: [[11 22] [33 44]] Scalar Product of Matrix A: [[110 220] [330 440]]
Матричный продукт
Как уже упоминалось выше, мы можем использовать Оператор «*» только для скалярного умножения Отказ Для того, чтобы продолжить умножение Matrix, нам нужно использовать numpy.dot ()
функция.
numpy.dot ()
Функция берет Numpy массивы в качестве параметра Значения и выполняет умножение в соответствии с основными правилами умножения матрицы.
Пример:
import numpy as p matA = p.matrix([[11, 22], [33, 44]]) matB = p.matrix([[2,2], [2,2]]) print("Matrix A:\n", matA) print("Matrix B:\n", matB) print("Dot Product of Matrix A and Matrix B:\n", p.dot(matA, matB))
Выход:
Matrix A: [[11 22] [33 44]] Matrix B: [[2 2] [2 2]] Dot Product of Matrix A and Matrix B: [[ 66 66] [154 154]]
Вычитание матрицы Python
‘-‘ Оператор используется для выполнения вычитания на матрице Python.
Пример:
import numpy as p matA = p.matrix([[11, 22], [33, 44]]) matB = p.matrix([[2,2], [2,2]]) print("Matrix A:\n", matA) print("Matrix B:\n", matB) print("Subtraction of Matrix A and Matrix B:\n",(matA - matB))
Выход:
Matrix A: [[11 22] [33 44]] Matrix B: [[2 2] [2 2]] Subtraction of Matrix A and Matrix B: [[ 9 20] [31 42]]
Разделение матрицы Python
Скалярное разделение Может быть выполнен на элементах матрицы в Python, используя ‘/’ Оператор Отказ
Оператор «/» разделяет каждый элемент матрицы со скалярным/постоянным значением.
Пример :
import numpy as p matB = p.matrix([[2,2], [2,2]]) print("Matrix B:\n", matB) print("Matrix B after Scalar Division operation:\n",(matB/2))
Выход:
Matrix B: [[2 2] [2 2]] Matrix B after Scalar Division operation: [[ 1. 1.] [ 1. 1.]]
Транспонировать матрицу Python
Транспоминация матрицы в основном включает переворачивание матрицы над соответствующими диагоналами I.e. Это обменяет строки и столбцы входной матрицы. Ряды становятся колоннами и наоборот.
Например: давайте рассмотрим матрицу A с размерами 3 × 2 I.e 3 ряда и 2 столбцами. После выполнения операции транспонирования размеры матрицы A будут 2 × 3 I.e 2 ряда и 3 столбца.
Matrix.t
В основном выполняет транспозью входной матрицы и производит Новая матрица в результате работы транспонирования.
Пример:
import numpy matA = numpy.array([numpy.arange(10,15), numpy.arange(15,20)]) print("Original Matrix A:\n") print(matA) print('\nDimensions of the original MatrixA: ',matA.shape) print("\nTranspose of Matrix A:\n ") res = matA.T print(res) print('\nDimensions of the Matrix A after performing the Transpose Operation: ',res.shape)
Выход:
Original Matrix A: [[10 11 12 13 14] [15 16 17 18 19]] Dimensions of the original MatrixA: (2, 5) Transpose of Matrix A: [[10 15] [11 16] [12 17] [13 18] [14 19]] Dimensions of the Matrix A after performing the Transpose Operation: (5, 2)
В приведенном выше фрагменте кода я создал матрицу размеров 2 × 5 I.E. 2 ряда и 5 столбцов.
После выполнения операции транспонирования размеры результирующей матрицы составляют 5 × 2 I.e. 5 рядов и 2 столбцами.
Экспонент матрицы Python
Шкафчик на матрице рассчитывается элемент-мудрый I.E. Эффективность каждого элемента рассчитывается путем повышения элемента к мощности входного скалярного/постоянного значения.
Пример:
import numpy matA = numpy.array([numpy.arange(0,2), numpy.arange(2,4)]) print("Original Matrix A:\n") print(matA) print("Exponent of the input matrix:\n") print(matA ** 2) # finding the exponent of every element of the matrix
Выход:
Original Matrix A: [[0 1] [2 3]] Exponent of the input matrix: [[0 1] [4 9]]
В приведенном выше фрагменте кода мы обнаружили экспонант каждого элемента входной матрицы, подняв его до мощности 2.
Работа умножения Matrix с использованием Numpy Methods
Следующие методики могут быть использованы для размножения Numpy Matrix Matrix:
- Использование метода умножения ()
- Использование метода Matmul ()
- Использование метода DOT () – уже покрыто в этой статье
Способ 1: Использование метода умножения ()
numpy.multiply ()
Метод выполняет разумное умножение элемента на входной матрице.
Пример:
import numpy as p matA = p.matrix([[10, 20], [30, 40]]) print('MatrixA:\n', matA) matB = p.matrix('[10,20;30,40]', dtype=p.int32) # Setting the data-type to int print('\nMatrixB:\n', matB) print("Matrix multplication using numpy.matrix() method") res = p.multiply(matA,matB) print(res)
Выход:
MatrixA: [[10 20] [30 40]] MatrixB: [[10 20] [30 40]] Matrix multplication using numpy.matrix() method [[ 100 400] [ 900 1600]]
Способ 2: Использование метода Matmul ()
numpy.matmul ()
Способ выполняет матричный продукт на входных матрицах.
Пример:
import numpy as p matA = p.matrix([[10, 20], [30, 40]]) print('MatrixA:\n', matA) matB = p.matrix('[10,20;30,40]', dtype=p.int32) # Setting the data-type to int print('\nMatrixB:\n', matB) print("Matrix multplication using numpy.matmul() method") res = p.matmul(matA,matB) print(res)
Выход:
MatrixA: [[10 20] [30 40]] MatrixB: [[10 20] [30 40]] Matrix multplication using numpy.matmul() method [[ 700 1000] [1500 2200]]
Я настоятельно рекомендую всем читателям пройти по-прежнему ниже учебное пособие, чтобы оказать тщательное понимание умножения Numpy Matrix: Обновление Numpy Matrix
Tumpy Matrix транспонимент
numpy.transose ()
Функция выполняет транспонирование на входной матрице и приводит к новой матрице.
Пример:
import numpy matA = numpy.array([numpy.arange(10,15), numpy.arange(15,20)]) print("Original Matrix A:\n") print(matA) print('\nDimensions of the original MatrixA: ',matA.shape) print("\nTranspose of Matrix A:\n ") res = matA.transpose() print(res) print('\nDimensions of the Matrix A after performing the Transpose Operation: ',res.shape)
Выход:
Original Matrix A: [[10 11 12 13 14] [15 16 17 18 19]] Dimensions of the original MatrixA: (2, 5) Transpose of Matrix A: [[10 15] [11 16] [12 17] [13 18] [14 19]] Dimensions of the Matrix A after performing the Transpose Operation: (5, 2)
Рекомендуется прочитать: Numpy Matrix Transpose () Функция
Заключение
Таким образом, в этой статье мы поняли операции, выполненные на матрице Python, а также посмотрели на операции Numpy Matrix.