BlasL3HeRK

Выполняет эрмитово обновление ранга k.

CU = alpha * A * A**H + beta*C  или

CU = alpha * A**H * A + beta*C

Метод BlasL3HeRK применяется к матрице общего вида A. Матрица A имеет размер n на k, если параметр trans='N', иначе k на n.

BLAS-функция HERK.

Вычисления для типа matrix<complex>

bool  matrix::BlasL3HeRK(
   ENUM_BLAS_TRANS trans,         // задает операцию
   complex         alpha,         // скалярный множитель alpha
   complex         beta,          // скалярный множитель beta
   matrixc&        C,             // эрмитова матрица C
   matrixc&        CU             // обновляемая матрица C
   );

Вычисления для типа matrix<complexf>

bool  matrixf::BlasL3HeRK(
   ENUM_BLAS_TRANS trans,         // задает операцию
   complexf        alpha,         // скалярный множитель alpha
   complexf        beta,          // скалярный множитель beta
   matrixcf&       C,             // эрмитова матрица C
   matrixcf&       CU             // обновляемая матрица C
   );

Параметры

trans

[in]  Значение перечисления ENUM_BLAS_TRANS, задающее операцию:

если trans= 'N', то CU = alpha * A * A**H + beta*C;

если trans= 'T', то CU = alpha * A**H * A + beta*C;

если trans= 'C', то CU = alpha * A**H * A + beta*C.

alpha

[in]  Скалярный множитель alpha.

beta

[in]  Скалярный множитель beta.

C

[in]  Эрмитова матрица C размера n на n. Это может быть верхняя или нижняя треугольная матрица. Треугольные матрицы считаются эрмитовыми.

CU

[out]  Обновленная матрица C.

Возвращаемое значение

Возвращает true при успешном выполнении, иначе false в случае ошибки.

 

ENUM_BLAS_TRANS

Перечисление, определяющее операцию.

ID

Описание

BLASTRANS_N

'N': без транспонирования

BLASTRANS_T

'T': транспонирование

BLASTRANS_C

'C': сопряженное транспонирование