Ho cercato le librerie di algebra lineare C ++ per un progetto a cui stavo lavorando. Qualcosa su cui ancora non ho alcuna comprensione è la connessione di BLAS e LAPACK ad altre librerie di algebra lineare.
Guardando questo articolo sulle librerie di algebra lineare ho trovato interessante che:
- alcune librerie sono indipendenti da BLAS e LAPACK
- alcuni richiedono BLAS e LAPACK
- alcuni hanno interfacce opzionali per BLAS e LAPACK
- e, a quanto ho capito, puoi usare BLAS e LAPACK per risolvere direttamente i problemi di algebra lineare
Posso immaginare che alcune librerie siano semplicemente interfacce C ++ per le librerie BLAS e LAPACK scritte in C e Fortran e altre abbiano implementato le proprie routine sostitutive, ma
Quali sono le implicazioni delle interfacce opzionali per BLAS e LAPACK? Che cosa stai perdendo cancellando, e cosa stanno facendo invece le biblioteche?
Qualcuna delle biblioteche fornisce più di una semplice interfaccia? Ad esempio, UMFPACK è scritto in C e ha interfacce opzionali per BLAS e LAPACK. Cosa può fare UMFPACK (o altre librerie) che BLAS e LAPACK non possono fare da soli?