There are two prototypes of geev
available, please see below.
geev( const char jobvl, const char jobvr, MatrixA& a, VectorWR& wr, VectorWI& wi, MatrixVL& vl, MatrixVR& vr );
geev( const char jobvl, const char jobvr, MatrixA& a, VectorW& w, MatrixVL& vl, MatrixVR& vr );
geev
(short for $FRIENDLY_NAME)
provides a C++ interface to LAPACK routines SGEEV, DGEEV, CGEEV, and
ZGEEV. geev
computes
for an N-by-N complex nonsymmetric matrix A, the eigenvalues and, optionally,
the left and/or right eigenvectors.
The right eigenvector v(j) of A satisfies A * v(j) = lambda(j) * v(j) where lambda(j) is its eigenvalue. The left eigenvector u(j) of A satisfies u(j)*H * A = lambda(j) * u(j)H where u(j)*H denotes the conjugate transpose of u(j).
The computed eigenvectors are normalized to have Euclidean norm equal to 1 and largest component real.
The selection of the LAPACK routine is done during compile-time, and
is determined by the type of values contained in type MatrixA
.
The type of values is obtained through the value_type
meta-function typename value_type<MatrixA>::type
. The dispatching table below illustrates
to which specific routine the code path will be generated.
Table 1.153. Dispatching of geev
Value type of MatrixA |
LAPACK routine |
---|---|
|
SGEEV |
|
DGEEV |
|
CGEEV |
|
ZGEEV |
Defined in header boost/numeric/bindings/lapack/driver/geev.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/driver/geev.hpp> using namespace boost::numeric::bindings; lapack::geev( x, y, z );
this will output
[5] 0 1 2 3 4 5