LAPACK is written in Fortran 90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision. The original goal of the LAPACK project was to make the widely used EISPACK and LINPACK libraries run efficiently on shared-memory vector and parallel processors. On these machines, LINPACK and EISPACK are inefficient because their memory access patterns disregard the multi-layered memory hierarchies of the machines, thereby spending too much time moving data instead of doing useful floating-point operations. LAPACK addresses this problem by reorganizing the algorithms to use block matrix operations, such as matrix multiplication, in the innermost loops. These block operations can be optimized for each architecture to account for the memory hierarchy, and so provide a transportable way to achieve high efficiency on diverse modern machines. We use the term ”transportable” instead of ”portable” because, for fastest possible performance, LAPACK requires that highly optimized block matrix operations be already implemented on each machine. LAPACK routines are written so that as much as possible of the computation is performed by calls to the Basic Linear Algebra Subprograms (BLAS). LAPACK is designed at the outset to exploit the Level 3 BLAS — a set of specifications for Fortran subprograms that do various types of matrix multiplication and the solution of triangular systems with multiple right-hand sides. Because of the coarse granularity of the Level 3 BLAS operations, their use promotes high efficiency on many high-performance computers, particularly if specially coded implementations are provided by the manufacturer. Highly efficient machine-specific implementations of the BLAS are available for many modern high-performance computers. For details of known vendor- or ISV-provided BLAS, consult the BLAS FAQ. Alternatively, the user can download ATLAS to automatically generate an optimized BLAS library for the architecture. A Fortran 77 reference implementation of the BLAS is available from netlib; however, its use is discouraged as it will not perform as well as a specifically tuned implementation.
This software is also referenced in ORMS.
This software is also referenced in ORMS.
Keywords for this software
References in zbMATH (referenced in 1539 articles , 4 standard articles )
Showing results 1 to 20 of 1539.
- Almeida Guimarães, Dilson; Salles da Cunha, Alexandre; Pereira, Dilson Lucas: Semidefinite programming lower bounds and branch-and-bound algorithms for the quadratic minimum spanning tree problem (2020)
- Amestoy, Patrick R.; Buttari, Alfredo; L’Excellent, Jean-Yves; Mary, Theo A.: Bridging the gap between flat and hierarchical low-rank matrix formats: the multilevel block low-rank format (2019)
- Andersson, Joel A. E.; Gillis, Joris; Horn, Greg; Rawlings, James B.; Diehl, Moritz: CasADi: a software framework for nonlinear optimization and optimal control (2019)
- Ayala, Alan; Claeys, Xavier; Grigori, Laura: ALORA: affine low-rank approximations (2019)
- Birgin, E. G.; Martínez, J. M.: A Newton-like method with mixed factorizations and cubic regularization for unconstrained minimization (2019)
- Boiko, Andrey V.; Demyanko, Kirill V.; Nechepurenko, Yuri M.: Asymptotic boundary conditions for the analysis of hydrodynamic stability of flows in regions with open boundaries (2019)
- Brynjell-Rahkola, Mattias; Hanifi, Ardeshir; Henningson, Dan S.: On the stability of a Blasius boundary layer subject to localised suction (2019)
- Buchheim, Christoph; Montenegro, Maribel; Wiegele, Angelika: SDP-based branch-and-bound for non-convex quadratic integer optimization (2019)
- Cao, Jian; Genton, Marc G.; Keyes, David E.; Turkiyyah, George M.: Hierarchical-block conditioning approximations for high-dimensional multivariate normal probabilities (2019)
- Cevallos-Valdiviezo, Holger; Van Aelst, Stefan: Fast computation of robust subspace estimators (2019)
- Chopp, D. L.: Introduction to high performance scientific computing (2019)
- Dongarra, Jack; Gates, Mark; Haidar, Azzam; Kurzak, Jakub; Luszczek, Piotr; Wu, Panruo; Yamazaki, Ichitaro; Yarkhan, Asim; Abalenkovs, Maksims; Bagherpour, Negin; Hammarling, Sven; Šístek, Jakub; Stevens, David; Zounon, Mawussi; Relton, Samuel D.: PLASMA: Parallel linear algebra software for multicore using OpenMP (2019)
- Du, Cheng-Han; Chiou, Yih-Peng; Wang, Weichung: Compressed hierarchical Schur algorithm for frequency-domain analysis of photonic structures (2019)
- Feng, Yuehua; Lu, Linzhang: On the growth factor upper bound for Aasen’s algorithm (2019)
- Frolov, Roman: An efficient algorithm for the multicomponent compressible Navier-Stokes equations in low- and high-Mach number regimes (2019)
- García-Zapata, Juan Luis; Díaz Martín, Juan Carlos; Cortés Fácila, Álvaro: An adaptive subdivision method for root finding of univariate polynomials (2019)
- Higham, Nicholas J.; Pranesh, Srikara; Zounon, Mawussi: Squeezing a matrix into half precision, with an application to solving Linear systems (2019)
- Huang, Wei-Qiang; Lin, Wen-Wei; Lu, Henry Horng-Shing; Yau, Shing-Tung: iSIRA: integrated shift-invert residual Arnoldi method for graph Laplacian matrices from big data (2019)
- Jeannerod, Claude-Pierre; Mary, Theo; Pernet, Clément; Roche, Daniel S.: Improving the complexity of block low-rank factorizations with fast matrix arithmetic (2019)
- Kitzler, Gerhard; Schöberl, Joachim: A polynomial spectral method for the spatially homogeneous Boltzmann equation (2019)