There is one prototype of tgevc
available, please see below.
tgevc( const Side side, const char howmny, const VectorSELECT& select, const MatrixS& s, const MatrixP& p, MatrixVL& vl, MatrixVR& vr, const int_t mm, int_t& m );
tgevc
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines STGEVC, DTGEVC, CTGEVC, and
ZTGEVC. tgevc
computes
some or all of the right and/or left eigenvectors of a pair of complex
matrices (S,P), where S and P are upper triangular. Matrix pairs of this
type are produced by the generalized Schur factorization of a complex
matrix pair (A,B):
A = QS*Z*H, B = QP*Z*H
as computed by ZGGHRD + ZHGEQZ.
The right eigenvector x and the left eigenvector y of (S,P) corresponding to an eigenvalue w are defined by:
S*x = wP*x, (y*H)S = w(y**H)*P,
where y**H denotes the conjugate tranpose of y. The eigenvalues are not input to this routine, but are computed directly from the diagonal elements of S and P.
This routine returns the matrices X and/or Y of right and left eigenvectors of (S,P), or the products Z*X and/or Q*Y, where Z and Q are input matrices. If Q and Z are the unitary factors from the generalized Schur factorization of a matrix pair (A,B), then Z*X and Q*Y are the matrices of right and left eigenvectors of (A,B).
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 1.334. Dispatching of tgevc
Value type of VectorSELECT |
LAPACK routine |
---|---|
|
STGEVC |
|
DTGEVC |
|
CTGEVC |
|
ZTGEVC |
Defined in header boost/numeric/bindings/lapack/computational/tgevc.hpp
.
Parameters
The definition of term 1
The definition of term 2
The definition of term 3.
Definitions may contain paragraphs.
#include <boost/numeric/bindings/lapack/computational/tgevc.hpp> using namespace boost::numeric::bindings; lapack::tgevc( x, y, z );
this will output
[5] 0 1 2 3 4 5