There is one prototype of poequ
available, please see below.
poequ( const MatrixA& a, VectorS& s, Scalar >, Scalar > );
poequ (short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SPOEQU, DPOEQU, CPOEQU, and
ZPOEQU. poequ computes
row and column scalings intended to equilibrate a Hermitian positive
definite matrix A and reduce its condition number (with respect to the
two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen
so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has
ones on the diagonal. This choice of S puts the condition number of B
within a factor N of the smallest possible condition number over all
possible diagonal scalings.
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.270. Dispatching of poequ
|
Value type of MatrixA |
LAPACK routine |
|---|---|
|
|
SPOEQU |
|
|
DPOEQU |
|
|
CPOEQU |
|
|
ZPOEQU |
Defined in header boost/numeric/bindings/lapack/computational/poequ.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/poequ.hpp> using namespace boost::numeric::bindings; lapack::poequ( x, y, z );
this will output
[5] 0 1 2 3 4 5