##### gtrfs

###### Prototype

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

    gtrfs( const VectorDL& dl, const VectorD& d, const VectorDU& du,
            const VectorDLF& dlf, const VectorDF& df, const VectorDUF& duf,
            const VectorDU2& du2, const VectorIPIV& ipiv, const MatrixB& b,
            MatrixX& x, VectorFERR& ferr, VectorBERR& berr );

###### Description

`gtrfs` (short for $FRIENDLY_NAME) provides a C++ interface to LAPACK routines SGTRFS, DGTRFS, CGTRFS, and ZGTRFS. `gtrfs` improves the computed solution to a system of linear equations when the coefficient matrix is tridiagonal, and provides error bounds and backward error estimates for the solution.

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

Table 1.249. Dispatching of gtrfs

Value type of VectorDL | LAPACK routine
--- | ---
`float` | SGTRFS
`double` | DGTRFS
`complex<float>` | CGTRFS
`complex<double>` | ZGTRFS

###### Definition

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

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

this will output

    [5] 0 1 2 3 4 5

###### Notes

###### See Also

- Originating Fortran source files sgtrfs.f, dgtrfs.f, cgtrfs.f, and zgtrfs.f at Netlib.