The example programs illustrate the use of the double precision versions of the LAPACK drivers.

An example problem is given for each of the LAPACK drivers. These examples are classified under the general problem types classified on the top page; for instance, an example illustrating the use of the driver DSBGVX for finding selected eigenvalues and corresponding eigenvectors of a generalized band symmetric eigenproblem is found under the heading Real Generalized Symmetric Eigenvalue Routines.

Each example problem comprises a description of the problem, together with links to the example program, the example data and example result. A number of the example programs require one or more non-LAPACK routines, mainly matrix printing routines, and these are provided in the gzipped tar file extras.tar.gz, or for Windows users, in the self extracting .exe file extras.exe. These Fortran files, with extension .f, are extracted to a subdirectory 'extras'. Naturally, these files need to be compiled and linked; it is recommended that they be formed into a library, to be linked along with LAPACK. Documentation for the matrix printing routines can be found in the X04 Chapter of the NAG Fortran Library manual.

Some of the example programs for complex problems use double precision intrinsic functions such as DCMPLX and DIMAG. Most compilers will accept these functions names, but may require an additional switch. For example, the NAGWare Fortran 95 compiler requires the compiler switch -dcfuns.

The example program results were generated using the NAGWare Fortran 95 compiler, version 5.0 linking to the AMD Core Maths Library, ACML version 2.5.1 under Fedora Core 4 Linux on a 32 bit Pentium M. Other configurations may well produce different results, although the solutions to the linear systems produced by the linear equation and least squares solvers should be the same to the figures printed, as should the eigenvalues and singular values produced by the eigenvalue and singular value routines. Eigenvectors, singular vectors and Schur forms and vectors may differ. For example, real eigenvectors may differ in sign and complex eigenvectors may differ in scaling, which in this latter case can make them have quite different numerical values. Also differences may occur in small values such as error estimates.

Back to Contents