There is one prototype of pteqr
available, please see below.
pteqr( const char compz, VectorD& d, VectorE& e, MatrixZ& z );
pteqr
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SPTEQR, DPTEQR, CPTEQR, and
ZPTEQR. pteqr
computes
all eigenvalues and, optionally, eigenvectors of a symmetric positive
definite tridiagonal matrix by first factoring the matrix using DPTTRF
and then calling ZBDSQR to compute the singular values of the bidiagonal
factor.
This routine computes the eigenvalues of the positive definite tridiagonal matrix to high relative accuracy. This means that if the eigenvalues range over many orders of magnitude in size, then the small eigenvalues and corresponding eigenvectors will be computed more accurately than, for example, with the standard QR method.
The eigenvectors of a full or band positive definite Hermitian matrix can also be found if ZHETRD, ZHPTRD, or ZHBTRD has been used to reduce this matrix to tridiagonal form. (The reduction to tridiagonal form, however, may preclude the possibility of obtaining high relative accuracy in the small eigenvalues of the original matrix, if these eigenvalues range over many orders of magnitude.)
The selection of the LAPACK routine is done during compile-time, and
is determined by the type of values contained in type VectorD
.
The type of values is obtained through the value_type
meta-function typename value_type<VectorD>::type
. The dispatching table below illustrates
to which specific routine the code path will be generated.
Table 1.315. Dispatching of pteqr
Value type of VectorD |
LAPACK routine |
---|---|
|
SPTEQR |
|
DPTEQR |
|
CPTEQR |
|
ZPTEQR |
Defined in header boost/numeric/bindings/lapack/computational/pteqr.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/pteqr.hpp> using namespace boost::numeric::bindings; lapack::pteqr( x, y, z );
this will output
[5] 0 1 2 3 4 5