# Naming Conventions in Sparse BLAS Level 2 and Level 3

Each Sparse BLAS Level 2 and Level 3 routine has a six- or eight-character base name preceded by the prefix `mkl_` or `mkl_cspblas_` .

The routines with typical (conventional) interface have six-character base names in accordance with the template:
`mkl_<character > <data> <operation>( )`

The routines with simplified interfaces have eight-character base names in accordance with the templates:

`mkl_<character > <data> <mtype> <operation>( )` for routines with one-based indexing; and
`mkl_cspblas_<character> <data> <mtype> <operation>( )`
for routines with zero-based indexing.

The `<character>` field indicates the data type:

`s`

  real, single precision

`c`

  complex, single precision

`d`

  real, double precision

`z`

  complex, double precision

The `<data>` field indicates the sparse matrix storage format (see section Sparse Matrix Storage Formats):

`coo`

  coordinate format

`csr`

  compressed sparse row format and its variations

`csc`

  compressed sparse column format and its variations

`dia`

  diagonal format

`sky`

  skyline storage format

`bsr`

  block sparse row format and its variations

The `<operation>` field indicates the type of operation:

`mv`

  matrix-vector product (Level 2)

`mm`

  matrix-matrix product (Level 3)

`sv`

  solving a single triangular system (Level 2)

`sm`

  solving triangular systems with multiple right-hand sides (Level 3)

The field `<mtype>` indicates the matrix type:

`ge`

  sparse representation of a general matrix

`sy`

  sparse representation of the upper or lower triangle of a symmetric matrix

`tr`

  sparse representation of a triangular matrix

Parent topic: Sparse BLAS Level 2 and Level 3 Routines