什麼是矩陣與向量乘積?
矩陣與向量乘積是把一個 m×n 的矩陣 A 乘上一個 n 維行向量 x,產生一個全新的 m 維行向量 c = A·x。這是線性代數中最基礎的運算之一,舉凡線性變換、線性方程組、電腦圖學乃至機器學習,背後都仰賴它。本計算機處理的是實數運算,屬於純數學的範疇,不受任何地區或國家規則的限制,全世界通用。
計算機使用方法
先輸入矩陣 A 的列數 (i) 與行數 (j)。接著在格狀輸入框中填入矩陣的元素,每一列佔一行,數值之間以空格或逗號分隔。再輸入向量 x,每個數值為一項,且其長度必須等於 A 的行數。留空的儲存格會視為 0。最後按下計算,即可看到結果行向量。
公式說明
對於每一個輸出位置 \(i\)(從 1 到 m,也就是列數),結果分量是矩陣第 \(i\) 列各元素與向量各分量的加權總和:
$$c_i = a_{i1}\cdot x_1 + a_{i2}\cdot x_2 + \dots + a_{in}\cdot x_n$$
換句話說,這就是 A 的第 \(i\) 列與 x 的內積(點積)。只有當 A 的行數等於 x 的長度(行數 = n)時,這個乘法才有定義。此時輸出向量的長度為 m,也就是 A 的列數。
實例演算
設 A 為 3×3 矩陣,各列分別為 [1 2 3]、[4 5 6]、[7 8 9],且 x = (1, 0, -1)。則 $$c_1 = 1\cdot 1 + 2\cdot 0 + 3\cdot(-1) = -2,$$ $$c_2 = 4\cdot 1 + 5\cdot 0 + 6\cdot(-1) = -2,$$ $$c_3 = 7\cdot 1 + 8\cdot 0 + 9\cdot(-1) = -2.$$ 最終結果為行向量 c = (-2, -2, -2)。
常見問題
如果維度不相符會怎樣?若 A 的行數不等於 x 的長度,這個乘積就沒有定義,此時計算機會顯示一則驗證提示訊息,而不會給出數值結果。
A 可以不是方陣嗎?可以。例如 2×3 矩陣乘上 3 維向量,會得到 2 維向量。輸出向量的長度永遠等於 A 的列數。
1×n 矩陣的結果是什麼?1×n 矩陣乘上 n 維向量會得到單一分量,實際上就是兩個向量的內積(點積),在此以長度為 1 的向量呈現。