HP MLIB User's Guide Vol. 1 7th Ed.
164 HP MLIB User’s Guide
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.
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 )
w
ˆ
w αv–←
rw
ˆ
T
u←