?symv

Computes a matrix-vector product for a complex symmetric matrix.

Syntax

call csymv( uplo, n, alpha, a, lda, x, incx, beta, y, incy )

call zsymv( uplo, n, alpha, a, lda, x, incx, beta, y, incy )

Include Files

  • Fortran: mkl.fi
  • C: mkl.h

Description

The routine performs the matrix-vector operation defined as

y := alpha*a*x + beta*y,

where:

alpha and beta are complex scalars

x and y are n-element complex vectors

a is an n-by-n symmetric complex matrix.

These routines have their real equivalents in BLAS (see ?symv in Chapter "BLAS and Sparse BLAS Routines").

Input Parameters

uplo

CHARACTER*1. Specifies whether the upper or lower triangular part of the array a is used:

If uplo = 'U' or 'u', then the upper triangular part of the array a is used.

If uplo = 'L' or 'l', then the lower triangular part of the array a is used.

n

INTEGER. Specifies the order of the matrix a. The value of n must be at least zero.

alpha, beta

COMPLEX for csymv

DOUBLE COMPLEX for zsymv

Specify the scalars alpha and beta. When beta is supplied as zero, then y need not be set on input.

a

COMPLEX for csymv

DOUBLE COMPLEX for zsymv

Array, DIMENSION (lda, n). Before entry with uplo = 'U' or 'u', the leading n-by-n upper triangular part of the array a must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of a is not referenced. Before entry with uplo = 'L' or 'l', the leading n-by-n lower triangular part of the array a must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of a is not referenced.

lda

INTEGER. Specifies the leading dimension of A as declared in the calling (sub)program. The value of lda must be at least max(1,n).

x

COMPLEX for csymv

DOUBLE COMPLEX for zsymv

Array, DIMENSION at least (1 + (n - 1)*abs(incx)). Before entry, the incremented array x must contain the n-element vector x.

incx

INTEGER. Specifies the increment for the elements of x. The value of incx must not be zero.

y

COMPLEX for csymv

DOUBLE COMPLEX for zsymv

Array, DIMENSION at least (1 + (n - 1)*abs(incy)). Before entry, the incremented array y must contain the n-element vector y.

incy

INTEGER. Specifies the increment for the elements of y. The value of incy must not be zero.

Output Parameters

y

Overwritten by the updated vector y.

For more complete information about compiler optimizations, see our Optimization Notice.