Nota: O NumPy é o sucessor do Numarray, usado para substituir o NumArray. O SAGE é um pacote de software matemático baseado no NumPy e integrado com outras ferramentas, com o objetivo de substituir ferramentas como Magma, Maple, Mathematica e Matlab. Hoje eu queria procurar na internet sobre o NumPy e tentar usar o NumPy para fazer a inversão de matriz, mas não encontrei nenhuma informação em chinês, um usuário no fórum perguntou-me como fazer a inversão de matriz em Python, e ninguém respondeu. Por isso eu encontrei o documento oficial do NumPy, onde havia uma pequena seção sobre o objeto de matriz, então eu traduzi essa seção para o chinês e fiz uma pequena contribuição, o tempo foi mais curto, não havia como verificar erros de ortografia, havia um problema. Desculpe.
O tipo de matriz é herdado do tipo de ndarray e, portanto, contém todos os atributos e métodos de dados de ndarray. Há seis pontos importantes que diferenciam o tipo de matriz do tipo de ndarray, que podem levar a resultados não esperados quando você opera as matrizes como objetos de matriz.
(a) .T – retorna a sua própria translocação
(b) .H – volta para sua própria ressonância
© .I – retorna a sua própria matriz inversa
(d) .A – retorna uma visão de um array bidimensional de seus próprios dados (não fazendo nenhuma cópia)
A classe Matrix é uma subclasse do ndarray em Python, e você também pode aprender essa implementação para construir sua própria subclasse de ndarray. Os objetos Matrix também podem ser construídos usando outros objetos Matrix, strings, ou outros que podem ser convertidos em parâmetros de um ndarray. Além disso, no NumPy, a coluna matrix é um outro nome para a coluna matrix.
Exemplo 1: Construir uma matriz usando uma string
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]]
np.matrix([[ 1.+0.j, 5.+0.j, 10.+0.j],
[ 1.+0.j, 3.+0.j, 0.+4.j]])
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 ) Se o dtype for None, o tipo de dado será determinado pelo conteúdo do dado. Se o copy for True, o dado no dado será copiado, caso contrário, o data original será armazenado. Se o buffer do dado não for encontrado, o dado será naturalmente copiado. Nota: o matrix é de fato um tipo, portanto, quando você constrói uma instância, será chamada de matrix.new (matrix, data, dtype, copy). Mat É apenas um outro nome para a matriz. Asmatrix(data, dtype=None) Retorna dados que não foram copiados. É o equivalente a matrix ((data, dtype, copy=False) Bmat(obj, ldict=None, gdict=None) Construir uma matriz usando uma string, uma sequência embutida ou um array. Este comando permite que você construa uma matriz a partir de outros objetos. Os parâmetros ldict e gdict são usados somente quando obj é uma string, que são os dicionários de local e módulo. Se você não os fornecer, eles serão fornecidos pelo sistema.
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]]
Traduzido por su frank