NAME

zhpr2 - perform the Hermitian rank 2 operation A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A


SYNOPSIS

  SUBROUTINE ZHPR2( UPLO, N, ALPHA, X, INCX, Y, INCY, A)
  CHARACTER * 1 UPLO
  DOUBLE COMPLEX ALPHA
  DOUBLE COMPLEX X(*), Y(*), A(*)
  INTEGER N, INCX, INCY
  SUBROUTINE ZHPR2_64( UPLO, N, ALPHA, X, INCX, Y, INCY, A)
  CHARACTER * 1 UPLO
  DOUBLE COMPLEX ALPHA
  DOUBLE COMPLEX X(*), Y(*), A(*)
  INTEGER*8 N, INCX, INCY

F95 INTERFACE

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

C INTERFACE

#include <sunperf.h>

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

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


PURPOSE

zhpr2 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