Hadamard-szorzat

Innen: testwiki
A lap korábbi változatát látod, amilyen 2001:4c4e:1e4e:7300:e084:3fd9:e7ad:69bb (vitalap) 2022. február 13., 14:03-kor történt szerkesztése után volt. (Tulajdonságai)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Sablon:Má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 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

(AB)i,j=(A)i,j(B)i,j.

Kifejtve:

AB=(a11a12a1na21a22a2nam1am2amn)(b11b12b1nb21b22b2nbm1bm2bmn)=(a11b11a12b12a1nb1na21b21a22b22a2nb2nam1bm1am2bm2amnbmn)


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

Tulajdonságai

  • 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]
x*(AB)y=tr(Dx*ADyBT),
ahol x* az 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(AB)i,j=(ABT)i,i.

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(AB)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

Sablon:Jegyzetek

Sablon:Portál

  1. 1,0 1,1 Sablon:Cite web
  2. (Horn & Johnson 1991)
  3. 3,0 3,1 3,2 (Styan 1973)
  4. Sablon:Cite web