J'ai étudié les bibliothèques d'algèbre linéaire C ++ pour un projet sur lequel je travaillais. Quelque chose que je n'ai pas encore saisi est la connexion de BLAS et LAPACK à d'autres bibliothèques d'algèbre linéaire.
En parcourant cet article sur les bibliothèques d'algèbre linéaire, j'ai trouvé intéressant que:
- certaines bibliothèques sont indépendantes de BLAS et LAPACK
- certains nécessitent BLAS et LAPACK
- certains ont des interfaces optionnelles avec BLAS et LAPACK
- et, si je comprends bien, vous pouvez utiliser BLAS et LAPACK pour résoudre directement les problèmes d'algèbre linéaire
Je peux imaginer que certaines bibliothèques sont simplement des interfaces C ++ vers les bibliothèques BLAS et LAPACK écrites en C et Fortran et d'autres ont implémenté leurs propres routines de substitution, mais
Quelles sont les implications des interfaces optionnelles avec BLAS et LAPACK? Que perdez-vous en vous retirant et que font les bibliothèques à la place?
L'une des bibliothèques fournit-elle plus qu'une simple interface? Par exemple, UMFPACK est écrit en C et possède des interfaces facultatives avec BLAS et LAPACK. Que peut faire UMFPACK (ou d'autres bibliothèques) que BLAS et LAPACK ne peuvent pas faire seuls?