Меню Закрыть

Python перемножение матриц numpy

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

Матрицы в 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 складываются так же, как и числа.
Пример. Сложение матриц.
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 выполняется с помощью команды 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 вычисляется с помощью с помощью команды

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 )

Умножение матрицы на матрицу в Питоне выполняется с помощью команды 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 .

Читайте также:  Скрыть показать div по клику

Возведение матрицы в степень в Питоне выполняется с помощью команды 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)

Для решения системы двух линейных уравнений нужно задать два массива. Один массив будет содержать коэффициенты для 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

Для вычисления экспоненты числа или массива в Питоне используется команда 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

Матрица — это двухмерная структура данных, в которой числа расположены в виде строк и столбцов. Например:

Эта матрица является матрицей три на четыре, потому что она состоит из 3 строк и 4 столбцов.

Матрицы Python

Python не имеет встроенного типа данных для матриц. Но можно рассматривать список как матрицу. Например:

Читайте также:  Db owner ms sql

Этот список является матрицей на 2 строки и 3 столбца.

Обязательно ознакомьтесь с документацией по спискам Python , прежде чем продолжить читать эту статью.

Давайте посмотрим, как работать с вложенным списком.

Когда мы запустим эту программу, результат будет следующий:

Использование вложенных списков в качестве матрицы подходит для простых вычислительных задач. Но в Python есть более эффективный способ работы с матрицами – NumPy .

NumPy массивы

NumPy — это расширение для научных вычислений, которое поддерживает мощный объект N-мерного массива. Прежде чем использовать NumPy, необходимо установить его. Для получения дополнительной информации,

  • Ознакомьтесь: Как установить NumPy?
  • Если вы работаете в Windows, скачайте и установите дистрибутив anaconda Python. Он поставляется вместе с NumPy и другими расширениями.

После установки NumPy можно импортировать и использовать его.

NumPy предоставляет собой многомерный массив чисел (который на самом деле является объектом). Давайте рассмотрим приведенный ниже пример:

Как видите, класс массива NumPy называется ndarray.

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

В этой программе, мы использовали вложенные циклы для перебора каждой строки и каждого столбца. Этот метод простой, но не такой быстрый, если мы увеличим порядок матрицы. Вывод результата:

"- Слушай, как звать нашего преподавателя по алгебре? — Запомни, друг, всех преподавателей зовут «Извините, а можно Вас спросить?»… "

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.