python中矩陣與矩陣相乘?在Python中,我們可以将矩陣用嵌套列表的方法來實現,也就是列表嵌套列表,今天小編就來說說關于python中矩陣與矩陣相乘?下面更多詳細答案一起來看看吧!
在Python中,我們可以将矩陣用嵌套列表的方法來實現,也就是列表嵌套列表。
我們可以将每個元素看作矩陣的一行。
例如,X = [[1、2],[4、5],[3、6]]表示3x2矩陣。
第一行可以選擇為X [0]。 并且,可以将第一行第一列中的元素選擇為X [0] [0]。
僅當X中的列數等于行Y的數目時,才定義兩個矩陣X和Y的乘法。
如果X是一個n 乘以 m矩陣,而Y是一個m 乘以 l矩陣,則XY被定義并具有n 乘以 l的維數(但未定義YX)。
下面使用兩個實例,用Python實現矩陣:,使用嵌套循環的矩陣乘法:
01
# 3x3 的矩陣
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
# 3x4 矩陣
Y = [[5,8,1,2],
[6,7,3,0],
[4,5,9,1]]
# result is 3x4矩陣
result = [[0,0,0,0],
[0,0,0,0],
[0,0,0,0]]
for i in range(len(X)):
for j in range(len(Y[0])):
for k in range(len(Y)):
result[i][j] = X[i][k] * Y[k][j]
for r in result:
print(r)
輸出:
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
在上面的計算程序中,我們使用了嵌套的for循環來遍曆每一行和每一列。 我們得到乘積之和。
不過,随着我們增加矩陣的數量,計算結果和作業量會很大。
對于較大的矩陣運算,我們建議使用numpy(python的科學計算三方庫),它比上面的代碼速度會快很多倍。
02:使用嵌套列表的方法實現矩陣乘法,如下:
# 3x3 矩陣
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
# 3x4 矩陣
Y = [[5,8,1,2],
[6,7,3,0],
[4,5,9,1]]
# result is 3x4矩陣
result = [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X]
for r in result:
print(r)
輸出:
[114, 160, 60, 27]
[74, 97, 73, 14]
[119, 157, 112, 23]
我們可以看到上面兩種方法,輸出的結果是相等的!
那麼,我們可以從這裡面學到什麼呢?
是這樣的:你可以試着去改改裡面的參數,運行之後,看能輸出什麼結果。
比如,例子給出的是3乘以4的矩陣,那麼我們嘗試着去改成4乘以5的矩陣,
每次學到了一個小技能,就要想:
咦?這個方法還能用在哪裡呢?舉一反三,自己的進步是很快的。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!