Symmetric matrix-vector multiply

F_SSYMV/F_DSYMV/F_CSYMV/F_ZSYMV

Name

F_SSYMV/F_DSYMV/F_CSYMV/F_ZSYMV

 

Symmetric matrix-vector multiply

Purpose

F_xSYMV multiplies a vector x by a real or complex symmetric matrix A, scales

 

the resulting vector, and adds it to the scaled vector operand y. If n is less than

 

or equal to zero, or if β is equal to one and α is equal to zero, this routine

 

returns immediately.

 

 

 

y ← αAx + βy with A=AT

 

Refer to “SSYMV/DSYMV/CHEMV/ZHEMV” on page 270 for a description of

 

the equivalent HP MLIB legacy BLAS subprograms.

Matrix

Because either triangle of A can be obtained from the other, you only need to

Storage

provide 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. The

 

other triangle of the array is not referenced.

Usage

VECLIB

 

 

INTEGER*4

INCX, INCY, LDA, N, UPLO

 

REAL*4

ALPHA, BETA, A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_SSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,

 

INCY)

 

 

INTEGER*4

INCX, INCY, LDA, N, UPLO

 

REAL*8

ALPHA, BETA, A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_DSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,

 

INCY)

 

 

INTEGER*4

INCX, INCY, LDA, N, UPLO

 

COMPLEX*8

ALPHA, BETA, A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_CSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,

 

INCY)

 

 

INTEGER*4

INCX, INCY, LDA, N, UPLO

 

COMPLEX*16

ALPHA, BETA,A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_ZSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,

 

INCY)

 

 

VECLIB8

 

 

INTEGER*8

INCX, INCY, LDA, N, UPLO

 

REAL*4

ALPHA, BETA, A( LDA, * ), X( * ), Y( * )

SUBROUTINE F_SSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)

Chapter 3 Basic Matrix Operations 389