Skip to content

feellgood/Alg

Repository files navigation

Alg - A set of linear solvers for sparse matrices

Version 1.4.0

Alg is a library to handle sparse matrices involved in some finite element problems. It is NOT a general purpose library, only the minimal set of elementary algebraic functions is implemented in order to give access to gradient conjugate and bi-conjugate gradient algorithms.

The static library libalg.a is created from CMakeLists.txt in alg/src

Available algorithms: conjugate gradient : standard and directional biconjugate stabilized gradient : standard and directional LU(for precond matrix) diagonal preconditioner is implemented in most routines.

All cg and related algorithms are using diagonal pre-conditioner.

installation

sudo make install to copy the static library libalg.a to usr/local/lib and headers to usr/local/include/alg

Dependencies :

C++ 17 and STL

libtbb-dev has to be installed because STL depends on TBB for the implementation of parallel execution policies with gcc compiler. how to install : sudo apt-get install libtbb-dev

Options :

  1. Some unit tests are available passing the following option to cmake (OFF by default): cmake . -DENABLE_UTESTS=ON

  2. Some GPU executable (dev only) are available using the dedicated option (OFF by default): cmake . -DENABLE_GPU=ON These small executables are here for future development purpose only, they are useless to the alg library at the moment.

About

Linear algebra library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published