Вычисляет произведение матриц общего вида.
C = alpha * op(A) * op(B) + beta * C
где C — матрица размера m на n, op(A) — матрица размера m на k, op(B) — матрица размера k на n.
Метод BlasL3GeMM применяется к матрице A. Матрица A имеет размер m на k, если параметр transa='N', иначе k на m.
BLAS-функция GEMM.
Вычисления для типа matrix<double>
bool matrix::BlasL3GeMM(
|
Вычисления для типа matrix<float>
bool matrixf::BlasL3GeMM(
|
Вычисления для типа matrix<complex>
bool matrixc::BlasL3GeMM(
|
Вычисления для типа matrix<complexf>
bool matrixcf::BlasL3GeMM(
|
Параметры
transa
[in] Значение перечисления ENUM_BLAS_TRANS, задающее операцию:
если transa= 'N', то op(A) = A;
если transa= 'T', то op(A) = A**T;
если transa= 'C', то op(A) = A**H.
transb
[in] Значение перечисления ENUM_BLAS_TRANS, задающее операцию:
если transb= 'N', то op(B) = B;
если transb= 'T', то op(B) = B**T;
если transb= 'C', то op(B) = B**H.
alpha
[in] Скалярный множитель alpha.
B
[in] Матрица B размера k на n, если transb='N', иначе размера n на k.
beta
[in] Скалярный множитель beta.
C
[in, out] Результирующая матрица C размера m на n. Если beta не равен нулю, то перед вызовом матрица C должна содержать актуальные данные. Если размер матрицы отличается от m на n, матрица C будет изменена до нужного размера и обнулена.
Возвращаемое значение
Возвращает true при успешном выполнении, иначе false в случае ошибки.
ENUM_BLAS_TRANS
Перечисление, определяющее варианты op(A) и op(B).
ID |
Описание |
|---|---|
BLASTRANS_N |
'N': без транспонирования |
BLASTRANS_T |
'T': транспонирование |
BLASTRANS_C |
'C': сопряженное транспонирование |