在对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版权协议,转载请附上原文出处链接和本声明。