There are two prototypes of pttrs
available, please see below.
pttrs( const VectorD& d, const VectorE& e, MatrixB& b );
pttrs( const char uplo, const VectorD& d, const VectorE& e, MatrixB& b );
pttrs
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SPTTRS, DPTTRS, CPTTRS, and
ZPTTRS. pttrs
solves
a tridiagonal system of the form A * X = B using the factorization A
= U'*D*U or A = L*D*L' computed by ZPTTRF. D is a diagonal matrix specified
in the vector D, U (or L) is a unit bidiagonal matrix whose superdiagonal
(subdiagonal) is specified in the vector E, and X and B are N by NRHS
matrices.
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.285. Dispatching of pttrs
Value type of VectorD |
LAPACK routine |
---|---|
|
SPTTRS |
|
DPTTRS |
|
CPTTRS |
|
ZPTTRS |
Defined in header boost/numeric/bindings/lapack/computational/pttrs.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/pttrs.hpp> using namespace boost::numeric::bindings; lapack::pttrs( x, y, z );
this will output
[5] 0 1 2 3 4 5