BlasL2GeMV

Вычисляет произведение матрицы общего вида размера m на n на вектор.

y = alpha * op(A) * x + beta * y

BLAS-функция GEMV.

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

bool  matrix::BlasL2GeMV(
   ENUM_BLAS_TRANS trans,         // задает вариант op(A)
   double          alpha,         // скалярный множитель alpha
   vector&         X,             // вектор X
   double          beta,          // скалярный множитель beta
   vector&         Y              // результирующий вектор Y
   );

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

bool  matrixf::BlasL2GeMV(
   ENUM_BLAS_TRANS trans,         // задает вариант op(A)
   float           alpha,         // скалярный множитель alpha
   vectorf&        X,             // вектор X
   float           beta,          // скалярный множитель beta
   vectorf&        Y              // результирующий вектор Y
   );

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

bool  matrixc::BlasL2GeMV(
   ENUM_BLAS_TRANS trans,         // задает вариант op(A)
   complex         alpha,         // скалярный множитель alpha
   vectorc&        X,             // вектор X
   complex         beta,          // скалярный множитель beta
   vectorc&        Y              // результирующий вектор Y
   );

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

bool  matrixcf::BlasL2GeMV(
   ENUM_BLAS_TRANS trans,         // задает вариант op(A)
   complexf        alpha,         // скалярный множитель alpha
   vectorcf&       X,             // вектор X
   complexf        beta,          // скалярный множитель beta
   vectorcf&       Y              // результирующий вектор Y
   );

Параметры

trans

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

если trans= 'N', то y = alpha * A * x + beta * y;

если trans= 'T', то y = alpha * A**T * x + beta * y;

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

alpha

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

X

[in]  Вектор x размера n, если trans='N', иначе размера m.

beta

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

Y

[in, out]  Результирующий вектор y размера m, если trans='N', иначе размера n. Если beta не равен нулю, то перед вызовом вектор Y должен содержать актуальные данные. Если размер вектора отличается от требуемого, вектор Y будет изменен до нужного размера и обнулен.

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

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

 

ENUM_BLAS_TRANS

Перечисление, определяющее вариант op(A).

ID

Описание

BLASTRANS_N

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

BLASTRANS_T

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

BLASTRANS_C

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