CHPR2  -  perform  the  hermitian  rank 2 operation   A :=
       alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A,


SYNOPSIS

       SUBROUTINE CHPR2 ( UPLO, N, ALPHA, X, INCX, Y, INCY, AP )

           COMPLEX      ALPHA

           INTEGER      INCX, INCY, N

           CHARACTER*1  UPLO

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


PURPOSE

       CHPR2  performs the hermitian rank 2 operation

       where alpha is a scalar, x and y are n element vectors 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         .
              On   entry,   ALPHA  specifies  the  scalar  alpha.
              Unchanged on exit.

       X      - COMPLEX          array of dimension at least
              ( 1 + ( n - 1 )*abs( INCX ) ).  Before  entry,  the
              incremented array X must contain the n element vec­
              tor 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.

              ( 1 + ( n - 1 )*abs( INCY ) ).  Before  entry,  the
              incremented array Y must contain the n element vec­
              tor y.  Unchanged on exit.

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

       AP     - COMPLEX          array of DIMENSION at least
              ( ( n*( n + 1 ) )/2 ).  Before entry with   UPLO  =
              'U'  or  'u',  the  array AP must contain the upper
              triangular 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. On
              exit, the array AP is overwritten by the upper tri­
              angular  part  of the updated matrix.  Before entry
              with UPLO = 'L' or 'l', the array AP  must  contain
              the  lower  triangular 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( 2, 1 ) and a( 3, 1 ) respectively, and so on. On
              exit, the array AP is overwritten by the lower tri­
              angular part of the updated matrix.  Note that  the
              imaginary  parts  of the diagonal elements need not
              be set, they are assumed to be zero,  and  on  exit
              they are set to zero.

              Level 2 Blas routine.

              --  Written  on  22-October-1986.   Jack  Dongarra,
              Argonne National Lab.  Jeremy Du Croz, Nag  Central
              Office.    Sven  Hammarling,  Nag  Central  Office.
              Richard Hanson, Sandia National Labs.


Man(1) output converted with man2html