F_SSYR/F_DSYR/F_CSYR/F_ZSYR

Symmetric rank-1 update

Name

F_SSYR/F_DSYR/F_CSYR/F_ZSYR

 

Symmetric rank-1 update

Purpose

F_xSYR performs the symmetric rank-1 update

 

 

A ← αxxT + βA with A=AT

 

where A is an n-by-nreal symmetric matrix, α and β are real or complex

 

scalars, x is a real or complex n-vector, and xT is the transpose of x. The routine

 

returns immediately if n is less than or equal to zero.

 

This F_xSYR interface encompasses the legacy BLAS routine SSYR with added

 

functionality for complex symmetric matrices. Refer to

 

“SSYR/DSYR/CHER/ZHER” on page 275 for a description of the equivalent HP

 

MLIB legacy BLAS subprograms.

Matrix

Because either triangle of A can be obtained from the other, these subprograms

Storage

reference and apply the update to only one triangle of A. You can supply either

 

the upper or the lower triangle of A, in a two-dimensional array large enough to

 

hold the entire matrix, and the same triangle of the updated matrix is returned

 

in the array. The other triangle of the array is not referenced.

Usage

VECLIB

 

 

INTEGER*4

INCX, LDA, N, UPLO

 

REAL*4

ALPHA, BETA

 

REAL*4

A( LDA, * ), X( * )

 

SUBROUTINE F_SSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)

 

INTEGER*4

INCX, LDA, N, UPLO

 

REAL*8

ALPHA, BETA

 

REAL*8

A( LDA, * ), X( * )

 

SUBROUTINE F_DSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)

 

INTEGER*4

INCX, LDA, N, UPLO

 

COMPLEX*8

ALPHA, BETA

 

COMPLEX*8

A( LDA, * ), X( * )

 

SUBROUTINE F_CSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)

 

INTEGER*4

INCX, LDA, N, UPLO

 

COMPLEX*16

ALPHA, BETA

 

COMPLEX*16

A( LDA, * ), X( * )

 

SUBROUTINE F_ZSYR (UPLO, N, ALPHA, X, INCX, BETA, A, LDA)

VECLIB8

392HP MLIB User’s Guide