There is one prototype of tpmv
            available, please see below. 
tpmv( const MatrixAP& ap, VectorX& x );
            tpmv (short for triangular,
            packed, matrix-vector operation) provides a C++ interface to BLAS routines
            STPMV, DTPMV, CTPMV, and ZTPMV. tpmv
            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 matrix, supplied in packed form.
            The selection of the BLAS routine is done during compile-time, and is
            determined by the type of values contained in type MatrixAP.
            The type of values is obtained through the value_type
            meta-function typename value_type<MatrixAP>::type. Table X below illustrates to
            which specific routine this dispatching will take place.
          
Table 1.74. Dispatching of tpmv.
| Value type of MatrixAP | BLAS routine | CBLAS routine | CUBLAS routine | 
|---|---|---|---|
| 
                       | STPMV | cblas_stpmv | cublasStpmv | 
| 
                       | DTPMV | cblas_dtpmv | Unavailable | 
| 
                       | CTPMV | cblas_ctpmv | cublasCtpmv | 
| 
                       | ZTPMV | cblas_ztpmv | Unavailable | 
            The original routines STPMV, DTPMV, CTPMV, and ZTPMV have seven arguments,
            whereas tpmv requires
            two arguments.
          
            Defined in header boost/numeric/bindings/blas/level2/tpmv.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/tpmv.hpp> using namespace boost::numeric::bindings; blas::tpmv( x, y, z );
this will output
[5] 0 1 2 3 4 5