Basic Linear Algebra Subroutines Level 1 (BLAS 1) are a part of the Compaq Extended Math Library (CXML). The BLAS1 subprograms perform low granularity operations on vectors that involve one or two vectors as input and return either a vector or a scalar as output. These subprograms have been optimized to provide high performance on Alpha systems. The following routines are included in BLAS 1. The Subprogram Name is the name of the manual page containing documentation on the subprogram. Subprogram Name Operation isamax Calculates, in single-precision arithmetic, the index of the element of a real vector with maximum absolute value. idamax Calculates, in double-precision arithmetic, the index of the element of a real vector with maximum absolute value. icamax Calculates, in single-precision arithmetic, the index of the element of a complex vector with maximum absolute value. izamax Calculates, in double-precision arithmetic, the index of the element of a complex vector with maximum absolute value. sasum Calculates, in single-precision arithmetic, the sum of the absolute values of the elements of a real vector. dasum Calculates, in double-precision arithmetic, the sum of the absolute values of the elements of a real vector. scasum Calculates, in single-precision arithmetic, the sum of the absolute values of the elements of a complex vector. dzasum Calculates, in double-precision arithmetic, the sum of the absolute values of the elements of a complex vector. saxpy Calculates, in single-precision arithmetic, the product of a real scalar and a real vector and adds the result to a real vector. daxpy Calculates, in double-precision arithmetic, the product of a real scalar and a real vector and adds the result to a real vector. caxpy Calculates, in single-precision arithmetic, the product of a complex scalar and a complex vector and adds the result to a complex vector. zaxpy Calculates, in double-precision arithmetic, the product of a complex scalar and a complex vector and adds the result to a complex vector. scopy Copies a real, single-precision vector. dcopy Copies a real, double-precision vector. ccopy Copies a complex, single-precision vector. zcopy Copies a complex, double-precision vector. sdot Calculates the inner product of two real, single- precision vectors. ddot Calculates the inner product of two real, double- precision vectors. dsdot Calculates the inner product of two real, single- precision vectors using double precision arithmetic operations and returns a double- precision result. cdotc Calculates the conjugated inner product of two complex, single-precision vectors. zdotc Calculates the conjugated inner product of two complex, double-precision vectors. cdotu Calculates the unconjugated inner product of two complex, single-precision vectors. zdotu Calculates the unconjugated inner product of two complex, double-precision vectors. sdsdot Calculates the inner product of two real, single precision vectors, using double precision arithmetic operations, adds the inner product result to a real single-precision scalar, and returns a single precision result. snrm2 Calculates, in single-precision arithmetic, the square root of the sum of the squares of the elements of a real vector. dnrm2 Calculates, in double-precision arithmetic, the square root of the sum of the squares of the elements of a real vector. scnrm2 Calculates, in single-precision arithmetic, the square root of the sum of the squares of the elements of a complex vector. dznrm2 Calculates, in double-precision arithmetic, the square root of the sum of the squares of the elements of a complex vector. crot Applies a complex Givens plane rotation to two complex, single-precision vectors. zrot Applies a complex Givens plane rotation to two complex, double-precision vectors. srot Applies a real Givens plane rotation to two real, single-precision vectors. drot Applies a real Givens plane rotation to two real, double-precision vectors. csrot Applies a real Givens plane rotation to two complex, single-precision vectors. zdrot Applies a real Givens plane rotation to two complex, double-precision vectors. srotm Applies a modified Givens transformation to two real, single-precision vectors. drotm Applies a modified Givens transformation to two real double-precision vectors. srotg Generates the real elements for a real, single- precision Givens plane rotation. drotg Generates the real elements for a real, double- precision Givens plane rotation. crotg Generates the elements for a complex, single- precision Givens plane rotation. zrotg Generates the elements for a complex, double- precision Givens plane rotation. srotmg Generates the elements for a real, single- precision modified Givens transform. drotmg Generates the elements for a real, double- precision modified Givens transform. sscal Calculates, in single-precision arithmetic, the product of a real scalar and a real vector. dscal Calculates, in double-precision arithmetic, the product of a real scalar and a real vector. cscal Calculates, in single-precision arithmetic, the product of a complex scalar and a complex vector. zscal Calculates, in double-precision arithmetic, the product of a complex scalar and a complex vector. csscal Calculates, in single-precision arithmetic, the product of a real scalar and a complex vector. zdscal Calculates, in double-precision arithmetic, the product of a real scalar and a complex vector. sswap Swaps the elements of two real, single-precision vectors. dswap Swaps the elements of two real, double-precision vectors. cswap Swaps the elements of two complex, single- precision vectors. zswap Swaps the elements of two complex, double- precision vectors.