在BLAS-3.10.01 的 sgemm.f 文件中,有如下对LDA的描述:
\param[in] A
*> \verbatim
*> A is REAL array, dimension ( LDA, ka ), where ka is
*> k when TRANSA = 'N' or 'n', and is m otherwise.
*> Before entry with TRANSA = 'N' or 'n', the leading m by k
*> part of the array A must contain the matrix A, otherwise
*> the leading k by m part of the array A must contain the
*> matrix A.
*> \endverbatim
*>
*> \param[in] LDA
*> \verbatim
*> LDA is INTEGER
*> On entry, LDA specifies the first dimension of A as declared
*> in the calling (sub) program. When TRANSA = 'N' or 'n' then
*> LDA must be at least max( 1, m ), otherwise LDA must be at
*> least max( 1, k ).
*> \endverbatim
LDA 是矩阵中一列数据的长度,要么LDA>=m, 要么LDA>=k;
当 TRANSA = 'N' 时, LDA>=m; 这时,输入指针A指向的数据区域,是将一个矩阵Matrix_A(LDA, K) 按照列主序一维化存储下来的结果。
当TRANSA = 'T' 时, LDA>=k; 这时,输入指针A指向的数据区域,是将一个矩阵Matrix_A(LDA, M) 按照列主序一维化存储下来的结果,这时矩阵Matrix_A是以矩阵A的转置方式输入给函数SGEMM的。
ldb的理解,和 B 所给出的数据也一样。