有下面兩個矩陣A和B,試求A+B和A-B
矩陣A和矩陣B相加減的規則是同行同列的元素進行加減操作,計算結果作為結果矩陣的同行同列的元素。
A+B計算過程如下所示:
A-B計算過程如下所示:
在上面計算A+B的過程中,A[1,1]與B[1,1]相加得7,7作為結果矩陣C[1,1]的值,A[1,2]與B[1,2]相加得5,5作為結果矩陣C[1,2]的值,A[1,3]與B[1,3]相加得1,1作為結果矩陣C[1,3]的值,A[2,1]與B[2,1]相加得11,11作為結果矩陣C[2,1]的值,……,依次類推,求出結果矩陣C。
同理,可以求出A-B的結果矩陣C。
兩個矩陣相減,也可以使用加法來解決。我們知道減去一個數,等於加上這個數的相反數。例如:
-1-(-7) = -1 + ((-1)(-7))= 6
求一個數的相反數,可以用-1去乘以這個數,因為互為相反數的兩個數的商為-1(0除外)。
兩個矩陣相減,也可以這麼計算:
A-B = A + (-1)* B
在線性代數中,常數也稱為標量,標量是一個單獨的數,只有數值沒有方向。後面的課程我們會講到向量,向量是一組數,既有大小也有方向。
標量與矩陣相乘,結果矩陣與原矩陣的行列數相同,其元素的值是原矩陣中每個對應元素與標量相乘的數值。
(-1)* B的計算過程如下所示:
在上面計算-1 * B的過程中,-1與B[1,1]相乘得-8,-8作為結果矩陣D[1,1]的值,-1與B[1,2]相乘得-2,-2作為結果矩陣D[1,2]的值,-1與B[1,3]相乘得1,1作為結果矩陣D[1,3]的值,-1與B[2,1]相乘得-6,-6作為結果矩陣D[2,1]的值,……,依次類推,求出結果矩陣D。
然後,計算A+D,A+D的結果就是A-B的結果。
注意:兩個矩陣的加減規則只能用於兩個行列數相同的矩陣,當兩個矩陣的行列數不同時,不能進行加減操作。
下面我們使用Python語言來實現A+B和A-B的計算過程。
在Python語言中,矩陣可以使用兩層嵌套列表來存儲。第一層列表元素也是一個列表,第二層列表存儲矩陣的元素。使用雙重for循環可以遍歷矩陣的所有元素。
下面我們使用NumPy庫來實現A+B和A-B的計算過程。
NumPy對矩陣的初始化也是用了兩層嵌套列表,計算過程就簡單多了,矩陣的加減運算類似兩個數的加減運算。