Level 1 BLAS (Vector Operations)

Level 1 BLAS perform vector-vector operations with O(n) complexity.

All operations are templated on scalar type (float, double, std::complex<float>, std::complex<double>) and support both CPU and GPU execution via the optional Queue parameter.

Operations

asum - Sum of absolute values: \(\sum |x_i|\)

axpy - Scale and add vectors: \(y = \alpha x + y\)

copy - Copy vector: \(y = x\)

dot - Dot product (conjugated): \(x^H y\)

dotu - Dot product (unconjugated): \(x^T y\)

iamax - Index of maximum absolute value

nrm2 - Euclidean norm: \(\|x\|_2\)

rot - Apply plane rotation

rotg - Generate plane rotation

rotm - Apply modified Givens rotation

rotmg - Generate modified Givens rotation

scal - Scale vector: \(x = \alpha x\)

swap - Swap vectors: \(x \leftrightarrow y\)

All functions are defined in the blas namespace and documented in individual header files under include/blas/.