There is one prototype of rotm
            available, please see below. 
rotm( VectorX& x, VectorY& y, VectorPARAM& param );
            rotm (short for TODO)
            provides a C++ interface to BLAS routines SROTM and DROTM. APPLY THE
            MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX
          
(DX**T) , WHERE *T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN (DY*T)
DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY. WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS..
            DFLAG=-1.D0 DFLAG=0.D0 DFLAG1.D0 DFLAG-2.D0
          
            (DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0) H=( ) ( ) ( ) ( ) (DH21
            DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0). SEE rotmG
            FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
          
            The selection of the BLAS routine is done during compile-time, and is
            determined by the type of values contained in type VectorX.
            The type of values is obtained through the value_type
            meta-function typename value_type<VectorX>::type. Table X below illustrates to
            which specific routine this dispatching will take place.
          
Table 1.26. Dispatching of rotm.
| Value type of VectorX | BLAS routine | CBLAS routine | CUBLAS routine | 
|---|---|---|---|
| 
                       | SROTM | cblas_srotm | cublasSrotm | 
| 
                       | DROTM | cblas_drotm | cublasDrotm | 
            The original routines SROTM and DROTM have six arguments, whereas rotm requires three arguments.
          
            Defined in header boost/numeric/bindings/blas/level1/rotm.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/level1/rotm.hpp> using namespace boost::numeric::bindings; blas::rotm( x, y, z );
this will output
[5] 0 1 2 3 4 5