===== BLAS/LAPACK =====
BLAS stands for Basic Linear Algebra Subprograms.
This library contains linear algebraic operations that include matrixes and vectors. Its functions are separated into three parts:
* Level 1 routines to represent vectors and vector/vector operations.
* Level 2 routines to represent matrixes and matrix/vector operations.
* Level 3 routines mainly for matrix/matrix operations.
This library is included in the Intel MKL package.
==== LAPACK ====
LAPACK stands for Linear Algebra PACKage.
This is a set of **Fortran 77** routines used to resolve linear algebra problems such as the resolution of linear systems, eigenvalue computations, matrix computations, etc. However, it
is not written for a parallel architecture.
This library is included in the Intel MKL package.
==== BLACS ====
BLACS stands for Basic Linear Algebra Communication Subprograms.
BLACS is a specialized communications library (using message passing). After defining a process chart, it exchanges vectors, matrices and blocks and so on. It can be compiled on
top of **MPI** or **PVM** systems.
==== TIPS ====
=== Ubuntu ===
To switch between different installed BLAS/LAPACK implementations (ATLAS/GOTO/Open) or to fix the links in **''/usr/lib''** you can use this:
update-alternatives --config libblas.so.3gf
update-alternatives --config liblapack.so.3gf
Make sure you select for BLAS and LAPACK the same Implementation, don't mix ATLAS and OpenBLAS!
== Possible Errors ==
If you encounter an error like: **''update-alternatives: error: no alternatives for liblapack.so.3gf''** then try first:
update-alternatives --config liblapack.so.3
If you encounter an error like: **''update-alternatives: error: no alternatives for libblas.so.3gf''** then try first:
update-alternatives --config libblas.so.3