He estado buscando bibliotecas de álgebra lineal de C ++ para un proyecto en el que he estado trabajando. Algo que aún no entiendo es la conexión de BLAS y LAPACK a otras bibliotecas de álgebra lineal.
Al revisar este artículo sobre bibliotecas de álgebra lineal , encontré interesante que:
- algunas bibliotecas son independientes de BLAS y LAPACK
- algunos requieren BLAS y LAPACK
- algunos tienen interfaces opcionales para BLAS y LAPACK
- y, según tengo entendido, puede usar BLAS y LAPACK para resolver problemas de álgebra lineal directamente
Me imagino que algunas bibliotecas son simplemente interfaces C ++ para las bibliotecas BLAS y LAPACK escritas en C y Fortran y otras han implementado sus propias rutinas sustitutivas, pero
¿Cuáles son las implicaciones de las interfaces opcionales para BLAS y LAPACK? ¿Qué estás perdiendo al optar por no participar y qué están haciendo las bibliotecas en su lugar?
¿Alguna de las bibliotecas proporciona algo más que una interfaz? Por ejemplo, UMFPACK está escrito en C y tiene interfaces opcionales para BLAS y LAPACK. ¿Qué puede hacer UMFPACK (u otras bibliotecas) que BLAS y LAPACK no puedan hacer por sí mismas?
fuente