最小化特定矩阵向量乘法的数学运算次数?

计算科学 矩阵
2021-12-25 12:10:41

假设我们有一个矩阵 M 和一个列向量 v 如下所示

在此处输入图像描述

在此处输入图像描述

等于

在此处输入图像描述

假设我们只能执行乘法、加法和减法运算。使用普通方法,我们需要 3 次乘法和 3 次加法来计算row1 row1 = v_1 + 2v_2 + 2v_3 + 4v_4但是我们可以通过以下方式巧妙地做到这一点

t1 = v_1 + 2*v_3
t2 = v_2 + 2*v_4
row1 = t1 + 2 * t2
row2 = t2 - t1
row3 = ...

总共我们只需要 4 次乘法和 5 次加法/减法来进行计算。

是否有任何算法或方法来计算最小操作数?

PS我知道子表达式消除算法可以用于这类问题。但是我试图弄清楚它是否可以通过线性代数方法或解释来解决。

0个回答
没有发现任何回复~