[/ 

THIS FILE IS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT!

]

[section larre]

[heading Prototype]
There is one prototype of `larre` available, please see below.
``
larre( const char range, const int_t n, Scalar >, Scalar >,
        const int_t il, const int_t iu, VectorD& d,
        VectorE& e, VectorE2& e2, const Scalar >, const Scalar >,
        const Scalar >, int_t& nsplit, VectorISPLIT& isplit,
        int_t& m, VectorW& w, VectorWERR& werr, VectorWGAP& wgap,
        VectorIBLOCK& iblock, VectorINDEXW& indexw, VectorGERS& gers,
        Scalar > );
``


[heading Description]

`larre` (short for $FRIENDLY_NAME) provides a C++
interface to LAPACK routines SLARRE and DLARRE. 
To find the desired eigenvalues of a given real symmetric
tridiagonal matrix T, `larre` sets any "small" off-diagonal
elements to zero, and for each unreduced block T_i, it finds
(a) a suitable shift at one end of the block's spectrum,
(b) the base representation, T_i - sigma_i I = L_i D_i L_i^T, and
(c) eigenvalues of each L_i D_i L_i^T.
The representations and eigenvalues found are then used by
DSTEMR to compute the eigenvectors of T.
The accuracy varies depending on whether bisection is used to
find a few eigenvalues or the dqds algorithm (subroutine DLASQ2) to
conpute all and then discard any unwanted one.
As an added benefit, `larre` also outputs the n
Gerschgorin intervals for the matrices L_i D_i L_i^T.

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 Dispatching of larre
[  [ Value type of VectorD ] [LAPACK routine] ]
[  [`float`][SLARRE] ]
[  [`double`][DLARRE] ]

]


[heading Definition]
Defined in header [headerref boost/numeric/bindings/lapack/auxiliary/larre.hpp].


[heading Parameters or Requirements on Types]

[variablelist Parameters
    [[MatrixA] [The definition of term 1]]
    [[MatrixB] [The definition of term 2]]
    [[MatrixC] [
    The definition of term 3.

    Definitions may contain paragraphs.
    ]]
]


[heading Complexity]


[heading Example]
``
#include <boost/numeric/bindings/lapack/auxiliary/larre.hpp>
using namespace boost::numeric::bindings;

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

``

this will output

``
[5] 0 1 2 3 4 5
``



[heading Notes]


[heading See Also]

* Originating Fortran source files [@http://www.netlib.org/lapack/single/slarre.f slarre.f] and [@http://www.netlib.org/lapack/double/dlarre.f dlarre.f] at Netlib.

[endsect]
