.. _linalg: ============================================================= Linear Algebra software ============================================================= .. _blas: The BLAS -------- The Basic Linear Algebra Subroutines are extensively used in LAPACK, in other linear algebra packages, and elsewhere. There are three levels of BLAS: * Level 1: Scalar and vector operations * Level 2: Matrix-vector operations * Level 3: Matrix-matrix operations For general information about BLAS see ``_. Optimized versions of the BLAS are available for many computer architectures. See * `OpenBLAS `_ * `GotoBLAS `_ See also: * `Automatically Tuned Linear Algebra Software (ATLAS) `_ * `BLACS `_ Basic Linear Algebra Communication Subprograms with message passing. * `PSBLAS `_ -- Parallel sparse BLAS. .. _linalg_lapack: LAPACK ------ * `LAPACK `_ * `LAPACK User's Guide `_ * ``_ * `ScaLAPACK `_ for parallel distributed memory machines To install BLAS and LAPACK to work with gfortran, see: * ``_ On some linux systems, including the VM for the class, you can install both BLAS and LAPACK via:: $ sudo apt-get install liblapack-dev .. _linalg_spdirect: Direct methods for sparse systems ---------------------------------- Although iterative methods are often used for sparse systems, there are also excellent software packages for direct methods (such as Gaussian elimination): * `UMFPACK `_ * `SuperLU `_ * `MUMPS `_ * `Pardiso `_ Other references ---------------- * :ref:`lapack_examples` for some examples. * `Recent list of freely available linear algebra software `_