Tipus | programari lliure i biblioteca informàtica |
---|---|
Versió estable | |
Llicència | llicència BSD de 3 clàusules |
Característiques tècniques | |
Escrit en | Fortran |
Més informació | |
Lloc web | netlib.org/lapack |
| |
LAPACK (acrònim anglès de "Paquet d' àlgebra lineal") és una biblioteca de programari estàndard per a àlgebra lineal numèrica. Proporciona rutines per resoldre sistemes d'equacions lineals i mínims quadrats lineals, problemes de valors propis i descomposició de valors singulars. També inclou rutines per implementar les factoritzacions matricials associades com ara la descomposició LU, QR, Cholesky i Schur.[1] LAPACK es va escriure originalment a FORTRAN 77, però es va traslladar a Fortran 90 a la versió 3.2 (2008).[2] Les rutines manegen matrius reals i complexes tant amb precisió simple com doble. LAPACK es basa en una implementació BLAS subjacent per proporcionar blocs de construcció computacionals eficients i portàtils per a les seves rutines.:[1] "El BLAS com a clau de la portabilitat"
LAPACK va ser dissenyat com el successor de les equacions lineals i les rutines lineals de mínims quadrats de LINPACK i les rutines de valors propis d'EISPACK. LINPACK, escrit als anys 70 i 80, va ser dissenyat per funcionar als ordinadors vectorials moderns amb memòria compartida. LAPACK, en canvi, va ser dissenyat per explotar eficaçment les memòria cau en arquitectures modernes basades en memòria cau i el paral·lelisme a nivell d'instruccions dels processadors superescalars moderns,:[3] "Factors que afecten el rendiment" i, per tant, pot executar ordres de magnitud més ràpid que LINPACK en aquestes màquines, donada una implementació BLAS ben ajustada.:[3] "El BLAS com a clau de la portabilitat" LAPACK també s'ha estès per executar-se en sistemes de memòria distribuïda en paquets posteriors com ScaLAPACK i PLAPACK.[4]
Netlib LAPACK té una llicència d'estil BSD de tres clàusules, una llicència de programari lliure permissiva amb poques restriccions.[5]