There is one prototype of ggqrf
available, please see below.
ggqrf( MatrixA& a, VectorTAUA& taua, MatrixB& b, VectorTAUB& taub );
ggqrf
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SGGQRF, DGGQRF, CGGQRF, and
ZGGQRF. ggqrf
computes
a generalized QR factorization of an N-by-M matrix A and an N-by-P matrix
B:
A = Q*R, B = Q*T*Z,
where Q is an N-by-N unitary matrix, Z is a P-by-P unitary matrix, and R and T assume one of the forms:
if N >= M, R = ( R11 ) M , or if N < M, R = ( R11 R12 ) N, ( 0 ) N-M N M-N M
where R11 is upper triangular, and
if N <= P, T = ( 0 T12 ) N, or if N > P, T = ( T11 ) N-P, P-N N ( T21 ) P P
where T12 or T21 is upper triangular.
In particular, if B is square and nonsingular, the GQR factorization of A and B implicitly gives the QR factorization of inv(B)*A:
inv(B)A = Z'(inv(T)*R)
where inv(B) denotes the inverse of the matrix B, and Z' denotes the conjugate transpose of matrix Z.
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.190. Dispatching of ggqrf
Value type of MatrixA |
LAPACK routine |
---|---|
|
SGGQRF |
|
DGGQRF |
|
CGGQRF |
|
ZGGQRF |
Defined in header boost/numeric/bindings/lapack/computational/ggqrf.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/ggqrf.hpp> using namespace boost::numeric::bindings; lapack::ggqrf( x, y, z );
this will output
[5] 0 1 2 3 4 5