NAME

dspr2 - perform the symmetric rank 2 operation A := alpha*x*y' + alpha*y*x' + A


SYNOPSIS

  SUBROUTINE DSPR2( UPLO, N, ALPHA, X, INCX, Y, INCY, A)
  CHARACTER * 1 UPLO
  INTEGER N, INCX, INCY
  DOUBLE PRECISION ALPHA
  DOUBLE PRECISION X(*), Y(*), A(*)
  SUBROUTINE DSPR2_64( UPLO, N, ALPHA, X, INCX, Y, INCY, A)
  CHARACTER * 1 UPLO
  INTEGER*8 N, INCX, INCY
  DOUBLE PRECISION ALPHA
  DOUBLE PRECISION X(*), Y(*), A(*)

F95 INTERFACE

  SUBROUTINE SPR2( UPLO, [N], ALPHA, X, [INCX], Y, [INCY], A)
  CHARACTER(LEN=1) :: UPLO
  INTEGER :: N, INCX, INCY
  REAL(8) :: ALPHA
  REAL(8), DIMENSION(:) :: X, Y, A
  SUBROUTINE SPR2_64( UPLO, [N], ALPHA, X, [INCX], Y, [INCY], A)
  CHARACTER(LEN=1) :: UPLO
  INTEGER(8) :: N, INCX, INCY
  REAL(8) :: ALPHA
  REAL(8), DIMENSION(:) :: X, Y, A

C INTERFACE

#include <sunperf.h>

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

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


PURPOSE

dspr2 performs the symmetric rank 2 operation A := alpha*x*y' + alpha*y*x' + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form.


ARGUMENTS