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