There is one prototype of hpevd
            available, please see below. 
hpevd( const char jobz, MatrixAP& ap, VectorW& w, MatrixZ& z );
            hpevd (short for $FRIENDLY_NAME)
            provides a C++ interface to LAPACK routines SSPEVD, DSPEVD, CHPEVD, and
            ZHPEVD. hpevd computes
            all the eigenvalues and, optionally, eigenvectors of a complex Hermitian
            matrix A in packed storage. If eigenvectors are desired, it uses a divide
            and conquer algorithm.
          
The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.
            The selection of the LAPACK routine is done during compile-time, and
            is determined by the type of values contained in type MatrixAP.
            The type of values is obtained through the value_type
            meta-function typename value_type<MatrixAP>::type. The dispatching table below illustrates
            to which specific routine the code path will be generated.
          
Table 1.165. Dispatching of hpevd
| Value type of MatrixAP | LAPACK routine | 
|---|---|
| 
                       | SSPEVD | 
| 
                       | DSPEVD | 
| 
                       | CHPEVD | 
| 
                       | ZHPEVD | 
            Defined in header boost/numeric/bindings/lapack/driver/hpevd.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/hpevd.hpp> using namespace boost::numeric::bindings; lapack::hpevd( x, y, z );
this will output
[5] 0 1 2 3 4 5