# ?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 )

## Description

These routines perform 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

  COMPLEX*16 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

  COMPLEX*16 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 first 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

  COMPLEX*16 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

  COMPLEX*16 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.

Parent topic: Auxiliary Routines