使用cblas的带状矩阵矩阵向量乘积

时间:2019-01-08 13:51:48

标签: c++11 cblas

我要实现以下矩阵向量乘积:

float B[]=  {5,1,2,0,0,0,
             4,4,1,3,0,0,
             0,5,3,2,2,0,
             0,0,1,1,1,2,
             0,0,0,1,2,2,
             0,0,0,0,1,1}; //column major

float v[]={1,2,1,1,2,1};
float w[6]={0};

int m=6; int n=6; int ku=1; kl=2; 
int ldb = 6;
cblas_sgbmv(CblasColMajor, CblasNoTrans, m, n, kl, ku, 1.0, B, ldb,v,1, 1.0,w, 1);

enter image description here

  • 在矩阵B中,我有一个超对角线和两个超对角线
  • 我将矩阵B保存在CblasColMajor

我的代码没有给出我想要的结果。我认为我选择了错误的领导维度。但是在带状矩阵的情况下我该如何设置呢?我认为领先的维度与原始存储的矩阵有关。

或者这是我必须直接处理压缩矩阵的意思?

0 个答案:

没有答案