這個計算機的功能
本工具依據線性代數的標準規則,計算兩個矩陣的乘積 \(C = A\cdot B\) 或 \(C = B\cdot A\)。無論是方陣、長方形矩陣、列向量或行向量,都能順利處理。矩陣乘法屬於通用數學,沒有單位或地區之分,因此在世界任何地方算出的結果都完全一致。
使用方式
請以文字方式輸入矩陣 A 與矩陣 B。列與列之間用分號分隔,同一列的元素之間用逗號分隔。例如,矩陣 [[1,2],[3,4]] 要輸入成 1,2;3,4。接著選擇相乘的順序:A × B = C 或 B × A = C(兩者通常並不相同)。按下計算,即可看到乘積矩陣,以及其維度與左上角的元素值。
公式說明
對於乘積 \(M\cdot N = C\),其中 M 為 \(r \times s\)、N 為 \(s \times t\),每個元素為
$$c_{ik} = \sum_{j} \left(m_{ij}\cdot n_{jk}\right)$$換句話說,結果中第 i 列、第 k 行的元素,就是左矩陣第 i 列與右矩陣第 k 行的內積(點積)。只有當「內部維度」相符時,乘積才存在:也就是左矩陣的行數必須等於右矩陣的列數。
範例演算
設 A = [[1,2],[3,4]]、B = [[5,6],[7,8]],順序為 A × B。內部維度為 \(2 = 2\),因此結果是 \(2 \times 2\) 矩陣。
$$c_{11} = 1\cdot 5 + 2\cdot 7 = 19$$$$c_{12} = 1\cdot 6 + 2\cdot 8 = 22$$$$c_{21} = 3\cdot 5 + 4\cdot 7 = 43$$$$c_{22} = 3\cdot 6 + 4\cdot 8 = 50$$因此 C = [[19,22],[43,50]]。
常見問題
為什麼乘積有時無法定義?如果左矩陣的行數不等於右矩陣的列數,乘積就不存在,計算機會回報維度不相符。
A·B 和 B·A 一樣嗎?不一樣。矩陣乘法不具交換性;甚至可能其中一種順序有定義,另一種卻沒有定義。請用順序選擇器來指定。
可以相乘向量嗎?可以。\(1 \times n\) 的列向量乘上 \(n \times 1\) 的行向量,會得到一個 \(1 \times 1\) 的純量;反過來相乘則會得到一個 \(n \times n\) 的矩陣。