Python: operaciones con matrices numpy

Creado el: 2017-01-12 12:47:58, Actualizado el:
comments   0
hits   4036

Python: operaciones con matrices numpy

NOTA: NumPy es el sucesor de Numarray y se usa para reemplazar a NumArray. SAGE es un paquete de software matemático basado en NumPy y integrado con otras herramientas, con el objetivo de reemplazar a herramientas como Magma, Maple, Mathematica y Matlab. Hoy quise buscar información sobre NumPy en la red y probar con NumPy para la búsqueda de la matriz inversa, pero no encontré ninguna información en chino, un internauta en el foro me preguntó cómo hacer la búsqueda de la matriz inversa con Python, y nadie me respondió. Así que encontré el documento oficial de NumPy, en el que hay un pequeño apartado que presenta los objetos de la matriz, así que traduje este apartado al chino y hice una pequeña contribución, el tiempo es más corto, no hay manera de comprobar los errores de ortografía, hay problemas.

  • #### Objeto de la matriz

El tipo de matriz es heredado del tipo de ndarray, por lo que contiene todas las propiedades y métodos de datos de ndarray. Hay seis diferencias importantes entre el tipo de matriz y el tipo de ndarray, que pueden causar resultados no deseados cuando se opera con matrices como objetos de matriz.

    1. Los objetos de matriz se pueden crear usando una cadena al estilo Matlab, es decir, una cadena separada por columnas de espacios y separada por signos de puntuación.
    1. Los objetos de la matriz siempre son bidimensionales. Esto tiene consecuencias profundas, por ejemplo, el valor de retorno de m.ravel () es bidimensional, y el valor de retorno elegido por los miembros también es bidimensional, por lo que el comportamiento de la secuencia es esencialmente diferente al de la matriz.
    1. La multiplicación de tipo matriz cubre la multiplicación de array, usando la operación de multiplicación de la matriz. Cuando reciba el valor de la matriz que devuelve, asegúrese de que ya ha entendido el significado de estas funciones. En particular, la función de hecho array array (m) devuelve una matriz si m es una matriz.
    1. El cálculo de la matriz de tipo matriz también cubre el cálculo de la matriz anterior, utilizando la matriz de la matriz. De acuerdo con este hecho, recuerda que si se utiliza la matriz de una matriz como un parámetro de la llamada de asanaarray ((…) es lo mismo que lo anterior.
    1. La prioridad predeterminada de la matriz es 10.0, por lo que las operaciones de mezcla de ndarray y objetos de matriz siempre devuelven a la matriz ≠
    1. Las matrices tienen varias propiedades únicas que hacen que los cálculos sean más fáciles:
    • (a) .T – vuelve a su propia translación

    • (b) .H – vuelve a su propio desplazamiento de resonancia

    • © .I – regresa su propia matriz inversa

    • (d) .A – una vista de un array bidimensional que devuelve sus propios datos (sin hacer ninguna copia)

    La clase Matrix es una subclase de Python de ndarray, y también se puede aprender esta implementación para construir su propia subclase de ndarray. Los objetos de Matrix también se pueden construir con otros objetos de Matrix, cadenas de caracteres, u otros que se pueden convertir en los parámetros de una ndarray. Además, en NumPy, el parámetro de matriz es otro nombre para el parámetro de matriz.

  • Ejemplo 1: Construir una matriz con una cadena

  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]]
  • Ejemplo 2: Construcción de matrices con secuencias encapsuladas
  np.matrix([[  1.+0.j,   5.+0.j,  10.+0.j],
        [  1.+0.j,   3.+0.j,   0.+4.j]])
  • Ejemplo 3: Construcción de una matriz de array
  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 convertirá en una matriz el dato introducido con datos de parámetros. Si dtype es None, el tipo de dato será determinado por el contenido del dato. Si copy es True, se copiará el dato en el data, de lo contrario se utilizará el buffer de datos original. Si no se encuentra el buffer de datos, también se realizará una copia de los datos. Mat Es un nombre para la matriz. Asmatrix(data, dtype=None) Devuelve datos que no han sido copiados. Es el equivalente a matrix ((data, dtype, copy=False) Bmat(obj, ldict=None, gdict=None) Construir una matriz usando una cadena, una secuencia encapsulada o un array. Esta instrucción permite construir una matriz a partir de otros objetos. Se usan los parámetros ldict y gdict, que son los diccionarios de locales y módulos, solo cuando obj es una cadena. Si no los proporciona, los proporcionará el 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]]

Traducido de su frank