There is one prototype of larft
available, please see below.
larft( const char direct, const char storev, const int_t n, const int_t k, MatrixV& v, const VectorTAU& tau, MatrixT& t );
larft
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SLARFT, DLARFT, CLARFT, and
ZLARFT. larft
forms the
triangular factor T of a complex block reflector H of order n, which
is defined as a product of k elementary reflectors.
If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular;
If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular.
If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and
H = I - V * T * V'
If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and
H = I - V' * T * V
The selection of the LAPACK routine is done during compile-time, and
is determined by the type of values contained in type MatrixV
.
The type of values is obtained through the value_type
meta-function typename value_type<MatrixV>::type
. The dispatching table below illustrates
to which specific routine the code path will be generated.
Table 1.343. Dispatching of larft
Value type of MatrixV |
LAPACK routine |
---|---|
|
SLARFT |
|
DLARFT |
|
CLARFT |
|
ZLARFT |
Defined in header boost/numeric/bindings/lapack/auxiliary/larft.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/larft.hpp> using namespace boost::numeric::bindings; lapack::larft( x, y, z );
this will output
[5] 0 1 2 3 4 5