cblas_dgemm-正确参数:错误消息

cblas_dgemm-正确参数:错误消息,c,blas,C,Blas,我正在尝试使用cblas_dgemm()计算:C=1*(A*B')+0*C。 据我所知,参数是正确的。 错误消息本身没有意义: "ldb must be >= MAX(K,1): ldb=3 K=3Parameter 11 to routine cblas_dgemm was incorrect" 但是,ldb=k=3!下面是所有三个矩阵和参数的详细输出 A: (m x n: 4x3), lda = 4 B': (n x k: 3x9), lda = 3 C: (m x k,

我正在尝试使用cblas_dgemm()计算:
C=1*(A*B')+0*C
。 据我所知,参数是正确的。 错误消息本身没有意义:

"ldb must be >= MAX(K,1): ldb=3 K=3Parameter 11 to routine cblas_dgemm was incorrect" 
但是,ldb=k=3!下面是所有三个矩阵和参数的详细输出

 A:  (m x n: 4x3), lda = 4
 B': (n x k: 3x9), lda = 3
 C:  (m x k, 4x9), ldc = 4


A: 
Dense matrix: 0xfe5cf0, nrows = 4, ncols = 3, ColumnMajor = 1
0.1246  0.5407  0.1822 
0.1020  0.4639  0.3164 
0.3058  0.9872  0.3348 
0.8375  0.9343  0.5893 

B: 
Dense matrix: 0xfe5cd0, nrows = 9, ncols = 3, ColumnMajor = 1
0.4387  0.3447  0.2999 
0.1582  0.6505  0.5076 
0.1497  0.6515  0.7486 
0.3936  0.1065  0.7850 
0.7182  0.5477  0.0220 
0.3291  0.0453  0.6630 
0.4005  0.3075  0.1818 
0.4071  0.0083  0.0840 
0.1868  0.0998  0.3279 

C: 
Dense matrix: 0xfe7180, nrows = 4, ncols = 9, ColumnMajor = 1
0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000 
0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000 
0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000 
0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000 


Transpose A ta = 111 (CblasNoTrans)
Transpose B tb = 112 (CblasTrans)
m = 4, k = 3, n = 9 
lda = 4, ldb = 3, ldc = 4
alpha = 1, beta = 0

CALLING CBLAS_DGEMM:
cblas_dgemm( CblasColMajor, ta, tb, m, n, k, alpha, A->d, lda, B->d, ldb, beta, C->d, ldc );
我肯定我犯了一个愚蠢的错误,我就是看不出来。任何帮助都将不胜感激

非常感谢,


Russ

我对ldb的理解不正确。ldb指的是行(B),而不是行(B')! 对不起,浪费了你的时间。不知何故,只是张贴似乎有帮助