ZSYMV(3)        BLAS routine of NEC Numeric Library Collection        ZSYMV(3)



NAME
       ZSYMV - perform the matrix-vector operation  y := alpha*A*x + beta*y,

SYNOPSIS
       SUBROUTINE ZSYMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY )

           CHARACTER     UPLO

           INTEGER       INCX, INCY, LDA, N

           COMPLEX*16    ALPHA, BETA

           COMPLEX*16    A( LDA, * ), X( * ), Y( * )

PURPOSE
       ZSYMV  performs  the  matrix-vector  operation y := alpha*A*x + beta*y,
       where alpha and beta are scalars, x and y are n element vectors  and  A
       is an n by n symmetric matrix.


ARGUMENTS
       UPLO   - CHARACTER*1
              On  entry,  UPLO specifies whether the upper or lower triangular
              part of the array A is to be referenced as follows:

              UPLO = 'U' or 'u'   Only the upper triangular part of A is to be
              referenced.

              UPLO = 'L' or 'l'   Only the lower triangular part of A is to be
              referenced.

              Unchanged on exit.

       N      - INTEGER
              On entry, N specifies the order of the matrix A.  N must  be  at
              least zero.  Unchanged on exit.

       ALPHA  - COMPLEX*16
              On  entry, ALPHA specifies the scalar alpha.  Unchanged on exit.

       A      - COMPLEX*16 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.
              Unchanged on exit.

       LDA    - INTEGER
              On  entry, LDA specifies the first dimension of A as declared in
              the calling (sub) program. LDA must be at least  max(  1,  N  ).
              Unchanged on exit.

       X      - COMPLEX*16 array, dimension at least
              (  1  +  ( N - 1 )*abs( INCX ) ).  Before entry, the incremented
              array X must contain the N-  element  vector  x.   Unchanged  on
              exit.

       INCX   - INTEGER
              On  entry,  INCX  specifies the increment for the elements of X.
              INCX must not be zero.  Unchanged on exit.

       BETA   - COMPLEX*16
              On entry, BETA specifies the scalar beta. When BETA is  supplied
              as zero then Y need not be set on input.  Unchanged on exit.

       Y      - COMPLEX*16 array, dimension at least
              (  1  +  ( N - 1 )*abs( INCY ) ).  Before entry, the incremented
              array Y must contain the n element vector y. On exit, Y is over-
              written by the updated vector y.

       INCY   - INTEGER
              On  entry,  INCY  specifies the increment for the elements of Y.
              INCY must not be zero.  Unchanged on exit.



BLAS routine                     15 June 2000                         ZSYMV(3)