There is one prototype of hpgvd
available, please see below.
hpgvd( const int_t itype, const char jobz, MatrixAP& ap, MatrixBP& bp, VectorW& w, MatrixZ& z );
hpgvd
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SSPGVD, DSPGVD, CHPGVD, and
ZHPGVD. hpgvd
computes
all the eigenvalues and, optionally, the eigenvectors of a complex generalized
Hermitian-definite eigenproblem, of the form A*x(lambda)*B*x,
A*Bx
(lambda)*x, or B*A*x=(lambda)*x. Here A and B are assumed
to be Hermitian, stored in packed format, and B is also positive definite.
If eigenvectors are desired, it uses a divide and conquer algorithm.
The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.
The selection of the LAPACK routine is done during compile-time, and
is determined by the type of values contained in type MatrixAP
.
The type of values is obtained through the value_type
meta-function typename value_type<MatrixAP>::type
. The dispatching table below illustrates
to which specific routine the code path will be generated.
Table 1.113. Dispatching of hpgvd
Value type of MatrixAP |
LAPACK routine |
---|---|
|
SSPGVD |
|
DSPGVD |
|
CHPGVD |
|
ZHPGVD |
Defined in header boost/numeric/bindings/lapack/driver/hpgvd.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/hpgvd.hpp> using namespace boost::numeric::bindings; lapack::hpgvd( x, y, z );
this will output
[5] 0 1 2 3 4 5