Message passing-based nested parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Default CPS library stack is too small for MLIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Default Pthread library stack is too small for MLIB . . . . . . . . . . . . . . . . . . . . . . . . . 22

Roundoff effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Data types and precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

VECLIB naming convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Data type and byte length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Operator arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Low-level subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 High-level subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

HP MLIB man pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 Basic Vector Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Chapter objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Associated documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

What you need to know to use vector subprograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 BLAS storage conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 BLAS indexing conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Operator arguments in the BLAS Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Representation of a permutation matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Representation of a Householder matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Subprograms for basic vector operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

ISAMAX/IDAMAX/IIAMAX/ICAMAX/IZAMAX Index of maximum of magnitudes 40

ISAMIN/IDAMIN/IIAMIN/ICAMIN/IZAMIN Index of minimum of magnitudes . .

43

ISCTxx/IDCTxx/IICTxx/ICCTxx/IZCTxx Count selected vector elements. . . . . . . .

46

ISMAX/IDMAX/IIMAX

Index of maximum element of vector . . . . . . . . . . . . . . . . .

49

ISMIN/IDMIN/IIMIN

Index of minimum element of vector. . . . . . . . . . . . . . . . . . .

51

ISSVxx/IDSVxx/IISVxx/ICSVxx/IZSVxx Search vector for element . . . . . . . . . . . .

53

SAMAX/DAMAX/IAMAX/SCAMAX/DZAMAX Maximum of magnitudes . . . . . . . .

56

SAMIN/DAMIN/IAMIN/SCAMIN/DZAMIN Minimum of magnitudes . . . . . . . . . .

59

vi

Table of Contents