Python -- operações com matriz numpy

Criado em: 2017-01-12 12:47:58, atualizado em:
comments   0
hits   4036

Python – operações com matriz numpy

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.

  • #### 1 , Matrix (Matrix) objetos

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.

    1. Os objetos Matrix podem ser criados usando uma string estilo Matlab, ou seja, uma string separada por colunas com espaços e separada por ponto.
    1. Os objetos da matriz são sempre bidimensionais. Isso inclui um impacto profundo, por exemplo, 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 é essencialmente diferente do do array.
    1. A multiplicação do tipo matrix cobre a multiplicação do array, usando a operação de multiplicação da matriz. Quando você recebe o valor de retorno da matriz, certifique-se de que você entende o significado dessas funções. Em particular, a função de fato array array (m) retorna uma matriz se m é uma matriz.
    1. A operação de matriz do tipo matrix também cobre a operação de matriz anterior, usando a matriz de uma matriz. De acordo com este fato, lembre-se de que, se você usar uma matriz de uma matriz como um parâmetro para chamar a asa-array (((…) é o mesmo que acima.
    1. O array_priority padrão da matriz é 10.0, portanto, uma operação de mistura de ndarray e objetos da matriz sempre retorna a matriz .
    1. A matriz tem várias propriedades únicas que facilitam o cálculo:
    • (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]]
  • Exemplo 2: Construção de matrizes usando sequências em cadeia
  np.matrix([[  1.+0.j,   5.+0.j,  10.+0.j],
        [  1.+0.j,   3.+0.j,   0.+4.j]])
  • Exemplo 3: Usando uma matriz de construção de arrays
  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