Рубрики
Без рубрики

Учебник на матрице Python

Мы можем реализовать матрицу Python в виде 2-D списка или 2-D массива. Для выполнения операций на Python Matrix нам нужно импортировать модуль Python Numpy.

Автор оригинала: 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.

Рекомендации