Библиотека NumPy в Python матрицы в питон

16 января 2019 - Администратор

Библиотека NumPy в Python матрицы в питон

В этом уроке мы разберём действия с матрицами в модуле NumPy в Python Питон.
NumPy это модуль для Python, предназначенный для научных расчётов. NumPy позволяет использовать в Питоне математические функции, такие как работа с матрицами, векторами, все тригонометрические функции, возведение в экспоненту и действия с логарифмами. NumPy используется в большинстве современных библиотек на Питоне. NumPy в Питон позволяет работать с матрицами гораздо быстрее, чем стандартные алгоритмы работы с матрицами.
Для более удобного использования NumPy импортируем этот модуль, используя постфикс as np.
import numpy as np
as np означает, что когда мы вызываем процедуры и функции из NumPy в Python, перед названиями этих процедур и функций вместо numpy мы будем писать np. Это позволит не только удобнее писать код, но и быстрее читать его. Например, вместо numpy.array([1, 2]) мы будем писать np.array([1, 2]).

Задание матриц и массивов в Python

Матрицы в NumPy в Питоне задаются с помощью команды np.array([]). В круглых скобках находится сам массив, в квадратных скобках находятся элементы массива.
Пример. Задание одномерного массива в python
import numpy as np
arr = np.array([1, 2])

Матрица в Python задаётся с помощью двумерного массива. Матрица это таблица  состоящая из строк и столбцов.  Двумерный массив задаётся с помощью той же команды, что и одномерный массив.
Пример. Задание матрицы двумерного массива и вывод различных его элементов на экран в python
import numpy as np
matrix = np.array([ ['first', 'second'], ['third', 'fourth'] ])
print(matrix[0, 0])
print(matrix[1, 1])

print(matrix[0, 0]) выведет первый элемент из первого массива внутри – first. print(matrix[1, 1]) выведет второй элемент внутреннего второго массива – fourth.
NumPy в Питоне может выполнять различные действия с матрицами, такие как сложение, умножение, возведение матрицы в степень и вычисление определителя матрицы.

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

Для сложения матриц в Питоне не используются никакие команды, матрицы в Python складываются так же, как и числа.
Пример. Сложение матриц.
import numpy as np
matrix1 = np.array([ [3, 5, 1], [8, 7, 2] ])
matrix2 = np.array([ [5, 3, 4], [1, 10, 9] ])
total = matrix1 + matrix2
print(total)

NumPy в Питоне позволяет складывать только матрицы одинаковых размеров.
Матрицы складываются с помощью сложения всех элементов массива с одинаковыми индексами. Матрица с суммами этих элементов является результатом сложения.

Умножение вектора на матрицу в python

Умножение матрицы на вектор в Python выполняется с помощью команды A.dot(B), где A и B это матрицы. Для выполнения умножения в Питоне нужно, чтобы количество столбцов матрицы A было равно количеству строк матрицы B.
Пример. Умножение матрицы на вектор в python
import numpy as np
a = np.array([ [2, 1], [2, 2], [4, 3] ])
b = np.array([ [1], [3] ])
total = a.dot(b)
print(total)

Умножение вектора на матрицу определено только тогда, когда число столбцов матрицы равно числу строк вектора. В этом примере была рассмотрена матрица размером 3×2 и вектор-строка размером 2×1. Число столбцов матрицы (2) равно числу строк вектора (2). В результате умножения матрицы на вектор получается вектор, у кторого число строк равно числу строк матрицы

Вычисление определителя матрицы в python

Определитель матрицы в Python вычисляется с помощью модуля NumPy с помощью команды np.linalg.det(A), где A это квадратная матрица. У квадратной матрицы количество строк равно количеству столбцов.
Пример. Вычисление определителя матрицы в python
import numpy as np
a = np.array([ [2, 1], [4, 3] ])
print(np.linalg.det(a))

Определитель может быть вычислен только для матриц с одинаковым количеством строк и столбцов – квадратных матриц. В этом примере с матрицей размерами 2×2 определитель матрицы равен разнице произведений диагоналей (2 * 3 – 1 * 4 = 2.0)

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

Умножение матрицы на матрицу в Питоне выполняется с помощью команды A.dot(B), где A и B это матрицы. Умножение определено, если количество столбцов A равно количеству строк B.
Пример. Умножение матрицы на матрицу в python
import numpy as np
a = np.array([ [2, 1, 3], [2, 2, 4] ])
b = np.array([ [1, 1], [3, 2], [2, 4] ])
total = a.dot(b)
print(total)

Чтобы умножение было определено, количество столбцов первой матрицы должно быть равно количеству строк второй матрицы. В этом примере умножаются матрицы размерами 2×3 и 3×2, результатом умножения является матрица размером 2×2.

Возведение матрицы в степень в python

Возведение матрицы в степень в Питоне выполняется с помощью команды np.linalg.matrix_power(A, P), где A – квадратная матрица, Pстепень, в которую возводится матрица, допускаются только целочисленные степени. Возводить в степень можно только квадратные матрицы, так как количество строк должно быть равно количеству столбцов матрицы.
Пример. Возведение матрицы в степень в python
import numpy as np
a = np.array([[1, 3], [2, 1]])
result = np.linalg.matrix_power(a, 2)
print(result)

Решение системы линейных уравнений в Python 

Для использования этой команды нужно задать два массива. Один массив будет содержать коэффициенты для x и y в каждом уравнении, второй массив будет содержать правые части уравнений. Для решения линейных уравнений используется команда в Python  np.linalg.solve(матрица левой части, вектор правой части)
Пример. Решение системы линейных уравнений в python
import numpy as np
a = np.array([[1, 2], [3, 2]])
b = np.array([5, 6])
result = np.linalg.solve(a, b)
print(result)

Эта программа на Python решает два линейных уравнения.
1x + 2y = 5
3x + 2y = 6

Вычисление экспоненты числа или матрицы в Python

Для вычисления экспоненты числа или массива в Питоне используется команда np.exp(A), где A – число или массив. Если возводится в экспоненту массив, то все элементы массива будут возведены в экспоненту.
Пример. Возведение вектора в экспоненту.
import numpy as np
a = np.array([2, 1, 5])
print(np.exp(a))

В этом примере результатом будет вектор с элементами [e^2,e^1,e^5], где e это основание натурального логарифма.

Вернуться к содержанию Следующая тема Графики функций и поверхностей в Python

Полезно почитать по теме матрицы и массивы в python:
Матрицы в python
Массивы в python

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!