I am trying to calculate: C = 1*(A*B') + 0*C using cblas_dgemm (). As far as I can tell, the parameters are correct. The error message itself does not make sense:
"ldb must be >= MAX(K,1): ldb=3 K=3Parameter 11 to routine cblas_dgemm was incorrect"
But, ldb = k = 3! Here is a detailed output of all three matrices and parameters.
A: (mxn: 4x3), lda = 4 B': (nxk: 3x9), lda = 3 C: (mxk, 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 );
I'm sure Iβm making a stupid mistake, I just canβt notice it. Any help would be appreciated.
thank you very much,
Russ