Eu tenho procurado em bibliotecas de álgebra linear C ++ para um projeto que eu tenho trabalhado. Algo que ainda não entendi é a conexão do BLAS e LAPACK a outras bibliotecas de álgebra linear.
Examinando este artigo sobre bibliotecas de álgebra linear, achei interessante que:
- algumas bibliotecas são independentes do BLAS e LAPACK
- alguns requerem BLAS e LAPACK
- alguns têm interfaces opcionais para BLAS e LAPACK
- e, pelo que entendi, você pode usar BLAS e LAPACK para resolver problemas de álgebra linear diretamente
Eu posso imaginar que algumas bibliotecas são simplesmente interfaces C ++ para bibliotecas BLAS e LAPACK escritas em C e Fortran e outras implementaram suas próprias rotinas de substituição, mas
Quais são as implicações das interfaces opcionais para BLAS e LAPACK? O que você está perdendo ao optar por sair e o que as bibliotecas estão fazendo?
Alguma das bibliotecas fornece mais do que apenas uma interface? Por exemplo, UMFPACK é escrito em C e possui interfaces opcionais para BLAS e LAPACK. O que o UMFPACK (ou outras bibliotecas) faz com que o BLAS e o LAPACK não possam sozinhos?