.TH "hpr2" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME hpr2 \- {hp,sp}r2: Hermitian/symmetric rank-2 update .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBchpr2\fP (uplo, n, alpha, x, incx, y, incy, ap)" .br .RI "\fBCHPR2\fP " .ti -1c .RI "subroutine \fBdspr2\fP (uplo, n, alpha, x, incx, y, incy, ap)" .br .RI "\fBDSPR2\fP " .ti -1c .RI "subroutine \fBsspr2\fP (uplo, n, alpha, x, incx, y, incy, ap)" .br .RI "\fBSSPR2\fP " .ti -1c .RI "subroutine \fBzhpr2\fP (uplo, n, alpha, x, incx, y, incy, ap)" .br .RI "\fBZHPR2\fP " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "subroutine chpr2 (character uplo, integer n, complex alpha, complex, dimension(*) x, integer incx, complex, dimension(*) y, integer incy, complex, dimension(*) ap)" .PP \fBCHPR2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> CHPR2 performs the hermitian rank 2 operation !> !> A := alpha*x*y**H + conjg( alpha )*y*x**H + 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf !> UPLO is 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\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> On entry, N specifies the order of the matrix A\&. !> N must be at least zero\&. !> .fi .PP .br \fIALPHA\fP .PP .nf !> ALPHA is COMPLEX !> On entry, ALPHA specifies the scalar alpha\&. !> .fi .PP .br \fIX\fP .PP .nf !> X is COMPLEX array, dimension at least !> ( 1 + ( n - 1 )*abs( INCX ) )\&. !> Before entry, the incremented array X must contain the n !> element vector x\&. !> .fi .PP .br \fIINCX\fP .PP .nf !> INCX is INTEGER !> On entry, INCX specifies the increment for the elements of !> X\&. INCX must not be zero\&. !> .fi .PP .br \fIY\fP .PP .nf !> Y is COMPLEX array, dimension at least !> ( 1 + ( n - 1 )*abs( INCY ) )\&. !> Before entry, the incremented array Y must contain the n !> element vector y\&. !> .fi .PP .br \fIINCY\fP .PP .nf !> INCY is INTEGER !> On entry, INCY specifies the increment for the elements of !> Y\&. INCY must not be zero\&. !> .fi .PP .br \fIAP\fP .PP .nf !> AP is COMPLEX array, 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 hermitian 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 hermitian 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\&. !> Note that the imaginary parts of the diagonal elements need !> not be set, they are assumed to be zero, and on exit they !> are set to zero\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBFurther Details:\fP .RS 4 .PP .nf !> !> Level 2 Blas routine\&. !> !> -- Written on 22-October-1986\&. !> Jack Dongarra, Argonne National Lab\&. !> Jeremy Du Croz, Nag Central Office\&. !> Sven Hammarling, Nag Central Office\&. !> Richard Hanson, Sandia National Labs\&. !> .fi .PP .RE .PP .PP Definition at line \fB144\fP of file \fBchpr2\&.f\fP\&. .SS "subroutine dspr2 (character uplo, integer n, double precision alpha, double precision, dimension(*) x, integer incx, double precision, dimension(*) y, integer incy, double precision, dimension(*) ap)" .PP \fBDSPR2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> DSPR2 performs the symmetric rank 2 operation !> !> A := alpha*x*y**T + alpha*y*x**T + 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf !> UPLO is 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\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> On entry, N specifies the order of the matrix A\&. !> N must be at least zero\&. !> .fi .PP .br \fIALPHA\fP .PP .nf !> ALPHA is DOUBLE PRECISION\&. !> On entry, ALPHA specifies the scalar alpha\&. !> .fi .PP .br \fIX\fP .PP .nf !> X is DOUBLE PRECISION array, dimension at least !> ( 1 + ( n - 1 )*abs( INCX ) )\&. !> Before entry, the incremented array X must contain the n !> element vector x\&. !> .fi .PP .br \fIINCX\fP .PP .nf !> INCX is INTEGER !> On entry, INCX specifies the increment for the elements of !> X\&. INCX must not be zero\&. !> .fi .PP .br \fIY\fP .PP .nf !> Y is DOUBLE PRECISION array, dimension at least !> ( 1 + ( n - 1 )*abs( INCY ) )\&. !> Before entry, the incremented array Y must contain the n !> element vector y\&. !> .fi .PP .br \fIINCY\fP .PP .nf !> INCY is INTEGER !> On entry, INCY specifies the increment for the elements of !> Y\&. INCY must not be zero\&. !> .fi .PP .br \fIAP\fP .PP .nf !> AP is DOUBLE PRECISION array, 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\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBFurther Details:\fP .RS 4 .PP .nf !> !> Level 2 Blas routine\&. !> !> -- Written on 22-October-1986\&. !> Jack Dongarra, Argonne National Lab\&. !> Jeremy Du Croz, Nag Central Office\&. !> Sven Hammarling, Nag Central Office\&. !> Richard Hanson, Sandia National Labs\&. !> .fi .PP .RE .PP .PP Definition at line \fB141\fP of file \fBdspr2\&.f\fP\&. .SS "subroutine sspr2 (character uplo, integer n, real alpha, real, dimension(*) x, integer incx, real, dimension(*) y, integer incy, real, dimension(*) ap)" .PP \fBSSPR2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> SSPR2 performs the symmetric rank 2 operation !> !> A := alpha*x*y**T + alpha*y*x**T + 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf !> UPLO is 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\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> On entry, N specifies the order of the matrix A\&. !> N must be at least zero\&. !> .fi .PP .br \fIALPHA\fP .PP .nf !> ALPHA is REAL !> On entry, ALPHA specifies the scalar alpha\&. !> .fi .PP .br \fIX\fP .PP .nf !> X is REAL array, dimension at least !> ( 1 + ( n - 1 )*abs( INCX ) )\&. !> Before entry, the incremented array X must contain the n !> element vector x\&. !> .fi .PP .br \fIINCX\fP .PP .nf !> INCX is INTEGER !> On entry, INCX specifies the increment for the elements of !> X\&. INCX must not be zero\&. !> .fi .PP .br \fIY\fP .PP .nf !> Y is REAL array, dimension at least !> ( 1 + ( n - 1 )*abs( INCY ) )\&. !> Before entry, the incremented array Y must contain the n !> element vector y\&. !> .fi .PP .br \fIINCY\fP .PP .nf !> INCY is INTEGER !> On entry, INCY specifies the increment for the elements of !> Y\&. INCY must not be zero\&. !> .fi .PP .br \fIAP\fP .PP .nf !> AP is REAL array, 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\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBFurther Details:\fP .RS 4 .PP .nf !> !> Level 2 Blas routine\&. !> !> -- Written on 22-October-1986\&. !> Jack Dongarra, Argonne National Lab\&. !> Jeremy Du Croz, Nag Central Office\&. !> Sven Hammarling, Nag Central Office\&. !> Richard Hanson, Sandia National Labs\&. !> .fi .PP .RE .PP .PP Definition at line \fB141\fP of file \fBsspr2\&.f\fP\&. .SS "subroutine zhpr2 (character uplo, integer n, complex*16 alpha, complex*16, dimension(*) x, integer incx, complex*16, dimension(*) y, integer incy, complex*16, dimension(*) ap)" .PP \fBZHPR2\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> ZHPR2 performs the hermitian rank 2 operation !> !> A := alpha*x*y**H + conjg( alpha )*y*x**H + 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\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf !> UPLO is 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\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> On entry, N specifies the order of the matrix A\&. !> N must be at least zero\&. !> .fi .PP .br \fIALPHA\fP .PP .nf !> ALPHA is COMPLEX*16 !> On entry, ALPHA specifies the scalar alpha\&. !> .fi .PP .br \fIX\fP .PP .nf !> X is COMPLEX*16 array, dimension at least !> ( 1 + ( n - 1 )*abs( INCX ) )\&. !> Before entry, the incremented array X must contain the n !> element vector x\&. !> .fi .PP .br \fIINCX\fP .PP .nf !> INCX is INTEGER !> On entry, INCX specifies the increment for the elements of !> X\&. INCX must not be zero\&. !> .fi .PP .br \fIY\fP .PP .nf !> Y is COMPLEX*16 array, dimension at least !> ( 1 + ( n - 1 )*abs( INCY ) )\&. !> Before entry, the incremented array Y must contain the n !> element vector y\&. !> .fi .PP .br \fIINCY\fP .PP .nf !> INCY is INTEGER !> On entry, INCY specifies the increment for the elements of !> Y\&. INCY must not be zero\&. !> .fi .PP .br \fIAP\fP .PP .nf !> AP is COMPLEX*16 array, 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 hermitian 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 hermitian 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\&. !> Note that the imaginary parts of the diagonal elements need !> not be set, they are assumed to be zero, and on exit they !> are set to zero\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBFurther Details:\fP .RS 4 .PP .nf !> !> Level 2 Blas routine\&. !> !> -- Written on 22-October-1986\&. !> Jack Dongarra, Argonne National Lab\&. !> Jeremy Du Croz, Nag Central Office\&. !> Sven Hammarling, Nag Central Office\&. !> Richard Hanson, Sandia National Labs\&. !> .fi .PP .RE .PP .PP Definition at line \fB144\fP of file \fBzhpr2\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.