LAPACK95 is a Fortran 95 interface to the Fortran 77 LAPACK library. It is relevant for anyone who writes in the Fortran 95 language and needs reliable software for basic numerical linear algebra. It improves upon the original user-interface to the LAPACK package, taking advantage of the considerable simplifications that Fortran 95 allows.
LAPACK95 Users' Guide provides an introduction to the design of the LAPACK95 package, a detailed description of its contents,reference manuals for the leading comments of the routines, and example programs. For more information on LAPACK95 go to http://www.netlib.org/lapack95/.
Readers with a basic knowledge of LAPACK will find this book to be an excellent companion to the popular LAPACK Users' Guide, to which the authors frequently refer throughout this new volume.
Preface
I GENERAL INFORMATION
1 Essentials
1.1 LAPACK95
1.2 Problems that LAPACK95 can Solve
1.3 Computers for which LAPACK95 is Suitable
1.4 LAPACK and the BLAS
1.5 Availability and Installation of Software
1.5.1 LAPACK95
1.5.1.1 Incorporating Machine Dependencies
1.5.2 LAPACK
1.5.3 BLAS
1.5.4 Installation Debugging Hints
1.5.5 Mirror Repositories of netlib
1.5.6 Availability of Software via CD-ROM
1.6 Support
1.7 Commercial Use
2 Contents of LAPACK95
2.1 Structure of LAPACK95
2.1.1 Levels of Routines
2.1.2 Data Types and Precision
2.1.3 Naming Scheme
2.2 Driver Routines
2.2.1 Linear Equations
2.2.2 Linear Least Squares (LLS) Problems
2.2.3 Generalized Linear Least Squares (LSE and GLM) Problems
2.2.4 Standard Eigenvalue and Singular Value Problems
2.2.4.1 Symmetric Eigenproblems (SEP)
2.2.4.2 Nonsymmetric Eigenproblems (NEP)
2.2.4.3 Singular Value Decomposition (SVD)
2.2.5 Generalized Eigenvalue and Singular Value Problems
2.2.5.1 Generalized Symmetric Definite Eigenproblems (GSEP)
2.2.5.2 Generalized Nonsymmetric Eigenproblems (GNEP)
2.2.5.3 Generalized Singular Value Decomposition (GSVD)
3 Documentation Design and Program Examples
3.1 Design of the LAPACK95 Driver Interface
3.2 Design and Documentation of Driver Argument Lists
3.2.1 Structure of the Documentation
3.2.2 Order of Arguments
3.2.3 Argument Descriptions
3.2.4 Optional Arguments
3.2.5 Array Arguments
3.3 Error Handling
3.4 Matrix Storage Schemes
3.5 Design of Interfaces for Computational Routines
3.6 How to call an LAPACK95 Routine
3.7 Code for One Version of LA_SYEV
3.8 LAPACK and LAPACK95 Interface Module Blocks
3.8.1 F77_LAPACK Generic Interface Blocks
3.8.1.1 LA _SYEV/LAA-IEEV
3.8.1.2 LA_GESV Multiple RHS Case
3.8.1.3 LA_GESV Single RHS Case
3.8.2 F95_LAPACK Generic Interface Blocks
3.8.2.1 LA_SYEV/LA_HEEV
3.8.2.2 LA_GESV
3.8.3 LA..LAMCH Interfaces
4 Performance and Troubleshooting
4.1 Performance of LAPACK95
4.1.1 Performance Issues
4.1.2 Performance Tables
4.2 Accuracy and Stability
4.3 Errors and Poor Performance
II DRIVER ROUTINES
5 Driver Routines for Linear Systems
5.1 General Linear Systems
5.1.1 LA_GESV
5.1.2 LA_GESVX
5.1.3 LA_GBSV
5.1.4 LA_GBSVX
5.1.5 LA_GTSV
5.1.6 LA_GTSVX
5.2 Symmetric/Hermitian Positive Definite Linear Systems.
5.2.1 LA_POSV
5.2.2 LA_POSVX
5.2.3 LA_PPSV
5.2.4 LA_PPSVX
5.2.5 LA_PBSV
5.2.6 LA_PBSVX
5.2.7 LA_PTSV
5.2.8 LA_PTSVX
5.3 Symmetric Indefinite Linear Systems
5.3.1 LA_SYSV / LA_HESV
5.3.2 LA_SYSVX / LA_HESVX
5.3.3 LA_SPSV / LA_HPSV
5.3.4 LA_SPSVX / LA_HPSVX
6 Driver Routines for Least Squares Problems
6.1 Linear Least Squares Problems
6.1.1 LA_GELS
6.1.2 LA_GELSY
6.1.3 LA_GELSS / LA_GELSD
6.2 Generalized Linear Least Squares Problems
6.2.1 LA_GGLSE
6.2.2 LA_GGGLM
7 Driver Routines for Standard Eigenvalue Problems
7.1 Standard Symmetric Eigenvalue Problems
7.1.1 LA_SYEV / LA._HEEV / LA_SYEVD / LA_HEEVD
7.1.2 LA_SYEVX / LA_HEEVX
7.1.3 LA_SYEVR / LA_HEEVR.
7.1.4 LA_SPEV / LA_HPEV / LA_SPEVD / LA_HPEVD
7.1.5 LA_SPEVX / LA_HPEVX
7.1.6 LA_SBEV / LA_HBEV / LA_SBEVD / LA_HBEVD
7.1.7 LA_SBEVX / LAA-IBEVX
7.1.8 LA_STEV / LA_STEVD
7.1.9 LA_STEVX
7.1.10 LA_STEVR
7.2 Standard Nonsymmetric Eigenvalue Problems
7.2.1 LA_GEES
7.2.2 LA_GEESX
7.2.3 LA_GEEV
7.2.4 LA_GEEVX
8 Driver Routines for Generalized Eigenvalue Problems
8.1 Generalized Symmetric Eigenvalue Problems
8.1.1 LA_SYGV/LA_SYGVD / LA_HEGV / LA_HEGVD
8.1.2 LA_SYGVX / LA_HEGVX
8.1.3 LA_SPGV / LA_SPGVD / LA_HPGV / LA_HPGVD
8.1.4 LA_SPGVX / LA_HPGVX
8.1.5 LA_SBGV / LA_SBGVD / LA_HBGV / LA_HBGVD
8.1.6 LA_SBGVX / LA_HBGVX
8.2 Generalized Nonsymmetric Eigenvalue Problems
8.2.1 LA_GGES
8.2.2 LA_GGESX
8.2.3 LA_GGEV
8.2.4 LA_GGEVX
9 Driver Routines for Singular Value Problems
9.1 Standard Singular Value Problems
9.1.1 LA_GESVD / LA_GESDD
9.2 Generalized Singular Value Problems
9.2.1 LA_GGSVD
III COMPUTATIONAL ROUTINES
10 Computational Routines
10.1 Computational Routines for Linear Equations
10.1.1 General Linear Systems
10.1.2 Symmetric/Hermitian Positive Definite Linear Systems
10.1.3 Symmetric Indefinite Linear Systems
10.1.4 Triangular Linear Systems
10.2 Computational Routines for Orthogonal Factorizations
10.3 Computational Routines for the Symmetric Eigenproblem
10.4 Computational Routines for the Nonsymmetric eigenproblem
10.5 Computational Routines for the Singular Value Decomposition
10.6 Computational Routines for the Generalized Symmetric Definite Eigenproblem
10.7 Computational Routines for the Generalized Nonsymmetric Eigenproblem
10.8 Computational Routines for the Generalized Singular Value Decomposition
Bibliography
Index by Keyword
Index by Routine Name