RTKLIB 矩阵相乘函数matmul

在对RTKLIB进行二次开发时一定会用到矩阵相乘函数matmul。

extern void matmul(const char *tr, int n, int k, int m, double alpha, const double *A, const double *B, double beta, double *C)

总体流程为:C=alpha*A*B+beta*C;

其中tr为是否转置的标志。

n,k,m。三个参数来代表两个矩阵的大小,按理说两个矩阵应该是四个参数,但是两个矩阵相乘,第一个矩阵的列必然等于第二个矩阵的行,所以三个参数就可以表示。

n代表第一个矩阵的行,k代表第二个矩阵的列,m代表第一个矩阵的列和第二个矩阵的行。

作者之所以把n和k放在m前面,看起来顺序反逻辑,其实是矩阵相乘一共要循环n*k次,从编程的顺序来排的。


版权声明:本文为qq_40342770原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。