Producto Hadamard

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 14 de agosto de 2020; las comprobaciones requieren 13 ediciones .

El producto de Hadamard [1] ( producto de Schur [2] , producto por componentes ) es una operación binaria sobre dos matrices de la misma dimensión, cuyo resultado es una matriz de la misma dimensión, en la que cada elemento con índices es el producto de elementos con índices de las matrices originales. La operación lleva el nombre del matemático francés Jacques Hadamard y el matemático alemán Isai Schur .

Definición y propiedades

Para dos matrices de la misma dimensión , el producto de Hadamard se define como el producto por componentes de dos matrices:

Para dos matrices que tienen dimensiones diferentes, el producto de Hadamard no está definido.

Ejemplo para matrices de 3×3:

.

Es una operación asociativa y distributiva y, a diferencia del producto matricial habitual, es conmutativa :

, , .

Propiedades de productos mixtos con otras variantes de multiplicación de matrices:

, donde  esta el producto Kronecker ; , donde  es el producto final [3] ; , donde es el producto de la  columna Khatri-Rao .

Aplicaciones

Se utiliza en algoritmos de compresión con pérdida , como JPEG .

En los paquetes de software MATLAB y GNU Octave , la operación se utiliza como una operación estándar de multiplicación de matrices y se indica con el símbolo ".*" [4] .

La operación del producto en tipos de datos vectoriales en tecnologías de programación GPGPU también se implementa de acuerdo con el principio de producto de Hadamard. Otras operaciones matemáticas primitivas en tipos de datos vectoriales se implementan como operaciones por componentes en sus componentes.

Versión en bloque

Producto final penetrante

Este tipo de operación de matriz se basa en el producto de Hadamard y le permite multiplicar la matriz elemento por elemento por un número arbitrario de bloques de la misma dimensión , formando una matriz de bloques [5] :

.

por ejemplo, para

obtenemos:

.

Propiedades principales :

; ,

donde es el símbolo del producto final de matrices.

, donde es un vector.

Este tipo de multiplicación de matrices fue propuesto en 1998 por Slyusar V.I. describir las respuestas de un conjunto de antenas digitales con canales de recepción no idénticos [5] . Además, este trabajo permite formalizar el proceso de funcionamiento de una red neuronal convolucional. Por ejemplo, si consideramos la matriz especificada como una matriz de píxeles de imagen a la entrada del algoritmo de la red neuronal, los bloques de la matriz corresponderán a diferentes conjuntos de coeficientes utilizados para formar una capa convolucional en varios canales paralelos de procesamiento de imágenes. por una red neuronal [6] .

La operación del producto final penetrante de un vector y una matriz se implementa en la biblioteca de aprendizaje automático de TensorFlow mediante la función integrada "tf.multiply" [6] [7] .

Notas

  1. Million, Elizabeth El producto de Hadamard . Consultado el 2 de enero de 2012. Archivado desde el original el 12 de junio de 2013.
  2. Davis, Chandler. "La norma de la operación del producto Schur". Numerische Mathematik 4.1 (1962): 343-344.
  3. Slyusar, VI Productos finales en matrices en aplicaciones de radar  // Sistemas de comunicaciones y radioelectrónica.– 1998, vol. 41; Número 3. - 1996. - 27 de diciembre. - S. 50-53 .
  4. Operadores aritméticos + - * / \ ^ ' - (enlace descendente) . Documentación de MATLAB . Trabajos matemáticos. Consultado el 2 de enero de 2012. Archivado desde el original el 24 de abril de 2012. 
  5. 1 2 Slyusar, VI Una familia de productos faciales de matrices y sus propiedades  //  Cibernética y análisis de sistemas C/C de Kibernetika I Sistemnyi Analiz. 1999. : diario. - 1998. - 13 de marzo ( vol. 35 , no. 3 ). - pág. 379-384 . -doi : 10.1007/ BF02733426 .
  6. 1 2 Slyusar VI Modelo tensor-matriz de redes neuronales. // Conferencia de Internet científica y práctica de toda Ucrania "Tecnologías de automatización e integración informática en el campo de la educación: campo, logros, perspectivas de desarrollo", 15 - 21 de febrero de 2021, Cherkasy, Cherkasy National Bogdan University
  7. Tensorflow, cómo multiplicar un tensor 2D (matriz) por los elementos correspondientes en un vector 1D. – 2017. . Consultado el 17 de enero de 2021. Archivado desde el original el 15 de octubre de 2021.

Literatura