BlasL2SyMV

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

y = alpha*A*x + beta*y

BLAS-функция SYMV.

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

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

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

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

Параметры

alpha

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

X

[in]  Вектор x размера n.

beta

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

Y

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

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

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

Примечание

Входной матрицей может быть симметричная, верхняя треугольная или нижняя треугольная матрица. Треугольные матрицы считаются симметричными.