Nota: NumPy é o sucessor do Numarray, usado para substituir o NumArray. SAGE é um pacote de software de matemática integrado baseado no NumPy e em várias outras ferramentas, com o objetivo de substituir ferramentas como Magma, Maple, Mathematica e Matlab. Hoje eu queria procurar na internet algumas informações sobre o NumPy e tentar fazer um reverso de matriz com o NumPy, mas não encontrei nenhuma informação em chinês, alguns internautas pediram no fórum para saber como fazer um reverso de matriz com o python, e ninguém respondeu. Então eu encontrei o documento oficial do NumPy, onde há um pequeno parágrafo sobre objetos de matriz, então eu traduzi este parágrafo para o chinês, com uma pequena contribuição, o tempo é curto, não há como verificar erros de ortografia, há um problema.
O tipo de matriz herda o tipo de ndarray e, portanto, contém todos os atributos e métodos de dados do ndarray. O tipo de matriz tem seis diferenças importantes do tipo de ndarray, que podem causar resultados inesperados quando você opera os objetos da matriz como arrays.
1) Os objetos da matriz podem ser criados com uma string de estilo Matlab, que é uma string separada por uma coluna de espaços e separada por um decimal.
2) Os objetos da matriz são sempre bidimensionais. Isso tem implicações profundas, como o valor de retorno de m.ravel (() é bidimensional e o valor de retorno do membro selecionado também é bidimensional, portanto o comportamento da sequência será essencialmente diferente do da matriz.
3) A multiplicação do tipo de matriz cobre a multiplicação da matriz, usando a operação de multiplicação da matriz. Quando você receber o valor de retorno da matriz, certifique-se de que você entende o significado dessas funções.
4) As operações de matrizes de tipo array também cobrem as operações de matrizes anteriores, usando matrizes de matrizes. Baseado neste fato, lembre-se de que se usar matrizes de matrizes de matrizes como parâmetros, a chamada de assanarray[...] é a mesma que acima.
5) A prioridade array_default da matriz é 10.0, portanto, uma operação que misture os objetos ndarray e matrix sempre retorna a matriz.
6) As matrizes têm várias propriedades exclusivas que facilitam o cálculo, como:
(a).T -- Retornar ao seu próprio deslocamento
(b).H - Retornar ao seu próprio deslocamento de ressonância
©.I -- Retornar à sua própria matriz inversa
(d).A -- uma visão de um conjunto de matrizes em 2D que retorna seus próprios dados (sem fazer nenhuma cópia)
A classe matrix é uma subclasse de Python de ndarray, que você pode aprender a implementar para construir sua própria subclasse ndarray. Os objetos matrix também podem ser construídos com outros objetos matrix, palavras, strings ou outros que podem ser convertidos em parâmetros de ndarray.
Exemplo 1: Construção de matrizes usando strings
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]]
Exemplo 2: Construção de matrizes usando sequências de ninhos
np.matrix([[ 1.+0.j, 5.+0.j, 10.+0.j],
[ 1.+0.j, 3.+0.j, 0.+4.j]])
Exemplo 3: Construir uma matriz usando um conjunto
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)) Converte os dados transmitidos com o parâmetro data em matriz. Se o dtype for None, o tipo de dados será determinado pelo conteúdo dos dados. Se o copy for True, os dados dos dados serão copiados, caso contrário, o buffer original será usado.候会调用matrix.new(matrix, data, dtype, copy) Mat O nome da matriz é apenas um pseudônimo. Asmatrix (data, dtype=None) Retorna dados que não foram copiados. Equivalente a matriz ((data, dtype, copy=False)). Bmat (obj, ldict=None, gdict=None) Construir uma matriz usando uma string, uma sequência de ninhos ou um array. Este comando permite que você construa uma matriz a partir de outros objetos, onde os parâmetros Ldict e Gdict são usados quando obj é uma string.
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