PrevUpHomeNext
larrb
Prototype

There is one prototype of larrb available, please see below.

larrb( const int_t n, const VectorD& d, const VectorLLD& lld,
        const int_t ifirst, const int_t ilast,
        const Scalar >, const Scalar >, const int_t offset,
        VectorW& w, VectorWGAP& wgap, VectorWERR& werr, const Scalar >,
        const Scalar >, const int_t twist );

Description

larrb (short for $FRIENDLY_NAME) provides a C++ interface to LAPACK routines SLARRB and DLARRB. Given the relatively robust representation(RRR) L D L^T, larrb does "limited" bisection to refine the eigenvalues of L D L^T, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy. Initial guesses for these eigenvalues are input in W, the corresponding estimate of the error in these guesses and their gaps are input in WERR and WGAP, respectively. During bisection, intervals [left, right] are maintained by storing their mid-points and semi-widths in the arrays W and WERR respectively.

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.347. Dispatching of larrb

Value type of VectorD

LAPACK routine

float

SLARRB

double

DLARRB


Definition

Defined in header boost/numeric/bindings/lapack/auxiliary/larrb.hpp.

Parameters or Requirements on Types

Parameters

MatrixA

The definition of term 1

MatrixB

The definition of term 2

MatrixC

The definition of term 3.

Definitions may contain paragraphs.

Complexity
Example

#include <boost/numeric/bindings/lapack/auxiliary/larrb.hpp>
using namespace boost::numeric::bindings;

lapack::larrb( x, y, z );

this will output

[5] 0 1 2 3 4 5

Notes
See Also

PrevUpHomeNext