x
1

LAPACK



LAPACK, acrónimo de Linear Algebra Package (en español, Paquete de Álgebra Lineal) es una biblioteca software estándar para álgebra lineal numérica. Proporciona rutinas para resolver sistemas de ecuaciones lineales y mínimos cuadrados lineales, problemas de valores propios y descomposición de valores singulares. También incluye rutinas para implementar las factorizaciones matriciales asociadas como la descomposición LU, QR, Cholesky y Schur. LAPACK se escribió originalmente en FORTRAN 77, pero se trasladó a Fortran 90 en la versión 3.2 (2008).[1]​ Las rutinas manejan matrices tanto reales como complejas con precisión simple y doble.

LAPACK fue diseñada como la sucesora de las ecuaciones lineales y las rutinas lineales de mínimos cuadrados de LINPACK y las rutinas de valores propios de EISPACK. LINPACK, escrita en las décadas de 1970 y 1980, fue diseñada para ejecutarse en las entonces modernas computadoras vectoriales con memoria compartida. LAPACK, por el contrario, fue diseñada para explotar eficazmente las memorias caché en arquitecturas modernas basadas en caché y, por tanto, poder ejecutar órdenes de magnitud más rápido que LINPACK en tales máquinas, para una implementación BLAS bien ajustada. LAPACK también se ha ampliado para ejecutarse en sistemas de memoria distribuida en paquetes posteriores como ScaLAPACK y PLAPACK. [2]

LAPACK tiene una licencia BSD de tres cláusulas, una licencia de software libre permisiva con pocas restricciones.

Las subrutinas en LAPACK tienen una convención de nomenclatura que hace que los identificadores sean muy compactos. Esto era necesario ya que los primeros estándares de Fortran solo admitían identificadores de hasta seis caracteres, por lo que los nombres debían acortarse para que encajaran en este límite.

Un nombre de subrutina LAPACK tiene el formato pmmaaa, donde:

Como ejemplo, la subrutina para resolver un sistema lineal con una matriz general (no estructurada) usando aritmética real de doble precisión se llama DGESV.

Los detalles sobre este esquema se pueden encontrar en la sección Esquema de nombres en la Guía del usuario de LAPACK.

Hoy en día, muchos entornos de programación admiten el uso de bibliotecas con enlace en el lenguaje C. Las rutinas LAPACK se pueden usar como funciones en C si se atiende a algunas restricciones.

También se encuentran disponibles varios bindings alternativos:

Al igual que BLAS, LAPACK se bifurca o se reescribe con frecuencia para proporcionar un mejor rendimiento en sistemas específicos. Algunas de sus implementaciones son:

Dado que LAPACK usa BLAS para el trabajo pesado, el simple hecho de vincularlo a una implementación BLAS mejor ajustada generalmente mejora el rendimiento lo suficiente. Es por esto por lo que LAPACK no se reimplementa con tanta frecuencia como BLAS.

Estos proyectos proporcionan una funcionalidad similar a LAPACK, pero la interfaz principal difiere de la de LAPACK:



Escribe un comentario o lo que quieras sobre LAPACK (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!