透過 MCP 連接 →

輸入計算

矩陣 A(以逗號或空格分隔,每列各佔一行)

矩陣 B

數學公式

廣告

結果

哈達瑪乘積(A ∘ B)
5 12 21 32
維度 2 × 2
所有元素總和 70

什麼是哈達瑪乘積?

哈達瑪乘積(Hadamard product)又稱為對應元素乘積(element-wise product)或舒爾乘積(Schur product),是將兩個維度完全相同的矩陣,逐一對應元素相乘。它和一般的矩陣乘法不同——並不是用列與行去做組合運算,而是讓輸出矩陣中的每個元素,等於兩個矩陣相同位置數值的乘積。它通常寫作 \(\text{A} \circ \text{B}\),在機器學習、訊號處理與影像處理等領域應用廣泛。

兩個網格按元素逐個組合成第三個網格
哈達瑪積按元素逐個相乘矩陣,並保持相同的維度。

如何使用這個計算器

先設定矩陣的列數與行數,接著輸入矩陣 A 與矩陣 B 的數值。每一列矩陣資料各佔一行,數字之間以空格或逗號分隔。計算器會輸出結果矩陣,其中每個元素皆等於 \(A_{ij} \times B_{ij}\),並一併計算所有結果元素的總和。

公式解析

對於兩個 \(m \times n\) 的矩陣 A 與 B,哈達瑪乘積 \(\text{C} = \text{A} \circ \text{B}\) 是一個 \(m \times n\) 矩陣,定義為

$$\left(\text{A} \circ \text{B}\right)_{ij} = A_{ij} \cdot B_{ij}\qquad 1 \le i \le \text{Rows},\; 1 \le j \le \text{Cols}$$

兩個矩陣必須具有完全相同的形狀;它不像一般矩陣乘法那樣需要計算列與行的內積。

Advertisement

實例演算

假設 \(\text{A} = [[1, 2], [3, 4]]\)、\(\text{B} = [[5, 6], [7, 8]]\),則

$$\text{A} \circ \text{B} = [[1 \times 5, 2 \times 6], [3 \times 7, 4 \times 8]] = [[5, 12], [21, 32]]$$

所有元素總和為 \(5 + 12 + 21 + 32 = 70\)。

兩個範例 2x2 矩陣按元素相乘得到結果矩陣
每個輸出元素等於 A 和 B 中對應元素的乘積。

常見問題

它和一般的矩陣乘法有什麼不同?矩陣乘法是針對列與行計算內積,且要求內側維度相符。哈達瑪乘積則只是把相同位置的元素相乘,要求兩矩陣維度完全相同。

如果兩個矩陣大小不一樣怎麼辦?哈達瑪乘積只對相同大小的矩陣有定義。本工具會依照你設定的維度,將缺少的元素以 0 補齊。

它通常用在哪些地方?常見於類神經網路(例如閘控機制、dropout 遮罩)、共變異數運算,以及像素層級的影像處理。

最後更新: