Примечание: NumPy является преемником Numarray и используется для замены NumArray. SAGE - это комплексный математический пакет, основанный на NumPy и нескольких других инструментах, целью которого является замена таких инструментов, как Magma, Maple, Mathematica и Matlab. Сегодня я хотел найти в Интернете некоторое представление о NumPy и попробовать использовать NumPy для поиска обратной матрицы, но я не нашел никакой информации на китайском языке. Некоторые пользователи на форумах попросили меня, как сделать матрицу с помощью python.
Тип матрицы наследует тип narray и, следовательно, содержит все свойства и методы данных narray. Тип матрицы имеет шесть важных отличий от типа narray, которые могут привести к непредвиденным результатам, когда вы используете объекты матрицы в качестве ареев.
1) Объекты матриц могут быть созданы с помощью строки в стиле Matlab, то есть строки, разделенной строками, разделенными числами.
2) Объекты матриц всегда двумерны. Это имеет далеко идущие последствия, например, возвращение значения m.ravel (() является двумерным, а возвращение значения, выбранного членом, также является двумерным, поэтому поведение последовательности будет отличаться по своей сути от поведения матрицы.
3) Умножение типа матрицы охватывает умножение матриц, используя умножение матриц. Когда вы получаете возвращенные значения матриц, убедитесь, что вы уже понимаете значение этих функций. В частности, факт того, что функция asanarray ((m)) возвращает матрицу, если это m-матрица.
4) Операции на матрице типа "А" также охватывают предыдущие операции на матрице типа "А" с использованием матрицы "А". На основании этого факта напомним, что если использовать матрицу типа "А" в качестве параметра, то вызов "asanarray" ((...) будет таким же, как и выше.
5) матрица имеет по умолчанию array_priority 10.0, поэтому комбинация narray и матричных объектов всегда возвращает матрицу.
6) Матрицы имеют несколько уникальных свойств, которые облегчают вычисления:
(a).T - возвращается к собственному местоположению
(b).H - возвращается к собственному резонансному перемещению
©.I - возвращение собственной обратной матрицы
(d).A - один из видов 2D-ареорий, возвращающих свои данные (без копирования)
Класс matrix - это Python-подкласс narray, и вы можете изучить эту реализацию, чтобы построить свой собственный narray-подкласс. Объекты matrix могут быть построены с помощью других матричных объектов, букв, строк или других параметров, которые могут быть преобразованы в narray. Кроме того, в NumPy кубический матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матричный матри
Пример 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)) Преобразует данные, переданные с параметром data, в матрицу. Если dtype является None, то тип данных будет определяться содержанием данных. Если copy является True, то данные в данных будут копироваться, в противном случае будет использоваться исходный буфер данных.候会调用matrix.new(matrix, data, dtype, copy) Мэтт Это просто прозвище матрицы. Asmatrix ((data, dtype=None)) Возвращает данные, которые не были скопированы. Bmat ((obj, ldict=None, gdict=None) Используйте строку, серию несеток или матрицу (array) для создания матрицы. Эта команда позволяет создавать матрицы из других объектов. При этом, когда obj является строкой, используются параметры ldict и gdict, которые являются локальными и модульными словарями. Если вы их не предоставляете, они будут предоставлены системой.
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]]
Перевод автора: Су Франк