Tôi đã xem xét các thư viện đại số tuyến tính C ++ cho một dự án mà tôi đang thực hiện. Một cái gì đó mà tôi vẫn chưa nắm bắt được là sự kết nối của BLAS và LAPACK với các thư viện đại số tuyến tính khác.
Nhìn qua bài viết này về các thư viện đại số tuyến tính tôi thấy thú vị rằng:
- một số thư viện độc lập với BLAS và LAPACK
- một số yêu cầu BLAS và LAPACK
- một số có giao diện tùy chọn để BLAS và LAPACK
- và, theo tôi hiểu, bạn có thể sử dụng BLAS và LAPACK để giải quyết trực tiếp các vấn đề đại số tuyến tính
Tôi có thể tưởng tượng rằng một số thư viện chỉ đơn giản là giao diện C ++ cho các thư viện BLAS và LAPACK được viết bằng C và Fortran và các thư viện khác đã thực hiện các thói quen thay thế của riêng họ, nhưng
Ý nghĩa của các giao diện tùy chọn đối với BLAS và LAPACK là gì? Bạn đang mất gì khi chọn không tham gia, và các thư viện đang làm gì thay thế?
Có bất kỳ thư viện cung cấp nhiều hơn chỉ là một giao diện? Ví dụ, UMFPACK được viết bằng C và có các giao diện tùy chọn cho BLAS và LAPACK. UMFPACK (hoặc các thư viện khác) có thể làm gì mà BLAS và LAPACK không thể tự mình làm được?