Szukałem bibliotek algebry liniowej C ++ w projekcie, nad którym pracowałem. Coś, czego wciąż nie mam pojęcia, to połączenie BLAS i LAPACK z innymi bibliotekami algebry liniowej.
Przeglądając ten artykuł na temat bibliotek algebry liniowej , zainteresowałem się tym, że:
- niektóre biblioteki są niezależne od BLAS i LAPACK
- niektóre wymagają BLAS i LAPACK
- niektóre mają opcjonalne interfejsy do BLAS i LAPACK
- i, jak rozumiem, możesz używać BLAS i LAPACK do bezpośredniego rozwiązywania problemów z algebrą liniową
Mogę sobie wyobrazić, że niektóre biblioteki to po prostu interfejsy C ++ do bibliotek BLAS i LAPACK napisanych w C i Fortran, a inne zaimplementowały własne procedury zastępcze, ale
Jakie są konsekwencje opcjonalnych interfejsów dla BLAS i LAPACK? Co tracisz, rezygnując i co robią biblioteki?
Czy którakolwiek z bibliotek zapewnia coś więcej niż tylko interfejs? Na przykład UMFPACK jest napisany w C i ma opcjonalne interfejsy do BLAS i LAPACK. Co może UMFPACK (lub inne biblioteki) zrobić, aby BLAS i LAPACK nie mogły same z siebie?