NAME

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, A)
  CHARACTER * 1 UPLO
  COMPLEX ALPHA
  COMPLEX X(*), Y(*)
  INTEGER N, INCX, INCY
   A
  SUBROUTINE CHPR2_64( UPLO, N, ALPHA, X, INCX, Y, INCY, A)
  CHARACTER * 1 UPLO
  COMPLEX ALPHA
  COMPLEX X(*), Y(*)
  INTEGER*8 N, INCX, INCY
   A

F95 INTERFACE

  SUBROUTINE HPR2( UPLO, [N], ALPHA, X, [INCX], Y, [INCY], A)
  CHARACTER(LEN=1) :: UPLO
  COMPLEX :: ALPHA
  COMPLEX, DIMENSION(:) :: X, Y
  INTEGER :: N, INCX, INCY
   :: A
  SUBROUTINE HPR2_64( UPLO, [N], ALPHA, X, [INCX], Y, [INCY], A)
  CHARACTER(LEN=1) :: UPLO
  COMPLEX :: ALPHA
  COMPLEX, DIMENSION(:) :: X, Y
  INTEGER(8) :: N, INCX, INCY
   :: A

C INTERFACE

#include <sunperf.h>

void chpr2(char uplo, int n, complex alpha, complex *x, int incx, complex *y, int incy, a);

void chpr2_64(char uplo, long n, complex alpha, complex *x, long incx, complex *y, long incy, a);


PURPOSE

chpr2 performs the Hermitian rank 2 operation A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A 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.


ARGUMENTS