У меня есть три матрицы A, B и C:
И матрично-матричное произведение для общих матриц:
void cblas_dgemm(const enum CBLAS_ORDER __Order, const enum CBLAS_TRANSPOSE __TransA, const enum CBLAS_TRANSPOSE __TransB, const int __M, const int __N, const int __K, const double __alpha, const double *__A, const int __lda, const double *__B, const int __ldb, const double __beta, double *__C, const int __ldc);
Для использования cblas_dgemm
-команды мне нужно знать начальное измерение.Для меня ясно, что в случае полной матрицы A (или ее транспонированной формы) имеем: M=5, N=4, lda=4
.
В случае подматрицы CI я думаю, что мне нужно прощать &A[5]
и установить M=3, N=2, ldc=4
Но я понятия не имею, как это может работать в случае красной подматрицы B с M=4, N=2
.Может кто-то объяснить это мне.Большое спасибо.