There is one prototype of unmtr
available, please see below.
unmtr( const Side side, const MatrixA& a, const VectorTAU& tau, MatrixC& c );
unmtr (short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SORMTR, DORMTR, CUNMTR, and
ZUNMTR. unmtr overwrites
the general complex M-by-N matrix C with
SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': Q*H * C C * Q*H
where Q is a complex unitary matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1 elementary reflectors, as returned by ZHETRD:
if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
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.327. Dispatching of unmtr
|
Value type of MatrixA |
LAPACK routine |
|---|---|
|
|
SORMTR |
|
|
DORMTR |
|
|
CUNMTR |
|
|
ZUNMTR |
Defined in header boost/numeric/bindings/lapack/computational/unmtr.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/computational/unmtr.hpp> using namespace boost::numeric::bindings; lapack::unmtr( x, y, z );
this will output
[5] 0 1 2 3 4 5