There is one prototype of tbmv
            available, please see below. 
tbmv( const int_t k, const MatrixA& a, VectorX& x );
            tbmv (short for triangular,
            banded, matrix-vector operation) provides a C++ interface to BLAS routines
            STBMV, DTBMV, CTBMV, and ZTBMV. tbmv
            performs one of the matrix-vector operations
          
x := A*x, or x := A'*x, or x := conjg( A' )*x,
where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.
            The selection of the BLAS routine is done during compile-time, and is
            determined by the type of values contained in type MatrixA.
            The type of values is obtained through the value_type
            meta-function typename value_type<MatrixA>::type. Table X below illustrates to
            which specific routine this dispatching will take place.
          
Table 1.70. Dispatching of tbmv.
| Value type of MatrixA | BLAS routine | CBLAS routine | CUBLAS routine | 
|---|---|---|---|
| 
                       | STBMV | cblas_stbmv | cublasStbmv | 
| 
                       | DTBMV | cblas_dtbmv | Unavailable | 
| 
                       | CTBMV | cblas_ctbmv | cublasCtbmv | 
| 
                       | ZTBMV | cblas_ztbmv | Unavailable | 
            The original routines STBMV, DTBMV, CTBMV, and ZTBMV have nine arguments,
            whereas tbmv requires
            three arguments.
          
            Defined in header boost/numeric/bindings/blas/level2/tbmv.hpp.
          
Parameters
The definition of term 1
The definition of term 2
The definition of term 3.
Definitions may contain paragraphs.
#include <boost/numeric/bindings/blas/level2/tbmv.hpp> using namespace boost::numeric::bindings; blas::tbmv( x, y, z );
this will output
[5] 0 1 2 3 4 5