The Library was started in 1963 and was originally used at the Harwell Laboratory on IBM mainframes running under OS and MVS. Over the years, the Library has evolved and has been extensively used on a wide range of computers, from supercomputers to modern PCs. Recent additions include optimised support for multicore processors.
The available routines are:
- EIGENVALUES AND EIGENVECTORS
- EA: Eigenvalues and eigenvectors of real symmetric matrices
- EB: Eigenvalues and eigenvectors of general matrices
- EP: Parallel eigenvalues and eigenvectors of real symmetric matrices
- EP25
- Sparse symmetric: Lanczos for the spectrum
- MATHEMATICAL FUNCTIONS
- SORTING
- KB: Sorting numbers
- LINEAR PROGRAMMING
- LINEAR ALGERBA
- MA: Solution of linear systems
- MA38
- Sparse unsymmetric system: unsymmetric multifrontal method
- MA41
- Sparse unsymmetric system: unsymmetric multifrontal method
- MA42
- Sparse unsymmetric system: out-of-core frontal method
- HSL_MA42_ELEMENT
- Unsymmetric finite-element system: out-of-core frontal method (real and complex)
- HSL_MA42
- Sparse unsymmetric system: out-of-core frontal method
- MA43
- Sparse unsymmetric system: row-by-row frontal method
- MA44
- Over-determined linear system: least-squares solution
- MA46
- Sparse unsymmetric finite-element system: multifrontal
- MA48
- Sparse unsymmetric system: driver for conventional direct method
- HSL_MA48
- Sparse unsymmetric system: driver for conventional direct method
- MA49
- Sparse over-determined system: least squares by QR
- MA50
- Sparse unsymmetric system: conventional direct method
- MA51
- Auxiliary for MA48 and MA50: identify ignored rows or columns in the rectangular or rank-deficient case, compute determinant
- MA52
- Sparse unsymmetric finite-element system: out-of-core multiple front method
- HSL_MA54
- Definite symmetric full matrix: partial or complete factorization and solution
- HSL_MA55
- Band symmetric positive-definite system
- MA57
- Sparse symmetric system: multifrontal method
- HSL_MA57
- Sparse symmetric system: multifrontal method
- MA60
- Iterative refinement and error estimation
- MA61
- Sparse symmetric positive-definite system: incomplete factorization
- MA62
- Sparse symmetric finite-element system: out-of-core frontal method
- HSL_MA64
- Indefinite symmetric full matrix: partial or complete factorization and solution
- MA65
- Unsymmetric banded system of linear equations
- MA67
- Sparse symmetric system, zeros on diagonal: blocked conventional
- MA69
- Unsymmetric system whose leading subsystem is easy to solve
- HSL_MA69
- Unsymmetric system whose leading subsystem is easy to solve
- MA72
- Sparse symmetric finite-element system: out-of-core multiple front method
- HSL_MA74
- Unsymmetric full matrix: partial or complete factorization and solution
- MA75
- Sparse over-determined system: weighted least squares
- HSL_MA77
- Sparse symmetric system: multifrontal out of core
- HSL_MA78
- Sparse unsymmetric finite-element system: multifrontal out of core
- HSL_MA79
- Sparse symmetric system: mixed precision
- HSL_MA86
- Sparse solver for real and complex indefinite matrices using OpenMP
- HSL_MA87
- Sparse Cholesky solver for real/complex matrices using OpenMP
- HSL_MA97
- Bit-compatible parallel sparse symmetric/Hermitian solver using OpenMP
- MC: Computations with real matrices and vectors
- MC13
- Permute a sparse matrix to block triangular form
- MC21
- Permute a sparse matrix to put entries on the diagonal
- MC22
- Permute a sparse matrix given row and column permutations
- MC25
- Permute a sparse matrix to block triangular form
- MC26
- Sparse rectangular matrix: compute normal matrix
- MC29
- Sparse unsymmetric matrix: calculate scaling factors
- MC30
- Sparse symmetric matrix: calculate scaling factors
- MC33
- Sparse unsymmetric matrix: permute to bordered block triangular form
- MC34
- Sparse symmetric structure: expand from lower triangle
- HSL_MC34
- Sparse symmetric structure: expand from lower triangle
- MC37
- Sparse symmetric matrix: represent as a sum of element matrices
- MC38
- Sparse rectangular matrix held by columns: transpose
- MC44
- Unassembled finite-element matrix: generate the element or supervariable connectivity graph
- MC46
- Sparse rectangular matrix held by rows: transpose
- MC47
- Sparse symmetric pattern: approximate minimum-degree ordering allowing dense rows
- MC53
- Generate an ordering for finite-element matrices within a subdomain
- MC54
- Write a sparse matrix in Rutherford-Boeing format
- MC55
- Write a supplementary file in Rutherford-Boeing format
- MC56
- Read a file or a supplementary file held in Rutherford-Boeing format
- HSL_MC56
- Read a file containing a sparse matrix held in format
- MC57
- Assemble a set of finite-element matrices
- MC58
- Estimate rank and find independent rows/columns of a sparse unsymmetric or rectangular matrix
- MC59
- Sort a sparse matrix to an ordering by columns
- MC60
- Sparse symmetric pattern: reduce the profile and wavefront
- MC61
- Straightforward interface to MC60
- MC62
- Generate a row ordering for a row-by-row frontal solver
- MC63
- Generate an element assembly ordering for a frontal solver
- MC64
- Permute and scale a sparse unsymmetric matrix to put large entries on the diagonal
- HSL_MC64
- Permute and scale a sparse unsymmetric or rectangular matrix to put large entries on the diagonal
- HSL_MC65
- Construct and manipulate matrices in compressed sparse row format
- HSL_MC66
- Permute an unsymmetric sparse matrix to singly bordered blocked diagonal form
- MC67
- Refine a profile-reducing permutation of a symmetric matrix
- HSL_MC68
- Symmetric sparse matrix: compute elimination orderings
- HSL_MC69
- Matrix format converter
- MC71
- Unsymmetric matrix: estimate 1-norm
- MC72
- Full unsymmetric matrix: calculate scaling factors
- HSL_MC73
- Sparse symmetric matrix: compute Fiedler vector and permute to reduce the profile and wavefront
- MC75
- Sparse unsymmetric matrix: estimate condition number
- MC77
- Sparse unsymmetric matrix: calculate scaling factors
- HSL_MC78
- Analysis phase in Cholesky algorithm
- HSL_MC79
- Sparse matrix: maximum matching and Dulmage-Mendelsohn decomposition
- HSL_MC80
- Sparse symmetric matrix: matching-based ordering and scaling
- ME: Solution of complex linear systems and other calculations for complex matrices
- ME22
- Permute a sparse matrix given row and column permutations
- ME38
- Sparse unsymmetric system: unsymmetric multifrontal method
- ME42
- Sparse unsymmetric system: out-of-core frontal method
- ME43
- Sparse unsymmetric system: row-by-row frontal method
- ME48
- Sparse unsymmetric system: driver for conventional direct method
- ME50
- Sparse unsymmetric system: conventional direct method
- ME57
- Sparse Hermitian or complex symmetric: multifrontal method
- HSL_ME57
- Sparse solver for complex symmetric or Hermitian linear systems
- ME62
- Sparse Hermitian or complex symmetric finite-element system: out-of-core frontal method
- See also
- HSL_MA86 (Parallel sparse symmetric indefinite/Hermitian)
- HSL_MA87 (Parallel sparse Cholesky)
- HSL_MA97 (Bit-compatible parallel sparse symmetric/Hermitian)
- MF: Computations with complex matrices and vectors
- MI: Iterative methods for sparse matrices
- HSL_MI02
- Symmetric possibly-indefinite system: SYMMBK method
- MI11
- Unsymmetric system: incomplete LU factorization
- MI12
- Unsymmetric system: approximate-inverse preconditioner
- HSL_MI13
- Preconditioners for saddle-point systems
- MI15
- Unsymmetric system: flexible GMRES
- HSL_MI20
- Unsymmetric system: algebraic multigrid preconditioner
- MI21
- Symmetric positive-definite system: conjugate gradient method
- MI23
- Unsymmetric system: CGS (conjugate gradient squared) method
- MI24
- Unsymmetric system: GMRES (generalized minimal residual) method
- MI25
- Unsymmetric system: BiCG (BiConjugate Gradient) method
- MI26
- Unsymmetric system: BiCGStab (BiConjugate Gradient Stabilized) method
- HSL_MI27
- Projected preconditioned conjugate gradient method for saddle-point systems
- HSL_MI28
- Symmetric system: incomplete Cholesky factorization
- HSL_MI29
- MPGMRES: an extension of GMRES which allows multiple preconditioners
- HSL_MI30
- Symmetric indefinite saddle-point system: signed incomplete Cholesky factorization
- HSL_MI31
- Symmetric positive-definite system: conjugate gradient method, stopping according to the A-norm of the error
- HSL_MI32
- Symmetric possibly-indefinite system: MINRES method
- HSL_MI35
- Sparse least squares: incomplete factorization preconditioner
- MP: MPI dependant packages
- HSL_MP01
- MPI constants
- HSL_MP42
- Unsymmetric finite-element system: multiple-front method, element entry
- HSL_MP43
- Sparse unsymmetric system: multiple-front method, equation entry
- HSL_MP48
- Sparse unsymmetric system: parallel direct method
- HSL_MP54
- Parallel Cholesky solver
- HSL_MP62
- Symmetric finite-element system: multiple-front method
- MA: Solution of linear systems
- NONLINEAR EQUATIONS
- NS: Solution of systems of nonlinear equations in several unknowns
- NS23
- Sparse nonlinear over-determined equations: Marquardt method
- NS: Solution of systems of nonlinear equations in several unknowns
- INPUT/OUTPUT
- OF: File management
- HSL_OF01
- Fortran virtual memory
- OF: File management
- POLYNOMIAL AND RATIONAL FUNCTIONS
- TEST PROGRAM GENERATORS
- YM: Generate test programs for chapter M of the library
- YM11
- Generate a random sparse matrix
- YM: Generate test programs for chapter M of the library
- FORTRAN SYSTEM FACILITES
- ZB: Array allocation
- HSL_ZB01
- Reallocate an array
- ZD: Derived types
- HSL_ZD11
- Derived type for sparse matrix storage schemes
- http://www.hsl.rl.ac.uk/
- ZB: Array allocation
No comments:
Post a Comment