geev Programmers Guide Contents | Index |  Search

Category:mtl2lapack Component type:function
Prototype
template <class LapackMatA, class LapackMatVL, class LapackMatVR, class VectorComplex>
int geev(int jobv, LapackMatA& a, VectorComplex& w, LapackMatVL& vl, LapackMatVR& vr) ;
Description
Compute for an N-by-N non-symmetric matrix A, the eigenvalues, and, optionally, the left and/or right eigenvectors (simple driver).
• jobv (IN - int) Specifies which eigenvectors to solve for (left, right, both, or neither). One of four values: GEEV_CALC_LEFT - function computes left eigenvectors. GEEV_CALC_RIGHT - function computes right eigenvectors. GEEV_CALC_BOTH - function computes both left and right eigenvectors. GEEV_CALC_NONE - function computes neither left nor right eigenvectors.
• a (IN/OUT - matrix(M,N)) The coefficient matrix A on entry, and is overwritten on exit.
• w (OUT - vector(N)) Std::Complex Vector with same base precision as A. The computed real and imaginary parts of the eigenvectors.
• vl (OUT - matrix(N,N)) Matrix of same numerical type as A. Used to store left eigenvectors if they are computed.
• vr (OUT - matrix(N,N)) Matrix of same numerical type as A. Used to store right eigenvectors if they are computed.
• info (OUT - int) 0 : function completed normally < 0 : The ith argument, where i = abs(return value) had an illegal value. > 0 : The QR algorithm failed to compute all the eigenvalues and no eigenvectors have been computed.
Definition
mtl2lapack.h
Preconditions
Complexity
Example
Notes