F_SGEMVER/F_DGEMVER/F_CGEMVER/F_ZGEMVER

Multiple matrix-vector multiply, rank 2 update

Name F_SGEMVER/F_DGEMVER/F_CGEMVER/F_ZGEMVER Multiple matrix-vector multiply, rank 2 update

Purpose F_xGEMVER precedes a combined matrix-vector and a transpose matrix-vector multiply with a rank two update.

ˆ

T

+ u

T

A A + u1v1

2v2

ˆ

T

 

 

x ← β A

y + z

 

 

w Ax

← α ˆ

Matrix A is updated by u1vT1 and u2vT2 . The transpose of the updated matrix is multiplied by a vector y. The resulting vector is scaled and added to the vector operand z, and stored in x. The operand x is multiplied by the updated matrix A. The resulting vector is stored in w. If m or n is less than or equal to zero, this function returns immediately.

Usage

VECLIB

 

 

INTEGER*4

INCW, INCX, INCY, INCZ, LDA, M, N

 

REAL*4

A( LDA, * ), W( * ), X( * ), Y( * ), Z( * )

 

REAL*4

ALPHA, BETA

 

REAL*4

U1( * ), V1( * ), U2( * ), V2( * )

SUBROUTINE F_SGEMVER (M, N, A, LDA, U1, V1, U2, V2, ALPHA, X,

INCX, Y, INCY, BETA, W, INCW, Z, INCZ)

INTEGER*4

INCW, INCX, INCY, INCZ, LDA, M, N

REAL*8

A( LDA, * ), W( * ), X( * ), Y( * ), Z( * )

REAL*8

ALPHA, BETA

REAL*8

U1( * ), V1( * ), U2( * ), V2( * )

SUBROUTINE F_DGEMVER (M, N, A, LDA, U1, V1, U2, V2, ALPHA, X,

INCX, Y, INCY, BETA, W, INCW, Z, INCZ)

INTEGER*4

INCW, INCX, INCY, INCZ, LDA, M, N

COMPLEX*8

A( LDA, * ), W( * ), X( * ), Y( * ), Z( * )

COMPLEX*8

ALPHA, BETA

COMPLEX*8

U1( * ), V1( * ), U2( * ), V2( * )

SUBROUTINE F_CGEMVER (M, N, A, LDA, U1, V1, U2, V2, ALPHA, X,

INCX, Y, INCY, BETA, W, INCW, Z, INCZ)

368HP MLIB User’s Guide