NAME

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


SYNOPSIS

  SUBROUTINE ZHER2( UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA)
  CHARACTER * 1 UPLO
  DOUBLE COMPLEX ALPHA
  DOUBLE COMPLEX X(*), Y(*), A(LDA,*)
  INTEGER N, INCX, INCY, LDA
  SUBROUTINE ZHER2_64( UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA)
  CHARACTER * 1 UPLO
  DOUBLE COMPLEX ALPHA
  DOUBLE COMPLEX X(*), Y(*), A(LDA,*)
  INTEGER*8 N, INCX, INCY, LDA

F95 INTERFACE

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

C INTERFACE

#include <sunperf.h>

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

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


PURPOSE

zher2 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.


ARGUMENTS