(S|D)SYR2

Single and double SYR2.

Description

Computes the symmetric rank-2 operation:

A \assign \alpha x * \trans{y} + \alpha y * \trans{x} + A

BLAS Interface

void ssyr2(const char *UPLO, const qml_long *N, const float *ALPHA,
           const float *X, const qml_long *INCX, const float *Y,
           const qml_long *INCY, float *A, const qml_long *LDA);

void dsyr2(const char *UPLO, const qml_long *N, const double *ALPHA,
           const double *X, const qml_long *INCX, const double *Y,
           const qml_long *INCY, double *A, const qml_long *LDA);

CBLAS Interface

void cblas_ssyr2(const CBLAS_ORDER ORDER, const CBLAS_UPLO UPLO,
                 const qml_long N, const float ALPHA, const float *X,
                 const qml_long INCX, const float *Y, const qml_long INCY,
                 float *A, const qml_long LDA);

void cblas_dsyr2(const CBLAS_ORDER ORDER, const CBLAS_UPLO UPLO,
                 const qml_long N, const double ALPHA, const double *X,
                 const qml_long INCX, const double *Y, const qml_long INCY,
                 double *A, const qml_long LDA);

Arguments

UPLO Specify whether the upper or lower triangle of matrix A will be used
N Order of matrix A
ALPHA Scalar multiplied with the vector-vector product
X First input vector, must be at least: (\fvar{N}-1)\mult\abs{\fvar{INCX}} + 1
INCX Distance between individual elements in X
Y Second input vector, must be at least: (\fvar{N}-1)\mult\abs{\fvar{INCY}} + 1
INCY Distance between individual elements in Y
A Input matrix A
LDA Leading dimension of matrix A