There is one prototype of gesvd
            available, please see below. 
gesvd( const char jobu, const char jobvt, MatrixA& a, VectorS& s, MatrixU& u, MatrixVT& vt );
            gesvd (short for $FRIENDLY_NAME)
            provides a C++ interface to LAPACK routines SGESVD, DGESVD, CGESVD, and
            ZGESVD. gesvd computes
            the singular value decomposition (SVD) of a complex M-by-N matrix A,
            optionally computing the left and/or right singular vectors. The SVD
            is written
          
A = U * SIGMA * conjugate-transpose(V)
where SIGMA is an M-by-N matrix which is zero except for its min(m,n) diagonal elements, U is an M-by-M unitary matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A; they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A.
Note that the routine returns V**H, not V.
            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.156. Dispatching of gesvd
| Value type of MatrixA | LAPACK routine | 
|---|---|
| 
                       | SGESVD | 
| 
                       | DGESVD | 
| 
                       | CGESVD | 
| 
                       | ZGESVD | 
            Defined in header boost/numeric/bindings/lapack/driver/gesvd.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/gesvd.hpp> using namespace boost::numeric::bindings; lapack::gesvd( x, y, z );
this will output
[5] 0 1 2 3 4 5