标签:strong 基本 mat amp 定义 二维数组 最小 代码 containe
给定\(n\)个矩阵\(\{A_1,A_2,A_3,...,A_n\}\),其中\(A_i\)为\(P_{i-1}\times P_i\)矩阵,\(i = 1,...,n\),并且\(A_i\)与\(A_{i-1}\)是可乘的。由于矩阵乘法满足结合律,所以计算矩阵的链乘可有许多不同的计算次序,两个矩阵\(A_{i\times j}\)与\(A_{j\times k}\)相乘的工作量为\(i\times j\times k\)次数乘。
给定向量\(P=<P_0,P_1,...,P_n>\)为\(n\)个矩阵的行数和列数,确定一种乘法次序,使得基本运算“数乘”的总次数最少。
完全加括号的矩阵链乘积可递归地定义为:
MatrixChain(P,n)
令所有m[i,j]的初值为0;
for r <- 2 to n do
for i <- 1 to n-r+1 do
j <- i+r-1;
m[i,j] <- m[i+1,j]+P_i-1P_iP_j;
s[i,j] = i;
for k <- i+1 to j-1 do
t <- m[i,k]+m[k+1,j]+P_i-1P_kP_j;
if t < m[i,j]
then m[i,j] <- t;
s[i,j] <- k;
醉后不知天在水,满船清梦压星河
作者:花城
标签:strong 基本 mat amp 定义 二维数组 最小 代码 containe
原文地址:https://www.cnblogs.com/huacheng1122/p/14993588.html