PrevUpHomeNext
largv
Prototype

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

largv( const int_t n, VectorX& x, VectorY& y, VectorC& c );

Description

largv (short for $FRIENDLY_NAME) provides a C++ interface to LAPACK routines SLARGV, DLARGV, CLARGV, and ZLARGV. largv generates a vector of complex plane rotations with real cosines, determined by elements of the complex vectors x and y. For i = 1,2,...,n

( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -conjg(s(i)) c(i) ) ( y(i) ) = ( 0 )

where c(i)*2 + ABS(s(i))*2 = 1

The following conventions are used (these are the same as in ZLARTG, but differ from the BLAS1 routine ZROTG): If y(i)=0, then c(i)=1 and s(i)=0. If x(i)=0, then c(i)=0 and s(i) is chosen so that r(i) is real.

The selection of the LAPACK 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. The dispatching table below illustrates to which specific routine the code path will be generated.

Table 1.366. Dispatching of largv

Value type of VectorX

LAPACK routine

float

SLARGV

double

DLARGV

complex<float>

CLARGV

complex<double>

ZLARGV


Definition

Defined in header boost/numeric/bindings/lapack/auxiliary/largv.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/lapack/auxiliary/largv.hpp>
using namespace boost::numeric::bindings;

lapack::largv( x, y, z );

this will output

[5] 0 1 2 3 4 5

Notes
See Also

PrevUpHomeNext