PrevUpHomeNext
rotm
Prototype

There is one prototype of rotm available, please see below.

rotm( VectorX& x, VectorY& y, VectorPARAM& param );

Description

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

float

SROTM

cblas_srotm

cublasSrotm

double

DROTM

cblas_drotm

cublasDrotm


The original routines SROTM and DROTM have six arguments, whereas rotm requires three arguments.

Table 1.27. Deduction of arguments of rotm.


Definition

Defined in header boost/numeric/bindings/blas/level1/rotm.hpp.

Parameters or Requirements on Types

Parameters

MatrixA

The definition of term 1

MatrixB

The definition of term 2

MatrixC

The definition of term 3.

Definitions may contain paragraphs.

Complexity
Example

#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

Notes
See Also

PrevUpHomeNext