There is one prototype of ungbr
available, please see below.
ungbr( const char vect, const int_t m, const int_t n, const int_t k, MatrixA& a, const VectorTAU& tau );
ungbr (short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SORGBR, DORGBR, CUNGBR, and
ZUNGBR. ungbr generates
one of the complex unitary matrices Q or P*H determined
by ZGEBRD when reducing a complex matrix A to bidiagonal form: A = Q
* B * PH. Q and P*H are defined
as products of elementary reflectors H(i) or G(i) respectively.
If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q is of
order M: if m >= k, Q = H(1) H(2) . . . H(k) and ungbr
returns the first n columns of Q, where m >= n >= k; if m <
k, Q = H(1) H(2) . . . H(m-1) and ungbr
returns Q as an M-by-M matrix.
If VECT = 'P', A is assumed to have been a K-by-N matrix, and P*H is of order N: if k < n, PH = G(k) . . . G(2) G(1) and `ungbr` returns the first m rows of PH, where n >= m >= k; if k >= n, PH = G(n-1) . . . G(2) G(1) and `ungbr` returns P*H as an N-by-N matrix.
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.222. Dispatching of ungbr
|
Value type of MatrixA |
LAPACK routine |
|---|---|
|
|
SORGBR |
|
|
DORGBR |
|
|
CUNGBR |
|
|
ZUNGBR |
Defined in header boost/numeric/bindings/lapack/computational/ungbr.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/ungbr.hpp> using namespace boost::numeric::bindings; lapack::ungbr( x, y, z );
this will output
[5] 0 1 2 3 4 5