BLAS, LAPACK, ATLAS ... and Sage
Here's what I think I know so far:
- BLAS is a linear algebra library specification. You want to build a BLAS implementation that is optimized for your architecture.
- LAPACK is a huge linear algebra library on top of BLAS, with Fortran and C APIs.
- ATLAS is an automatically tuned BLAS with C and Fortran APIs, and optimized C and Fortran APIs for a subset of LAPACK as well. You can optionally build it with LAPACK itself to include the remainder of its (unoptimized) Fortran API.
- Sage is the open source Matlab. It takes all of the above, along with scores of other packages and their dependencies (including NumPy/SciPy), and glues them all together with Python behind a user-friendly CLI and GUI. And their website navigation slider is great. And installation, which is fully automated, takes a long time ...