stringtranslate.com

Producto Hadamard (matrices)

El producto Hadamard opera sobre matrices de forma idéntica y produce una tercera matriz de las mismas dimensiones.

En matemáticas , el producto de Hadamard (también conocido como producto de elementos , producto de entrada [1] : cap. 5  o producto de Schur [2] ) es una operación binaria que toma dos matrices de las mismas dimensiones y devuelve una matriz de los elementos correspondientes multiplicados. Esta operación puede considerarse como una "multiplicación matricial ingenua" y es diferente del producto matricial . Se atribuye y lleva el nombre del matemático francés Jacques Hadamard o del matemático alemán Issai Schur .

El producto Hadamard es asociativo y distributivo . A diferencia del producto matricial, también es conmutativo . [3]

Definición

Para dos matrices A y B de la misma dimensión m × n , el producto de Hadamard (a veces [4] [5] [6] ) es una matriz de la misma dimensión que los operandos, con elementos dados por [3]

Para matrices de diferentes dimensiones ( m × n y p × q , donde mp o nq ), el producto de Hadamard no está definido.

Por ejemplo, el producto de Hadamard para dos matrices arbitrarias de 2 × 3 es:

Propiedades

La propiedad del producto mixto.

el producto de Kronecker

producto que parte la cara[14]

el producto Khatri-Rao

Teorema del producto de Schur

El producto de Hadamard de dos matrices semidefinidas positivas es semidefinida positiva. [3] [8] Esto se conoce como teorema del producto de Schur, [7] en honor al matemático ruso Issai Schur . Para dos matrices semidefinidas positivas A y B , también se sabe que el determinante de su producto de Hadamard es mayor o igual al producto de sus respectivos determinantes: [8]

Operaciones análogas

Otras operaciones de Hadamard también se ven en la literatura matemática, [15] a saber, laRaíz de Hadamard yPoder de Hadamard (que en efecto son lo mismo debido a los índices fraccionarios), definido para una matriz tal que:

Para

y para

ElEl inverso de Hadamard dice:[15]

ALa división de Hadamard se define como:[16][17]

En lenguajes de programación

La mayoría de los lenguajes de programación científicos o numéricos incluyen el producto Hadamard, con varios nombres.

En MATLAB , el producto de Hadamard se expresa como "multiplicación de puntos": a .* bo la llamada de función times(a, b):. [18] También tiene operadores de puntos análogos que incluyen, por ejemplo, los operadores a .^ by a ./ b. [19] Debido a este mecanismo, es posible reservar *y ^para la multiplicación de matrices y exponenciales de matrices, respectivamente.

El lenguaje de programación Julia tiene una sintaxis similar a la de MATLAB, donde la multiplicación de Hadamard se llama multiplicación transmitida y también se denota con a .* b, y otros operadores se definen de manera análoga por elementos, por ejemplo, el uso de poderes de Hadamard a .^ b. [20] Pero a diferencia de MATLAB, en Julia esta sintaxis de "punto" se generaliza con un operador de transmisión. genérico que puede aplicar cualquier función por elemento. Esto incluye tanto operadores binarios (como la multiplicación y exponenciación antes mencionadas, así como cualquier otro operador binario como el producto de Kronecker), y también operadores unarios como !y . Por tanto, cualquier función en notación de prefijo f se puede aplicar como f.(x). [21]

Python no tiene soporte integrado para matrices, lo que genera notaciones inconsistentes o conflictivas. La biblioteca numérica NumPy interpreta a*bo a.multiply(b)como el producto de Hadamard y utiliza a@bo a.matmul(b)para el producto matricial. Con la biblioteca simbólica SymPy , la multiplicación de objetos de matriz como a*bo a@bproducirá el producto de matriz. El producto Hadamard se puede obtener con la llamada al método a.multiply_elementwise(b). [22] Algunos paquetes de Python incluyen soporte para los poderes de Hadamard usando métodos como np.power(a, b)o el método Pandasa.pow(b) .

En C++, la biblioteca Eigen proporciona una cwiseProductfunción miembro para la clase Matrix ( ), mientras que la biblioteca Armadillo usa el operador para crear expresiones compactas ( ; es un producto matricial).a.cwiseProduct(b)%a % ba * b

En GAUSS y HP Prime , la operación se conoce como multiplicación de matrices.

En Fortran , R , APL , J y Wolfram Language ( Mathematica ), el operador de multiplicación *o ×aplica el producto de Hadamard, mientras que el producto matricial se escribe usando matmul, %*%, y +.×, respectivamente. El paquete R Matrixcalc introduce la función Hadamard Producto de matrices numéricas o vectores. [23]+/ .*.hadamard.prod()

Aplicaciones

El producto Hadamard aparece en algoritmos de compresión con pérdida como JPEG . La etapa de decodificación implica un producto entrada por entrada, es decir, el producto Hadamard. [ cita necesaria ]

En el procesamiento de imágenes , el operador Hadamard se puede utilizar para mejorar, suprimir o enmascarar regiones de la imagen. Una matriz representa la imagen original, la otra actúa como matriz de peso o de enmascaramiento.

Se utiliza en la literatura sobre aprendizaje automático , por ejemplo, para describir la arquitectura de redes neuronales recurrentes como GRU o LSTM . [24]

También se utiliza para estudiar las propiedades estadísticas de matrices y vectores aleatorios. [25] [26]

El producto facial penetrante

La cara penetrante producto de matrices.

Según la definición de V. Slyusar, el producto de la cara penetrante de la matriz p × g y la matriz n -dimensional ( n > 1) con bloques p × g ( ) es una matriz de tamaño de la forma: [27]

Ejemplo

Si

entonces

Propiedades principales

[27]

donde denota el producto de división de caras de matrices,

donde es un vector.

Aplicaciones

El producto de cara penetrante se utiliza en la teoría de matriz tensorial de conjuntos de antenas digitales . [27] Esta operación también se puede utilizar en modelos de redes neuronales artificiales , específicamente capas convolucionales. [28]

Ver también

Referencias

  1. ^ ab Horn, Roger A.; Johnson, Charles R. (2012). Análisis matricial . Prensa de la Universidad de Cambridge.
  2. ^ Davis, Chandler (1962). "La norma de funcionamiento del producto Schur". Matemática numérica . 4 (1): 343–44. doi :10.1007/bf01386329. S2CID  121027182.
  3. ^ abc Million, Elizabeth (12 de abril de 2007). "El producto Hadamard" (PDF) . buzzard.ups.edu . Consultado el 6 de septiembre de 2020 .
  4. ^ "Producto Hadamard - Glosario de aprendizaje automático". aprendizaje automático.wtf .
  5. ^ "álgebra lineal: ¿qué significa un punto en un círculo?". Intercambio de pilas de matemáticas .
  6. ^ "¿Notación de operaciones por elementos (o puntuales)?". Intercambio de pilas de matemáticas .
  7. ^ ab Millones, Elizabeth. "El producto Hadamard" (PDF) . Consultado el 2 de enero de 2012 .
  8. ^ abc Styan, George PH (1973), "Productos Hadamard y análisis estadístico multivariado", Álgebra lineal y sus aplicaciones , 6 : 217–240, doi :10.1016/0024-3795(73)90023-2, hdl : 10338.dmlcz /102190
  9. ^ Liu, Shuangzhe; Trenkler, Götz (2008). "Hadamard, Khatri-Rao, Kronecker y otros productos matriciales". Revista Internacional de Ciencias de la Información y Sistemas . 4 (1): 160-177.
  10. ^ Liu, Shuangzhe; Leiva, Víctor; Zhuang, Dan; Mamá, Tiefeng; Figueroa-Zúñiga, Jorge I. (2022). "Cálculo diferencial matricial con aplicaciones en el modelo lineal multivariado y su diagnóstico". Revista de análisis multivariado . 188 : 104849. doi : 10.1016/j.jmva.2021.104849 . S2CID  239598156.
  11. ^ Liu, Shuangzhe; Trenkler, Götz; Kollo, Tõnu; von Rosen, Dietrich; Baksalary, Oskar María (2023). "El profesor Heinz Neudecker y el cálculo diferencial matricial". Artículos estadísticos . doi :10.1007/s00362-023-01499-w.
  12. ^ Hola, Fumio; Lin, Minghua (febrero de 2017). "Sobre una desigualdad de valores propios que involucra el producto de Hadamard". Álgebra lineal y sus aplicaciones . 515 : 313–320. doi : 10.1016/j.laa.2016.11.017 .
  13. ^ "Proyecto" (PDF) . buzzard.ups.edu. 2007 . Consultado el 18 de diciembre de 2019 .
  14. ^ Slyusar, VI (1998). «Productos finales en matrices en aplicaciones de radar» (PDF) . Radioelectrónica y Sistemas de Comunicaciones . 41 (3): 50–53.
  15. ^ ab Resmas, Robert (1999). "Inversas de Hadamard, raíces cuadradas y productos de matrices casi semidefinidas". Álgebra lineal y sus aplicaciones . 288 : 35–43. doi : 10.1016/S0024-3795(98)10162-3 .
  16. ^ Wetzstein, Gordon; Lanman, Douglas; Hirsch, Mateo; Raskar, Ramesh. "Material complementario: Pantallas tensoriales: Síntesis de campo de luz compresivo utilizando pantallas multicapa con retroiluminación direccional" (PDF) . Laboratorio de medios del MIT .
  17. ^ Cyganek, Boguslaw (2013). Detección y reconocimiento de objetos en imágenes digitales: teoría y práctica. John Wiley e hijos. pag. 109.ISBN 9781118618363.
  18. ^ "Función de tiempos de MATLAB".
  19. ^ "Operaciones de matriz versus operaciones de matriz".
  20. ^ Operadores de "puntos" vectorizados . Consultado el 31 de enero de 2024 .
  21. ^ "Sintaxis de puntos para funciones de vectorización" . Consultado el 31 de enero de 2024 .
  22. ^ "Matrices comunes: documentación de SymPy 1.9".
  23. ^ "Multiplicación de matrices". Una introducción a R. El Proyecto R para Computación Estadística. 16 de mayo de 2013 . Consultado el 24 de agosto de 2013 .
  24. ^ Sak, Haşim; Mayor, Andrés; Beaufays, Françoise (5 de febrero de 2014). "Arquitecturas de redes neuronales recurrentes basadas en memoria a corto plazo para el reconocimiento de voz de gran vocabulario". arXiv : 1402.1128 [cs.NE].
  25. ^ Neudecker, Heinz; Liu, Shuangzhe; Polasek, Wolfgang (1995). "El producto Hadamard y algunas de sus aplicaciones en estadística". Estadísticas . 26 (4): 365–373. doi :10.1080/02331889508802503.
  26. ^ Neudecker, Heinz; Liu, Shuangzhe (2001). "Algunas propiedades estadísticas de los productos Hadamard de matrices aleatorias". Artículos estadísticos . 42 (4): 475–487. doi :10.1007/s003620100074. S2CID  121385730.
  27. ^ abc Slyusar, VI (13 de marzo de 1998). «Una Familia de Productos Faciales de Matrices y sus propiedades» (PDF) . Cibernética y Análisis de Sistemas C/C de Kibernetika I Sistemnyi Analiz. 1999 . 35 (3): 379–384. doi :10.1007/BF02733426. S2CID  119661450.
  28. ^ Ha D., Dai AM, Le QV (2017). "Hiperredes". La Conferencia Internacional sobre Representaciones del Aprendizaje (ICLR) 2017. – Toulon, 2017 .: Página 6. arXiv : 1609.09106 .{{cite journal}}: CS1 maint: multiple names: authors list (link)