There is one prototype of gglse
available, please see below.
gglse( MatrixA& a, MatrixB& b, VectorC& c, VectorD& d, VectorX& x );
gglse
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SGGLSE, DGGLSE, CGGLSE, and
ZGGLSE. gglse
solves
the linear equality-constrained least squares (LSE) problem:
minimize || c - A*x ||_2 subject to B*x = d
where A is an M-by-N matrix, B is a P-by-N matrix, c is a given M-vector, and d is a given P-vector. It is assumed that P <= N <= M+P, and
rank(B) = P and rank( ( A ) ) = N. ( ( B ) )
These conditions ensure that the LSE problem has a unique solution, which is obtained using a generalized RQ factorization of the matrices (B, A) given by
B = (0 R)*Q, A = Z*T*Q.
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.125. Dispatching of gglse
Value type of MatrixA |
LAPACK routine |
---|---|
|
SGGLSE |
|
DGGLSE |
|
CGGLSE |
|
ZGGLSE |
Defined in header boost/numeric/bindings/lapack/driver/gglse.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/driver/gglse.hpp> using namespace boost::numeric::bindings; lapack::gglse( x, y, z );
this will output
[5] 0 1 2 3 4 5