如果A不是密集矩阵且非零条目为+1或-1,如何加速A * x?

时间:2016-04-29 08:06:15

标签: matlab

在问题中,A是方阵,x是矢量。 A的非零条目只能是1或-1。那么如何在Matlab中加速A * x?

我问了这个问题,因为A * x包含计算成本高的乘法运算。

但是,如果A只包含一些+1和-1,并假设y是来自A的行向量,则y * x可以避免乘法运算。您只需要将x的条目分组为2,一个对应于y的条目+1,另一个对应于y的条目-1。然后分别对这两组进行求和,并进行减法。

1 个答案:

答案 0 :(得分:0)

在MATLAB中加快这一速度的一种方法是利用private void GoForward_OnClick(object sender, RoutedEventArgs e) { // Your code logic goes here } 的稀疏结构(而不​​是+1,-1结构)。如果A足够稀疏,您可以通过这种方式实现巨大的加速:

A