透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

哈達瑪乘積 A ∘ B(矩陣 C)
5 12
21 32
每個元素 c_jk = a_jk × b_jk
運算 逐元素(Schur)乘積
維度 2 × 2

什麼是哈達瑪乘積?

兩個維度完全相同的矩陣 A 與 B,其哈達瑪乘積(又稱逐元素乘積、逐項乘積或 Schur 乘積)是一個矩陣 C,其中每一個元素都等於 A 與 B 對應位置元素的乘積,記作 \(C = A \circ B\)。要特別注意的是,這並非一般的矩陣乘法:它不需要對內層指標做加總,而是單純地逐項對應相乘。

兩個矩陣在對應位置逐元素組合成結果矩陣
哈達瑪積將兩個相同大小矩陣對應位置的元素相乘。

如何使用本計算器

先設定兩個矩陣共用的列數 (j) 與行數 (k),接著輸入矩陣 A 與矩陣 B,每一列佔一行,數值之間以空格或逗號分隔。如果想調整顯示的小數位數,可以選擇顯示精度(有效位數)。兩個矩陣都必須剛好是 j 列 k 行 — 若兩者形狀不同,哈達瑪乘積便無法定義,計算器會回傳錯誤訊息。

公式說明

對於每一個列指標 \(j\) 與行指標 \(k\),結果為 \(c_{jk} = a_{jk} \times b_{jk}\)

$$\left(A \circ B\right)_{jk} = a_{jk} \cdot b_{jk}, \quad j = 1 \ldots \text{Rows}, \; k = 1 \ldots \text{Cols}$$

輸出矩陣 C 與輸入矩陣維持相同的 \(j \times k\) 形狀。此運算具有交換律(\(A \circ B = B \circ A\))與結合律,其單位元素為全部元素皆為 1 的矩陣。元素可以是任意實數,包含 0 與負數;乘以 0 結果即為 0,而且因為運算中沒有除法,所以完全沒有除以零的風險。

Advertisement

實例演算

設 \(A = [[1, 2], [3, 4]]\)、\(B = [[5, 6], [7, 8]]\)。逐項對應相乘可得 \(c_{11} = 1 \times 5 = 5\)、\(c_{12} = 2 \times 6 = 12\)、\(c_{21} = 3 \times 7 = 21\)、\(c_{22} = 4 \times 8 = 32\),因此 \(C = [[5, 12], [21, 32]]\)。相對地,一般的矩陣乘積 \(A \cdot B\) 則為 \([[19, 22], [43, 50]]\) — 兩者明顯不同,正好印證本工具進行的是逐元素運算。

常見問答

它適用於向量與純量嗎?適用。列向量(\(1 \times k\))、行向量(\(j \times 1\))與純量(\(1 \times 1\))都可以使用,只要 A 與 B 的形狀相同即可。

如果 A 和 B 的尺寸不同怎麼辦?哈達瑪乘積便無法定義,你必須使用維度完全相同的矩陣。計算器會在尺寸不一致時提出警示。

精度下拉選單的作用是什麼?它只會改變顯示時的有效位數,純粹是格式上的選擇,並不會更動底層的實際運算結果。

最後更新: