動態規劃 矩陣鏈乘法

2021-08-10 15:05:18 字數 467 閱讀 4290

def

matrix_multipy

(a, b):

''' 乘法得到的是乙個[a.rows,b.cols]的矩陣, 相當於a.rows個向量的b.cols次的向量線性加權

'''ifnot a.shape[1]==b.shape[0]:

#a組中向量的維度與b組中向量的維度一致

print("error!")

else:

#將每乙個元素都初始化為0

c = np.zeros([a.shape[0], b.shape[1]])

for i in range(a.shape[0]):

for j in range(b.shape[1]):

for k in range(a.shape[1]):

c[i][j] += a[i][k]*b[k][j]

return c

動態規劃 矩陣鏈乘法

矩陣鏈乘法問題 給定n個矩陣的鏈,矩陣ai的規模為p i 1 p i 求完全括號化方案,使得計算乘積a1a2 an所需標量乘法次數最少。m i j 表示矩陣鏈ai j所需標量乘法次數的最小值。m i j 0 i j m i j m i k m k 1 j p i 1 p k p j i k s 1....

動態規劃 矩陣鏈乘法

兩個矩陣相乘的計算量,對於一般的矩陣乘法來說,如矩陣a m,n 與矩陣b n,p 相乘需要進行的加法次數為m n p次乘法 由於矩陣乘法滿足結合律,因此矩陣相乘的結合性,會影響整個計算表示式的乘法執行次數 如下面的例子,a b c三個矩陣相乘,其中a 10,5 b 5,20 c 20,3 1 ab ...

矩陣鏈乘法 動態規劃

1.問題 給定乙個n個矩陣的序列 矩陣鏈 用向量p輸入,求一種乘法的次序使得這個矩陣鏈的執行次數達到最小。解析 我們已知m i,j 為ai到aj採用最優的乘法次序得到的最小執行次數。m i,j min,該命題為真,需要證明的話請自行查詢相關資料。i k偽 另所有m i,j 的初值為0,s i,j 的...