DSPR2(3)

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

NAME
dspr2 - Perform the symmetric rank 2 operation.

LIBRARY
SLATEC (BLAS)

CATEGORY
D1B4

TYPE
DOUBLE PRECISION (SSPR2-S, DSPR2-D, CSPR2-C)

KEYWORDS
LEVEL 2 BLAS, LINEAR ALGEBRA

AUTHOR
Dongarra, J. J., (ANL) Du Croz, J., (NAG) Hammarling, S., (NAG) Hanson, R. J., (SNLA)

DESCRIPTION
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. 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 - DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. X - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1)*abs( INCX)). Before entry, the incremented array X must contain the n element vector x. Unchanged on exit. INCX - INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit. Y - DOUBLE PRECISION array of dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. Unchanged on exit. INCY - INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit. AP - DOUBLE PRECISION 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 symmetric 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 triangular part of the updated matrix. Before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular part of the symmetric 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 triangular part of the updated matrix.

REFERENCES
Dongarra, J. J., Du Croz, J., Hammarling, S., and Hanson, R. J. An extended set of Fortran basic linear algebra subprograms. ACM TOMS, Vol. 14, No. 1, pp. 1-17, March 1988.

ROUTINES CALLED
LSAME, XERBLA

REVISION HISTORY (YYMMDD)
861022 DATE WRITTEN
910605 Modified to meet SLATEC prologue standards. Only comment lines were modified. (BKS)