Hadamard-szorzat

Nem tévesztendő össze a következővel: Mátrixszorzás.

A matematikában a Hadamard-szorzat, más néven Schur-szorzat vagy elemenkénti szorzat egy kétváltozós művelet, aminek tényezői azonos dimenziójú mátrixok. A szorzatban álló elemek a tényezők megfelelő elemeinek szorzatai. Nevét a francia Jacques Hadamard vagy a német Issai Schur matematikusok után kapta. Jelölése {\displaystyle \circ } szimbólummal történik.

Definíció

Legyenek A és B ugyanolyan dimenziójú, m×n-es mátrixok. Ekkor A és B Hadamard-szorzata, AB is m×n-es mátrix, és

( A B ) i , j = ( A ) i , j ( B ) i , j {\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}} .

Kifejtve:

A B = ( a 11 a 12 a 1 n a 21 a 22 a 2 n a m 1 a m 2 a m n ) ( b 11 b 12 b 1 n b 21 b 22 b 2 n b m 1 b m 2 b m n ) = ( a 11 b 11 a 12 b 12 a 1 n b 1 n a 21 b 21 a 22 b 22 a 2 n b 2 n a m 1 b m 1 a m 2 b m 2 a m n b m n ) {\displaystyle A\circ B={\begin{pmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mn}\\\end{pmatrix}}\circ {\begin{pmatrix}b_{11}&b_{12}&\cdots &b_{1n}\\b_{21}&b_{22}&\cdots &b_{2n}\\\vdots &\vdots &\ddots &\vdots \\b_{m1}&b_{m2}&\cdots &b_{mn}\\\end{pmatrix}}={\begin{pmatrix}a_{11}\cdot b_{11}&a_{12}\cdot b_{12}&\cdots &a_{1n}\cdot b_{1n}\\a_{21}\cdot b_{21}&a_{22}\cdot b_{22}&\cdots &a_{2n}\cdot b_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{m1}\cdot b_{m1}&a_{m2}\cdot b_{m2}&\cdots &a_{mn}\cdot b_{mn}\\\end{pmatrix}}}


Nem azonos méretű mátrixokra a Hadamard-szorzást nem értelmezzük.

Tulajdonságai

  • Kommutatív (a közönséges mátrixszorzástól eltérően): A B = B A , {\displaystyle A\circ B=B\circ A,}
  • Asszociatív: A ( B C ) = ( A B ) C , {\displaystyle A\circ (B\circ C)=(A\circ B)\circ C,}
  • Disztributív a mátrixok összeadására: A ( B + C ) = A B + A C . {\displaystyle A\circ (B+C)=A\circ B+A\circ C.}
  • Identitásmátrixa az m×n-es mátrixok halmazán az az m×n-es mátrix, aminek minden eleme 1. Ez különbözik a szokásos identitásmátrixtól. Egy mátrix Hadamard-invertálható, ha egyik eleme sem nulla.[1]
  • A D x {\displaystyle D_{x}} és a D y {\displaystyle D_{y}} átlós mátrixokra, és főátlójukra mint x {\displaystyle x} és y {\displaystyle y} vektorokra teljesül:[2]
x ( A B ) y = t r ( D x A D y B T ) {\displaystyle x^{*}(A\circ B)y=\mathrm {tr} (D_{x}^{*}AD_{y}B^{T})} ,
ahol x {\displaystyle x^{*}} az x {\displaystyle x} adjungáltja. Általában, csupa egy vektorokkal megmutatható, hogy a Hadamard-szorzat elemeinek összege egyenlő ABT nyomával. Négyzetes A és B mátrixok Hadamard-szorzatának sorösszege éppen az ABT főátlóján álló elemei:[3]
j ( A B ) i , j = ( A B T ) i , i {\displaystyle \sum _{j}(A\circ B)_{i,j}=(AB^{T})_{i,i}} .
  • A Hadamard-szorzat a Kronecker-szorzat principális részmátrixa.

Schur szorzástétele

Pozitív szemidefinit mátrixok Hadamard-szorzata is pozitív szemidefinit.[3] Ez „Schur szorzástétele” néven ismert.[1] Sőt, ha A és B pozitív szemidefinit, akkor

det ( A B ) det ( A ) det ( B ) . {\displaystyle \det(A\circ B)\geq \det(A)\det(B).\,} [3]

Programozási nyelvekben

A Hadamard-szorzást egyes programozási nyelvek beépítetten tartalmazzák. A MATLAB nyelvben a .* számítja.[4] Fortranban és Mathematicában egyszerűen a * jelöli, míg a közönséges mátrixszorzat rendre a matmul függvénnyel, illetve . jellel számítható. Pythonban a sympy szimbolikus matematikai függvénytár tartalmazza, az array() adattípushoz kapcsolódóan, míg a közönséges mátrixszorzáshoz a mátrix (matrix)osztályt kell használni. A kettő között beépített konverziókkal lehet váltani. Az Eigen C++ függvénytár rendszere hasonló. R-ben a Hadamard-szorzat alapértelmezett, a mátrixszorzás a matrix.A%*%matrix.B alakban valósítható meg.

Alkalmazása

A Hadamard-szorzatot veszteséges tömörítő algoritmusok használják, például a JPEG.

Jegyzetek

  1. a b Million, Elizabeth: The Hadamard Product. (Hozzáférés: 2012. január 2.)
  2. (Horn & Johnson 1991)
  3. a b c (Styan 1973)
  4. Arithmetic Operators + - * / \ ^ ' -. MATLAB documentation. MathWorks. [2012. április 24-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012. január 2.)
  • matematika Matematikai portál • összefoglaló, színes tartalomajánló lap