F_SAXPY_DOT/F_DAXPY_DOT/F_CAXPY_DOT/F_ZAXPY_DOT

Combine AXPY and DOT routines

Name F_SAXPY_DOT/F_DAXPY_DOT/F_CAXPY_DOT/F_ZAXPY_DOT Combine AXPY and DOT routines

Purpose F_xAXPY_DOT combines an AXPY and a DOT product. This routine first decrements w by a multiple of v, and then computes a dot product using w. If n is less than or equal to zero, the routine returns immediately.

wˆ w αv

r wˆ Tu

Combining two BLAS-1 calls reduces overhead and transfer of data in modified Gram-Schmidt orthogonalization.

Usage

VECLIB:

 

 

INTEGER*4

INCW, INCV, INCU, N

 

REAL*4

ALPHA, R, W( * ), V( * ), U( * )

 

SUBROUTINE F_SAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

 

INTEGER*4

INCW, INCV, INCU, N

 

REAL*8

ALPHA, R, W( * ), V( * ), U( * )

 

SUBROUTINE F_DAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

 

INTEGER*4

INCW, INCV, INCU, N

 

COMPLEX*8

ALPHA, R, W( * ), V( * ), U( * )

 

SUBROUTINE F_CAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

 

INTEGER*4

INCW, INCV, INCU, N

 

COMPLEX*16

ALPHA, R, W( * ), V( * ), U( * )

SUBROUTINE F_ZAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

VECLIB8:

INTEGER*8

INCW, INCV, INCU, N

REAL*4

ALPHA, R, W( * ), V( * ), U( * )

SUBROUTINE F_SAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

INTEGER*8

INCW, INCV, INCU, N

REAL*8

ALPHA, R, W( * ), V( * ), U( * )

SUBROUTINE F_DAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

INTEGER*8

INCW, INCV, INCU, N

COMPLEX*8

ALPHA, R, W( * ), V( * ), U( * )

SUBROUTINE F_CAXPY_DOT ( N, ALPHA, W, INCW, V, INCV, U, INCU )

164HP MLIB User’s Guide