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 rotm
G
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