讓A
是一個給定的方陣,其大小爲nxn
。令A[i]
表示通過用零列向量代替列的A
而形成的nxn
矩陣。如何減少矩陣乘法的次數
現在我想計算以下(n^4+n^3+n^2)
矩陣產品:
{A[x]*A[y]*A[z]*A[w] | for all x=1,...n , y=1,...,n , z=1,...n, and w=1,...,n}
{A[y]*A[z]*A[w] | for all y=1,...,n , z=1,...n, and w=1,...,n}
{A[z]*A[w] | for all z=1,...n, and w=1,...,n}
如果我計算出每個產品的天真,也需要O((n^4+n^3+n^2)*n^3)
時間複雜度(假設矩陣乘法需要O(n^3)
時間)。
但是,我注意到有許多重複的乘法可以被記憶。有沒有一種有效的方法(如DP)可以儘可能減少矩陣乘法的次數?