Hadamard-szorzat
Kiejtés
- IPA: [ ˈhɒdɒmɒrtsorzɒt]
Főnév
A Hadamard-szorzat (vagy elemenkénti szorzás) egy mátrixművelet, amely két azonos méretű mátrixot összeszoroz úgy, hogy az eredmény mátrix egyes elemei az eredeti mátrixok megfelelő elemeinek szorzatai lesznek. Ez a művelet nem keverendő össze a mátrixszorzással, amely mátrixalgebrában használatos.
📌 Definíció
A Hadamard-szorzat két azonos dimenziójú mátrix között értelmezett művelet, amely során a szorzás az egyes elemek között történik, nem a sor- és oszlopösszegek alapján, mint a hagyományos mátrixszorzásban.
🧮 Formális leírás
Legyen és két azonos méretű, -es mátrix. A Hadamard-szorzatot így jelöljük:
Azaz:
🔢 Példa
Legyen:
A Hadamard-szorzatuk:
🎯 Alkalmazási területek
- Gépi tanulás és mélytanulás: pl. neuronhálók súlyainak frissítésében.
- Jelfeldolgozás: különböző szűrők alkalmazásánál.
- Statisztika: kovariancia mátrix elemenkénti kezelése.
- Numerikus módszerek: mátrixműveletek gyors végrehajtása SIMD vagy GPU használatával.
- Képfeldolgozás: képpontok maszkolása, szűrések.
🔄 Hadamard vs Mátrixszorzás
| Tulajdonság | Hadamard-szorzat | Mátrixszorzás |
|---|---|---|
| Méretfeltétel | Azonos méretű mátrixok | B oszlopszáma = A sorszáma |
| Művelet | Elemenkénti szorzás | Sor-oszlop szorzatok összege |
| Jelölés | vagy | |
| Kommutatív | ✔️ | ❌ (általában nem) |
| Asszociatív | ✔️ | ❌ (általában nem) |
📐 Tulajdonságai
Kommutatív:
Asszociatív:
Disztributív a mátrixösszeadásra nézve:
Skalárral való szorzás:
Nem invertálható általában, még akkor sem, ha minden elem ≠ 0.
💻 Implementáció
C++
vector<vector<int>> hadamard(const vector<vector<int>>& A, const vector<vector<int>>& B) {
int m = A.size(), n = A[0].size();
vector<vector<int>> result(m, vector<int>(n));
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
result[i][j] = A[i][j] * B[i][j];
return result;
}
Python (NumPy)
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = A * B # Hadamard product
MATLAB
A = [1 2; 3 4];
B = [5 6; 7 8];
C = A .* B; % Hadamard-szorzat
🔗 Kapcsolódó fogalmak
- Schur-szorzat: szinonim a Hadamard-szorzattal.
- Frobenius norm: , szoros kapcsolatban a Hadamard-szorzattal.
- Tenzorszorzat: teljesen más művelet, ne keverd!
- Convolution: nem azonos a Hadamard szorzattal; másfajta elemi művelet.
- Képmátrix maszkolás: gyakran Hadamard-szorzatot használ.
📚 Összefoglalás
A Hadamard-szorzat egy alapvető mátrixművelet, amely hasznos adatelemzés, gépi tanulás, jelfeldolgozás és képfeldolgozás során. Egyszerű és hatékony, különösen element-wise műveletekhez. Bár nem pótolja a mátrixszorzást algebrai értelemben, sok algoritmus szempontjából kulcsfontosságú eszköz.
Fordítások
- Hadamard-szorzat - Értelmező szótár (MEK)
- Hadamard-szorzat - Etimológiai szótár (UMIL)
- Hadamard-szorzat - Szótár.net (hu-hu)
- Hadamard-szorzat - DeepL (hu-de)
- Hadamard-szorzat - Яндекс (hu-ru)
- Hadamard-szorzat - Google (hu-en)
- Hadamard-szorzat - Helyesírási szótár (MTA)
- Hadamard-szorzat - Wikidata
- Hadamard-szorzat - Wikipédia (magyar)