Python — операции с матрицами numpy
Примечание: NumPy является преемником Numarray и используется в качестве замены NumArray. SAGE - это математический пакет программного обеспечения, основанный на NumPy и нескольких других инструментах, целью которого является замена таких инструментов, как Magma, Maple, Mathematica и Matlab.
Сегодня я хотел найти в интернете информацию о NumPy и попробовать использовать NumPy для обратной матрицы, но не смог найти никаких китайских материалов, и некоторые пользователи на форуме спросили, как использовать Python для обратной матрицы, и никто не ответил. Поэтому я нашел официальный документ NumPy, в котором есть небольшой раздел, посвященный объектам матрицы, поэтому я перевел этот раздел на китайский язык, внес небольшой вклад, время было коротким, не было возможности проверить орфографические ошибки, были проблемы.
-
1 , матрица (Matrix)
Тип матрицы наследует тип ndarray, поэтому содержит все свойства и методы данных ndarray. Тип матрицы отличается от типа ndarray шестью важными отличиями, которые приводят к непредвиденным результатам, когда вы действуете как объект матрицы, а не как матрицы.
-
- Объекты Matrix могут быть созданы с помощью строки в стиле Matlab, то есть строки, разделенные пробелами, разделенные знаками разделения.
-
- Объекты матрицы всегда двумерны. Это имеет далеко идущие последствия, например, возвращаемое значение m.ravel () является двумерным, возвращаемое значение, выбранное членами, также двумерно, поэтому поведение последовательности существенно отличается от поведения array.
-
- Умножение типа матрицы покрывает умножение матрицы, используя умножение матрицы. Когда вы получаете возвращаемое значение матрицы, убедитесь, что вы понимаете значение этих функций. В частности, фактически функция array array (m) возвращает матрицу, если m является матрицей.
-
- Матричные операции на матрице также покрывают предыдущие операции на матрице, используя матричную матрицу. В соответствии с этим фактом, напомним, что если использовать матричную матрицу в качестве параметра, то вызовasanarray (((...) будет таким же, как и выше.
-
- По умолчанию, array_priority матрицы 10.0, поэтому операции, смешанные с объектами narray и matrix, всегда возвращают матрицу.
-
- Матрицы имеют несколько уникальных свойств, которые делают вычисления проще:
-
(a) .T - возвращает свою собственную перестановку
-
(b) .H - возвращается к собственному резонансному перемещению
-
(c) .I - возвращает свою обратную матрицу
-
(d) .A - вид 2D-арритектов, возвращающий собственные данные (без создания каких-либо копий)
Класс Matrix - это один из подклассов python на ndarray, и вы можете изучить его реализацию, чтобы создать свой собственный подкласс ndarray. Matrix-объекты также могут быть созданы с помощью других объектов Matrix, строк или других параметров, которые могут быть преобразованы в параметры ndarray. Кроме того, в NumPy, <unk>mat<unk> - это другое название <unk>matrix<unk>.
-
-
Пример 1: Строй матрицу с помощью строки
import numpy as np a=np.mat('1 2 3; 4 5 3') print (a*a.T).I [[ 0.29239766 -0.13450292] [-0.13450292 0.08187135]] -
Пример 2: Конструирование матрицы с помощью настраиваемой последовательности
np.matrix([[ 1.+0.j, 5.+0.j, 10.+0.j], [ 1.+0.j, 3.+0.j, 0.+4.j]]) -
Пример 3: Использование матрицы построения
np.mat( np.random.rand(3,3) ).T np.matrix([[ 0.81541602, 0.73987459, 0.03509142], [ 0.14767449, 0.60539483, 0.05641679], [ 0.43257759, 0.628695 , 0.47413553]])Matrix( data, dtype=None, copy=True )
Если dtype - None, то тип данных будет определяться содержанием данных. Если copy - True, то будет копироваться данные из data, в противном случае будет использоваться буфер с исходными данными. Если буферные зоны данных не найдены, то, конечно, будет выполнена копия данных.
Mat
Это просто другое название матрицы.
Asmatrix(data, dtype=None)
Возвращает данные, которые не были скопированы. Эквивалент матрицы ((data, dtype, copy=False)
Bmat(obj, ldict=None, gdict=None)
Используйте строку, встроенную последовательность или матрицу (например, array) для построения матрицы. Эта команда позволяет создавать матрицы из других объектов. В ней используются параметры ldict и gdict, которые являются словарями локальных и модульных параметров, только когда obj является строкой.A=np.mat('2 2; 2 2'); B=np.mat('1 1; 1 1'); print(np.bmat('A B; B A')) [[2 2 1 1] [2 2 1 1] [1 1 2 2] [1 1 2 2]]
Перевод автора: su frank
- 1
