====================================================================
zhpmv examples
====================================================================

====================================================================
Man Page Details
====================================================================

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

 SYNOPSIS
      SUBROUTINE ZHPMV ( UPLO, N, ALPHA, AP, X, INCX, BETA, Y,
                       INCY )

          COMPLEX*16   ALPHA, BETA

          INTEGER      INCX, INCY, N

          CHARACTER*1  UPLO

          COMPLEX*16   AP( * ), X( * ), Y( * )

 PURPOSE
      ZHPMV  performs the matrix-vector operation

      where alpha and beta are scalars, x and y are n element vec-
      tors and A is an n by n hermitian matrix, supplied in packed
      form.

 PARAMETERS
      UPLO   - CHARACTER*1.
             On entry, UPLO specifies whether the upper or lower
             triangular part of the matrix A is supplied in the
             packed array AP as follows:

             UPLO = 'U' or 'u'   The upper triangular part of A is
             supplied in AP.

             UPLO = 'L' or 'l'   The lower triangular part of A is
             supplied in AP.

             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.

      AP     - COMPLEX*16       array of DIMENSION at least
             ( ( n*( n + 1 ) )/2 ).  Before entry with UPLO = 'U'
             or 'u', the array AP must contain the upper triangu-
             lar part of the hermitian matrix packed sequentially,
             column by column, so that AP( 1 ) contains a( 1, 1 ),
             AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 )

             respectively, and so on.  Before entry with UPLO =
             'L' or 'l', the array AP must contain the lower tri-
             angular part of the hermitian matrix packed sequen-
             tially, column by column, so that AP( 1 ) contains a(
             1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a(
             3, 1 ) respectively, and so on.  Note that the ima-
             ginary parts of the diagonal elements need not be set
             and are assumed to be zero.  Unchanged on exit.

      X      - COMPLEX*16       array of 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 ele-
             ments 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 of 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 overwritten by the updated vector y.

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

