我要实现以下矩阵向量乘积:
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);
我的代码没有给出我想要的结果。我认为我选择了错误的领导维度。但是在带状矩阵的情况下我该如何设置呢?我认为领先的维度与原始存储的矩阵有关。
或者这是我必须直接处理压缩矩阵的意思?