# Sparse BLAS Level 1 Routines

This section describes Sparse BLAS Level 1, an extension of BLAS Level 1 included in the Intel® Math Kernel Library beginning with the Intel MKL release 2.1. Sparse BLAS Level 1 is a group of routines and functions that perform a number of common vector operations on sparse vectors stored in compressed form.

Sparse vectors are those in which the majority of elements are zeros. Sparse BLAS routines and functions are specially implemented to take advantage of vector sparsity. This allows you to achieve large savings in computer time and memory. If nz is the number of non-zero vector elements, the computer time taken by Sparse BLAS operations will be `O(nz)`.

- Vector Arguments
- Naming Conventions
- Routines and Data Types
- BLAS Level 1 Routines That Can Work With Sparse Vectors
- ?axpyi
  Adds a scalar multiple of compressed sparse vector to a full-storage vector.
- ?doti
  Computes the dot product of a compressed sparse real vector by a full-storage real vector.
- ?dotci
  Computes the conjugated dot product of a compressed sparse complex vector with a full-storage complex vector.
- ?dotui
  Computes the dot product of a compressed sparse complex vector by a full-storage complex vector.
- ?gthr
  Gathers a full-storage sparse vector's elements into compressed form.
- ?gthrz
  Gathers a sparse vector's elements into compressed form, replacing them by zeros.
- ?roti
  Applies Givens rotation to sparse vectors one of which is in compressed form.
- ?sctr
  Converts compressed sparse vectors into full storage form.

Parent topic: BLAS and Sparse BLAS Routines