CXML

## blas1

A library of linear algebra routines

#### Description

```  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.
```