PrevUpHomeNext
larft
Prototype

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 );

Description

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

float

SLARFT

double

DLARFT

complex<float>

CLARFT

complex<double>

ZLARFT


Definition

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

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

this will output

[5] 0 1 2 3 4 5

Notes
See Also

PrevUpHomeNext