Lis (linear algebra library)
Lis (linear algebra library) is a high-performance, open-source library for numerical linear algebra. It is designed to support various computational platforms, ranging from single-core processors to massively parallel distributed systems. Lis aims to provide a comprehensive set of functionalities for solving linear systems, eigenvalue problems, and related computations.
Key Features:
- Solvers: Lis includes a variety of iterative solvers for sparse linear systems, such as Krylov subspace methods (e.g., CG, BiCGSTAB, GMRES) and algebraic multigrid methods (AMG). It also provides direct solvers for dense matrices.
- Preconditioners: To accelerate the convergence of iterative solvers, Lis offers a wide range of preconditioners, including incomplete LU factorization (ILU), incomplete Cholesky factorization (IC), and domain decomposition methods.
- Matrix Formats: Lis supports several sparse matrix storage formats, including Compressed Row Storage (CRS), Compressed Column Storage (CCS), and Modified Sparse Row (MSR) formats. This flexibility allows users to choose the most efficient format for their specific problem.
- Data Structures: Lis utilizes efficient data structures to manage matrices and vectors, minimizing memory usage and maximizing performance.
- Parallel Computing: Lis is designed to take advantage of parallel computing environments. It supports distributed-memory parallelization using MPI (Message Passing Interface) and shared-memory parallelization using OpenMP.
- Programming Languages: Lis is primarily written in C but provides interfaces for C, Fortran, and other programming languages.
- Applications: Lis is used in various scientific and engineering applications, including computational fluid dynamics, structural analysis, and electromagnetics.
- Licensing: Lis is released under an open-source license, allowing users to freely use, modify, and distribute the library.
- Portability: Lis is designed to be portable across different operating systems and hardware architectures.
History:
The Lis library has been under development for several years by a team of researchers. It has been continuously improved and expanded to meet the needs of the scientific computing community.
See Also:
- Linear Algebra
- Sparse Matrix
- Iterative Solvers
- Preconditioners
- Numerical Analysis
- MPI (Message Passing Interface)
- OpenMP