LAPACK_D is a FORTRAN90 library which can solve linear systems and compute eigevalues.
LAPACK_D represents a subset of the full LAPACK library for double precision real arithmetic.
LAPACK replaces the LINPACK and EISPACK libraries. The LAPACK library is more flexible, has newer algorithms, and can often run much more efficiently than the older libraries.
However, it should be noted that, internally, the library is quite complex. When a user calls a single LAPACK routine, that routine may, in turn, potentially call 30 or more subroutines; trying to understand the logic of the algorithm, or even simply collecting all the routines involved in a single call, can be a painful task. If I was trying to get an understanding of how to implement the QR or SVD algorithm, for instance, I would much prefer to read the LINPACK source code rather than the LAPACK source code! Similarly, it is much easier to convert the LINPACK source code to the C language, rather than the LAPACK source code, simply because the coding is simpler, more straightforward, and does not involve such an elaborate nesting of subroutines.
Many vendors supply a compiled copy of LAPACK, optimized for their hardware, and easily available as a library.
gfortran myprog.f90 -framework vecLib
LAPACK includes routines to
The source code and documentation for LAPACK is available through the NETLIB web site.
BLAS1 is a FORTRAN90 library of vector-vector routines needed by LAPACK.
BLAS2 is a FORTRAN90 library of matrix-vector routines needed by LAPACK.
BLAS3 is a FORTRAN90 library of matrix-matrix routines needed by LAPACK.
EISPACK is a FORTRAN90 library of routines which is an earlier standard package of eigenvalue routines.
LAPACK is a FORTRAN90 library of routines which is a modern general-purpose package of linear algebra routines including the ability to handle a variety of single or double precision, real or complex arithmetic models.
LAPACK_D is also available in a FORTRAN77 version.
LAPACK_S is a FORTRAN90 library which is the single precision real version of the LAPACK library.
LINPACK is a FORTRAN90 library of routines which is an earlier standard package of linear system solvers.
LINPLUS is a FORTRAN90 library of simple linear solvers for a variety of matrix formats.
TEST_EIGEN is a FORTRAN90 library of routines that define various eigenvalue test cases.
TEST_MAT is a FORTRAN90 library of routines which define test matrices, some of which have known determinants, eigenvalues and eigenvectors, inverses, and so on.
LAPACK_D_TEST is a test program that demonstrates the use of the LAPACK_D drivers DSYEV and DSYEVD on a real symmetric matrix. Random problems of size 4, 16, 64, 256 and 1024 are generated and solved, and the setup and solution times are reported. The TEST_EIGEN package is called to generate the random test matrices.
You can go up one level to the FORTRAN90 source codes.