There are two prototypes of hseqr
available, please see below.
hseqr( const char job, const char compz, const int_t ilo, const int_t ihi, MatrixH& h, VectorWR& wr, VectorWI& wi, MatrixZ& z );
hseqr( const char job, const char compz, const int_t ilo, const int_t ihi, MatrixH& h, VectorW& w, MatrixZ& z );
hseqr (short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SHSEQR, DHSEQR, CHSEQR, and
ZHSEQR. hseqr computes
the eigenvalues of a Hessenberg matrix H and, optionally, the matrices
T and Z from the Schur decomposition H = Z T Z**H, where T is an upper
triangular matrix (the Schur form), and Z is the unitary matrix of Schur
vectors.
Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = QH*Q*H = (QZ)H(QZ)**H.
The selection of the LAPACK routine is done during compile-time, and
is determined by the type of values contained in type MatrixH.
The type of values is obtained through the value_type
meta-function typename value_type<MatrixH>::type. The dispatching table below illustrates
to which specific routine the code path will be generated.
Table 1.228. Dispatching of hseqr
|
Value type of MatrixH |
LAPACK routine |
|---|---|
|
|
SHSEQR |
|
|
DHSEQR |
|
|
CHSEQR |
|
|
ZHSEQR |
Defined in header boost/numeric/bindings/lapack/computational/hseqr.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/hseqr.hpp> using namespace boost::numeric::bindings; lapack::hseqr( x, y, z );
this will output
[5] 0 1 2 3 4 5