There are two prototypes of tgsen
            available, please see below. 
tgsen( const int_t ijob, const fortran_bool_t wantq, const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a, MatrixB& b, VectorALPHAR& alphar, VectorALPHAI& alphai, VectorBETA& beta, MatrixQ& q, MatrixZ& z, int_t& m, Scalar >, Scalar >, VectorDIF& dif );
tgsen( const int_t ijob, const fortran_bool_t wantq, const fortran_bool_t wantz, const VectorSELECT& select, MatrixA& a, MatrixB& b, VectorALPHA& alpha, VectorBETA& beta, MatrixQ& q, MatrixZ& z, int_t& m, Scalar >, Scalar >, VectorDIF& dif );
            tgsen (short for $FRIENDLY_NAME)
            provides a C++ interface to LAPACK routines STGSEN, DTGSEN, CTGSEN, and
            ZTGSEN. tgsen reorders
            the generalized Schur decomposition of a complex matrix pair (A, B) (in
            terms of an unitary equivalence trans- formation Q' * (A, B) * Z), so
            that a selected cluster of eigenvalues appears in the leading diagonal
            blocks of the pair (A,B). The leading columns of Q and Z form unitary
            bases of the corresponding left and right eigenspaces (deflating subspaces).
            (A, B) must be in generalized Schur canonical form, that is, A and B
            are both upper triangular.
          
            tgsen also computes the
            generalized eigenvalues
          
w(j)= ALPHA(j) / BETA(j)
of the reordered matrix pair (A, B).
Optionally, the routine computes estimates of reciprocal condition numbers for eigenvalues and eigenspaces. These are Difu[(A11,B11), (A22,B22)] and Difl[(A11,B11), (A22,B22)], i.e. the separation(s) between the matrix pairs (A11, B11) and (A22,B22) that correspond to the selected cluster and the eigenvalues outside the cluster, resp., and norms of "projections" onto left and right eigenspaces w.r.t. the selected cluster in the (1,1)-block.
            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.336. Dispatching of tgsen
| Value type of VectorSELECT | LAPACK routine | 
|---|---|
| 
                       | STGSEN | 
| 
                       | DTGSEN | 
| 
                       | CTGSEN | 
| 
                       | ZTGSEN | 
            Defined in header boost/numeric/bindings/lapack/computational/tgsen.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/tgsen.hpp> using namespace boost::numeric::bindings; lapack::tgsen( x, y, z );
this will output
[5] 0 1 2 3 4 5