There is one prototype of labrd
available, please see below.
labrd( MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq, VectorTAUP& taup, MatrixX& x, MatrixY& y );
labrd (short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SLABRD, DLABRD, CLABRD, and
ZLABRD. labrd reduces
the first NB rows and columns of a complex general m by n matrix A to
upper or lower real bidiagonal form by a unitary transformation Q' *
A * P, and returns the matrices X and Y which are needed to apply the
transformation to the unreduced part of A.
If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower bidiagonal form.
This is an auxiliary routine called by ZGEBRD
The selection of the LAPACK routine is done during compile-time, and
is determined by the type of values contained in type MatrixA.
The type of values is obtained through the value_type
meta-function typename value_type<MatrixA>::type. The dispatching table below illustrates
to which specific routine the code path will be generated.
Table 1.361. Dispatching of labrd
|
Value type of MatrixA |
LAPACK routine |
|---|---|
|
|
SLABRD |
|
|
DLABRD |
|
|
CLABRD |
|
|
ZLABRD |
Defined in header boost/numeric/bindings/lapack/auxiliary/labrd.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/lapack/auxiliary/labrd.hpp> using namespace boost::numeric::bindings; lapack::labrd( x, y, z );
this will output
[5] 0 1 2 3 4 5