Hadamardův součin

Z testwiki
Skočit na navigaci Skočit na vyhledávání
Hadamardův součin se týká matic stejného typu.

Hadamardův součin[1], Schurův součin[2] nebo součin po složkách je v matematice binární operací na maticích stejného typu. Výsledná matice se získá součinem odpovídajících složek daných matic. Ve srovnání se složitějším maticovým součinem je Hadamardův součin méně používaný.

Hadamardův součin je asociativní a distributivní vzhledem k součtu. Pokud je komutativní příslušný okruh, je i Hadamardův součin komutativní.

Hadamardův součin dvou pozitivně semidefinitních matic je opět pozitivně semidefinitní. Některé maticové parametry, např. normu, hodnost nebo spektrální poloměr, Hadamardova součinu lze odhadnout pomocí součinu příslušných parametrů výchozích matic.

Součin je pojmenován po francouzském matematiku Jacquesi Hadamardovi (1865–1963) a německém matematiku Issai Schurovi (1875–1941). Stejně jako se lze setkat s různými názvy, lze se setkat i s různými symboly: , [3][4], .* nebo .

Při výpočtu Hadamardova součinu se matice mezi sebou násobí po složkách.

Definice

Pro matice 𝑨,𝑩 typu m×n nad okruhem (R,+,), např. nad celými, reálnými nebo komplexními čísly, je Hadamardův součin 𝑨𝑩 definován předpisem:

(𝑨𝑩)i,j=ai,jbi,j

po rozepsání:

𝑨𝑩=(a1,1b1,1a1,nb1,nam,1bm,1am,nbm,n)Rm×n

Výsledkem je matice stejného typu m×n, jejíž každý prvek je určen součinem prvku matice 𝑨 na stejné pozici s odpovídajícím prvkem matice 𝑩.

Pro matice různých rozměrů, tj. pro typy m×n a p×q, kde mp nebo nq, není Hadamardův součin definován.

Ukázka

Hadamardův součin dvou reálných matic typu 2×3

𝑨=(231082) a 𝑩=(314795)

je

𝑨𝑩=(231082)(314795)=(233114078925)=(63407210)

Vlastnosti

Hadamardův součin v podstatě dědí vlastnosti základního okruhu. Je vždy asociativní, neboli pro matice 𝑨,𝑩,𝑪Rm×n platí:

𝑨(𝑩𝑪)=(𝑨𝑩)𝑪

Hadamardův součin je lineární vůči skalárnímu násobku v obou činitelích, neboli pro každé aR platí:

a(𝑨𝑩)=(a𝑨)𝑩=𝑨(a𝑩) .

Nad komutativním okruhem je i Hadamardův součin komutativní:

𝑨𝑩=𝑩𝑨

čímž se liší od běžně používaného maticového součinu.

Vůči součtu matic po složkách 𝑨+𝑩 platí distribuční zákony:

(𝑨+𝑩)𝑪=𝑨𝑪+𝑩𝑪 a 𝑨(𝑩+𝑪)=𝑨𝑩+𝑨𝑪 .

Pro transpozici Hadamardova součinu platí:

(𝑨𝑩)𝖳=𝑨𝖳𝑩𝖳

Hadamardův součin dvou symetrických matic je symetrický.

V Kroneckerově součinu 𝑨𝑩 matic 𝑨,𝑩Rm×n se Hadamardův součin 𝑨𝑩 vyskytuje jako podmatice určená sloupcovými indexy 1,n+2,2n+3,,n2 s řádkovými indexy1,m+2,2m+3,,m2. V důsledku pro hodnost těchto součinů platí:[5]

rank(𝑨𝑩)rank(𝑨𝑩)=rank𝑨rank𝑩

Diagonální matice

Na diagonálních maticích se Hadamardův součin se shoduje se standardním maticovým součinem 𝑫𝑫=𝑫𝑫.

Pro Hadamardův součin a standardní maticový součin, jichž se účastní diagonální matice 𝑫, platí následující vztahy:[6]

𝑫(𝑨𝑩)=(𝑫𝑨)𝑩=𝑨(𝑫𝑩)
(𝑨𝑩)𝑫=(𝑨𝑫)𝑩=𝑨(𝑩𝑫)
𝑫(𝑨𝑩)𝑫=(𝑫𝑨𝑫)𝑩=𝑨(𝑫𝑩𝑫)=(𝑫𝑨)(𝑩𝑫)=(𝑨𝑫)(𝑫𝑩)

V unitárních okruzích lze pomocí vektorů 1 ze samých jedniček ukázat, že součet všech prvků v Hadamardově součinu je roven stopě součinu 𝑨𝑩𝖳:[1]

tr(𝑨𝑩𝖳)=1m𝖳(𝑨𝑩)1n

Uvedený vztah lze zobecnit pro diagonální matice 𝑫𝒙Rm×m a 𝑫𝒚Rn×n s vektory 𝒙Rm a 𝒚Rn na diagonále:

𝒙𝖳(𝑨𝑩)𝒚=tr(𝑫𝒙𝑨𝑫𝒚𝑩𝖳)

Pro čtvercové matice 𝑨 a 𝑩 řádu n platí, že řádkové součty jejich Hadamardova součinu jsou diagonálními prvky součinu 𝑨𝑩𝖳:

i=1n(𝑨𝑩)i,j=(𝑩𝖳𝑨)j,j=(𝑨𝑩𝖳)i,i

Podobně platí:

(𝒙𝒚𝖳)𝑨=𝑫𝒙𝑨𝑫𝒚

Kombinaci Hadamardova součinu a součinu vektoru s maticí lze dále vyjádřit jako:

(𝑨𝑩)𝒚=diag(𝑨𝑫𝒚𝑩𝖳)

kde diag(𝑴) je vektor sestavený z prvků na diagonále matice 𝑴.

Algebraické vlastnosti

Množina matic typu m×n nad okruhem R tvoří opět okruh (Rm×n,+,) vzhledem k součtu a Hadamardovu součinu. Pokud je R unitární okruh s jednotkovým prvkem 1, pak má okruh matic také jednotkový prvek, jmenovitě jedničkovou matici 𝑱Rm×n, jejíž jsou všechny rovny 1. Pro všechny matice 𝑨Rm×n a jedničkovou matici 𝑱pak platí:

𝑨𝑱=𝑱𝑨=𝑨

Pokud je R těleso, potom lze matice, které neobsahují na žádné pozici nulový prvek, invertovat vzhledem k Hadamardovu součinu. Množina takto invertibilních matic pak tvoří grupu (Rm×n,), kde inverzní prvek 𝑨^ k matici 𝑨 je dán předpisem:

a^i,j=ai,j1

Vlastnosti pro reálné a komplexní matice

V následujících odstavcích jsou uvažovány jen matice řádu n nad tělesem T reálných nebo komplexních čísel.

Definitnost

Schurova věta o součinu z roku 1911[7] uvádí, že Hadamardův součin 𝑨𝑩 pozitivně semidefinitních matic 𝑨,𝑩Tn×n je opět pozitivně semidefinitní. Schur dokonce ukázal,[8] že pokud je matice 𝑩 pozitivně definitivní a matice 𝑨 je pozitivně semidefinitní s kladnými prvky na diagonále, pak je Hadamardův součin 𝑨𝑩 také pozitivně definitní.

Pro determinant Hadamardova součinu pozitivně semidefinitních matic 𝑨 a 𝑩 platí, že je větší nebo roven součinu jejich determinantů:[6]

det(𝑨𝑩)det(𝑨)det(𝑩)

Pro vlastní čísla Hadamardova součinu 𝑨𝑩 pozitivně semidefinitních matic navíc platí:

(min1inai,i)λmin(𝑩)λmin(𝑨𝑩)λmax(𝑨𝑩)(max1inai,i)λmax(𝑩)

Jsou-li 𝑨 a 𝑩 pozitivně definitní matice řádu n, pak pro každé k{1,,n} platí následující nerovnost zahrnující Hadamardův součin:[9]

i=knλi(𝑨𝑩)i=knλi(𝑨𝑩)

kde λi(𝑴) znamená i-té největší vlastní číslo matice 𝑴.

Diagonalizovatelné matice

Pokud je matice 𝑨 diagonalizovatelná, čili pokud ji lze rozložit na součin 𝑨=𝑺𝑫𝑺1, kde 𝑺 je regulární matice a 𝑫 je diagonální matice s vlastními čísly λ1,λ2,,λn matice 𝑨 na diagonále, tak potom platí:[10]

(a1,1a2,2an,n)=(𝑺(𝑺1)𝖳)(λ1λ2λn)

Singulární rozklad

Má-li čtvercová matice 𝑨 singulární rozklad 𝑨=𝑼Σ𝑽𝖧 se singulárními hodnotami σ1,σ2,,σn, potom pro ni platí:[10]

(a1,1a2,2an,n)=(𝑼(𝑽𝖧)𝖳)(σ1σ2σn)

Spektrální norma a poloměr

Je-li matice 𝑨 pozitivně definitní, pak pro spektrální normu Hadamardova součinu platí:[8]

𝑨𝑩2(max1inai,i)𝑩2 .

Pokud lze matici rozložit na součin dvou matic 𝑨=𝑿𝖧𝒀, pak platí:

𝑨𝑩2c(𝑿)c(𝒀)𝑩2

kde c(𝑴) je maximální euklidovská norma sloupcových vektorů matice 𝑴.

Pro spektrální normu a spektrální poloměr Hadamardova součinu platí:[5]

𝑨𝑩2𝑨𝑩2=𝑨2𝑩2
ρ(𝑨𝑩)ρ(𝑨𝑩)=ρ(𝑨)ρ(𝑩)

Indukovaná seskvilineární forma

Pro matice 𝑨,𝑩Tn×n vektory 𝒙,𝒚Tn a diagonální matice 𝑫𝒙,𝑫𝒚Tn×n s 𝒙 a 𝒚 na diagonále platí:[11]

𝒙𝖧(𝑨𝑩)𝒚=tr(𝑫𝒙𝖧𝑨𝑫𝒚𝑩𝖳)

V důsledku lze seskvilineární formu generovanou Hadamardovým součinem zapsat pomocí stopy. Následně lze ukázat, že Frobeniova norma je vzhledem k Hadamardově součinu submultiplikativní:[11]

𝑨𝑩F𝑨F𝑩F

Programování

Hadamardův součin je integrován do řady vědeckých nebo numerických programovacích jazyků různými způsoby:

  • V numerickém softwarovém balíku Matlab je Hadamardův součin reprezentován kombinací symbolů .*, zatímco * znamená standardní maticový součin.
  • V programovacím jazyce Fortran je Hadamardův součin implementován pomocí jednoduchého operátoru násobení *, zatímco součin matic je prováděn samostatnou rutinou matmul.
  • Podobně numerická knihovna NumPy v Pythonu interpretuje a*b nebo a.multiply(b) jako Hadamardův součin a pro maticový součin používá a@b nebo a.matmul(b). V symbolické knihovně SymPy, značí a*b a a@b maticový součin, zatímco Hadamardův součin se provádí voláním metody a.multiply_elementwise(b).[12]
  • Ve statistickém softwaru R je Hadamardův součin reprezentován *, zatímco maticový součin je realizován %*%.
  • V programovacích jazycích pro psaní shaderů, jako je GLSL, provede operátor * Hadamardův součin mezi dvěma vektory. Podobně operátor / provede Hadamardovo dělení. Operátor * se však také používá k výpočtu součinu dvou matic nebo matice s vektorem.
  • V C++ poskytuje knihovna Eigen funkci cwiseProduct. Knihovna Armadillo používá zápis a % b pro Hadamardův součin a a * b pro standardní součin.

Aplikace

Hadamardův součin s kvantizační maticí se používá ve ztrátových kompresních a dekompresních algoritmech, jako například JPEG.

Při zpracování obrazu lze Hadamardův součin použít pro vylepšení, potlačení nebo maskování oblastí obrazu. Jedna matice představuje původní obrázek, druhá funguje jako váha nebo maskovací matice.

Ve strojovém učení se používá například k popisu architektury rekurentních neuronových sítí jako GRU nebo LSTM.[13]

Používá se také ke studiu statistických vlastností náhodných vektorů a matic.[14][15]

Podíl po složkách

Analogickým způsobem jako součin lze definovat i podíl po složkách:[16]

𝑨𝑩=(a1,1/b1,1a1,n/b1,nam,1/bm,1am,n/bm,n)Rm×n, kde bi,j0 pro i{1,,m} a j{1,,n}

Odkazy

Reference

Šablona:Překlad

  1. 1,0 1,1 Šablona:Citace monografie
  2. Šablona:Cite journal
  3. Šablona:Citace monografie
  4. Šablona:Cite web
  5. 5,0 5,1 Horn: The Hadamard Product. In: Johnson (Hrsg.): Matrix Theory and Applications. 1990, S. 87–170, hier S. 96–100.
  6. 6,0 6,1 Šablona:Citace periodika
  7. Šablona:Citace periodika
  8. 8,0 8,1 Horn: The Hadamard Product. In: Johnson (Hrsg.): Matrix Theory and Applications. 1990, S. 87–170, hier S. 95.
  9. Šablona:Citace periodika
  10. 10,0 10,1 Elizabeth Million, University of Puget Sound: The Hadamard Product
  11. 11,0 11,1 Horn: The Hadamard Product. In: Johnson (Hrsg.): Matrix Theory and Applications. 1990, S. 87–170, hier S. 100–104.
  12. Šablona:Cite web
  13. Šablona:Citace elektronického periodika
  14. Šablona:Cite journal
  15. Šablona:Cite journal
  16. Šablona:Citace monografie

Literatura

Související články

Šablona:Autoritní data Šablona:Portály