[/ 

THIS FILE IS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT!

]

[section trevc]

[heading Prototype]
There are two prototypes of `trevc` available, please see below.
``
trevc( const Side side, const char howmny, VectorSELECT& select,
        const MatrixT& t, MatrixVL& vl, MatrixVR& vr,
        const int_t mm, int_t& m );
``

``
trevc( const Side side, const char howmny, const VectorSELECT& select,
        MatrixT& t, MatrixVL& vl, MatrixVR& vr, const int_t mm,
        int_t& m );
``


[heading Description]

`trevc` (short for $FRIENDLY_NAME) provides a C++
interface to LAPACK routines STREVC, DTREVC, CTREVC, and ZTREVC. 
`trevc` computes some or all of the right and/or left eigenvectors of
a complex upper triangular matrix T.
Matrices of this type are produced by the Schur factorization of
a complex general matrix: A = Q*T*Q**H, as computed by ZHSEQR.

The right eigenvector x and the left eigenvector y of T corresponding
to an eigenvalue w are defined by:

T*x = w*x, (y**H)*T = w*(y**H)

where y**H denotes the conjugate transpose of the vector y.
The eigenvalues are not input to this routine, but are read directly
from the diagonal of T.

This routine returns the matrices X and/or Y of right and left
eigenvectors of T, or the products Q*X and/or Q*Y, where Q is an
input matrix. If Q is the unitary factor that reduces a matrix A to
Schur form T, then Q*X and Q*Y are the matrices of right and left
eigenvectors of A.

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

[table Dispatching of trevc
[  [ Value type of VectorSELECT ] [LAPACK routine] ]
[  [`float`][STREVC] ]
[  [`double`][DTREVC] ]
[  [`complex<float>`][CTREVC] ]
[  [`complex<double>`][ZTREVC] ]

]


[heading Definition]
Defined in header [headerref boost/numeric/bindings/lapack/computational/trevc.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/computational/trevc.hpp>
using namespace boost::numeric::bindings;

lapack::trevc( 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/strevc.f strevc.f], [@http://www.netlib.org/lapack/double/dtrevc.f dtrevc.f], [@http://www.netlib.org/lapack/complex/ctrevc.f ctrevc.f], and [@http://www.netlib.org/lapack/complex16/ztrevc.f ztrevc.f] at Netlib.

[endsect]
