GEMM是一个通用矩阵乘法。通过修改函数参数能够实现任意矩阵的相乘。在BLAS下能够通过底层操作实现算法的加速。如果是Eigen的话,需要考虑colmajor和rowmajor(也就是矩阵元素存放的顺序)
函数语法:
SGEMM( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
功能:
matrix matrix multiply ( row major order)
| C C C C C | | A A A | | C C C C C |
| C C C C C | | A A A | |B B B B B| | C C C C C |
| C C C C C | = alpha * | A A A | |B B B B B| + beta * | C C C C C |
| C C C C C | | A A A | |B B B B B| | C C C C C |
| C C C C C | | A A A | | C C C C C |
int m = 5;
int n = 3;
int k = 5;
float aplha = 1.0;
float beta = 1.0;
sgemm('N', 'N', m, n, k, alpha, A, n, B, k, beta, C, k);
参数:
transa -- 数据类型: char; 功能:设定矩阵A是否转置