##### sbgst

###### Prototype

There is one prototype of `sbgst` available, please see below.

    sbgst( const char vect, MatrixAB& ab, const MatrixBB& bb, MatrixX& x );

###### Description

`sbgst` (short for $FRIENDLY_NAME) provides a C++ interface to LAPACK routines SSBGST and DSBGST. `sbgst` reduces a real symmetric-definite banded generalized eigenproblem A*x = lambda*B*x to standard form C*y = lambda*y, such that C has the same bandwidth as A.

B must have been previously factorized as S*T*S by DPBSTF, using a split Cholesky factorization. A is overwritten by C = X*TA*X, where X = S*(-1)*Q and Q is an orthogonal matrix chosen to preserve the bandwidth of A.

The selection of the LAPACK routine is done during compile-time, and is determined by the type of values contained in type `MatrixAB`. The type of values is obtained through the `value_type` meta-function `typename value_type<MatrixAB>::type`. The dispatching table below illustrates to which specific routine the code path will be generated.

Table 1.188. Dispatching of sbgst

Value type of MatrixAB | LAPACK routine
--- | ---
`float` | SSBGST
`double` | DSBGST

###### Definition

Defined in header `boost/numeric/bindings/lapack/computational/sbgst.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/computational/sbgst.hpp>
    using namespace boost::numeric::bindings;

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

this will output

    [5] 0 1 2 3 4 5

###### Notes

###### See Also

- Originating Fortran source files ssbgst.f and dsbgst.f at Netlib.