Вычисляет произведение матриц, где входная матрица A эрмитова.
C = alpha*A*B + beta*C или
C = alpha*B*A + beta*C,
где A — эрмитова матрица размера m на m при side='L' или размера n на n в противном случае; B и C — матрицы размера m на n.
BLAS-функция HEMM.
Вычисления для типа matrix<complex>
bool matrix::BlasL3HeMM(
|
Вычисления для типа matrix<complexf>
bool matrixf::BlasL3HeMM(
|
Параметры
side
[in] Значение перечисления ENUM_BLAS_SIDE, задающее сторону входной матрицы A в произведении:
если side= 'L', то C = alpha*A*B + beta*C;
если side= 'R', то C = alpha*B*A + beta*C.
alpha
[in] Скалярный множитель alpha.
B
[in] Матрица B размера m на n.
beta
[in] Скалярный множитель beta.
C
[in, out] Результирующая матрица C размера m на n. Если beta не равен нулю, то перед вызовом матрица C должна содержать актуальные данные. Если размер матрицы отличается от m на n, матрица C будет изменена до нужного размера и обнулена.
Возвращаемое значение
Возвращает true при успешном выполнении, иначе false в случае ошибки.
Примечание
Входной матрицей может быть эрмитово-сопряженная, верхняя треугольная или нижняя треугольная матрица. Треугольные матрицы считаются эрмитовыми.
ENUM_BLAS_SIDE
Перечисление, определяющее сторону входной матрицы A в произведении.
ID |
Описание |
|---|---|
BLASSIDE_L |
'L': левая сторона |
BLASSIDE_R |
'R': правая сторона |