HOME

TheInfoList



OR:

Lis (Library of Iterative Solvers for linear systems, pronounced is is a scalable parallel software library for solving
discretized In applied mathematics, discretization is the process of transferring continuous functions, models, variables, and equations into discrete counterparts. This process is usually carried out as a first step toward making them suitable for numerical ...
linear equation In mathematics, a linear equation is an equation that may be put in the form a_1x_1+\ldots+a_nx_n+b=0, where x_1,\ldots,x_n are the variables (or unknowns), and b,a_1,\ldots,a_n are the coefficients, which are often real numbers. The coeffici ...
s and eigenvalue problems that mainly arise in the numerical solution of
partial differential equation In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to ...
s by using
iterative method In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the ''n''-th approximation is derived from the pre ...
s. Although it is designed for parallel computers, the library can be used without being conscious of parallel processing.


Features

Lis provides facilities for: * Automatic program configuration * NUMA aware hybrid implementation with
MPI MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, an emerging non-invasive tomographic technique * Myocardial perfusion imaging, a nuclear medicine procedure that illustrates the function of the hear ...
and
OpenMP OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating sy ...
* Exchangeable dense and
sparse matrix In numerical analysis and scientific computing, a sparse matrix or sparse array is a matrix in which most of the elements are zero. There is no strict definition regarding the proportion of zero-value elements for a matrix to qualify as sparse b ...
storage formats * Basic
linear algebra Linear algebra is the branch of mathematics concerning linear equations such as: :a_1x_1+\cdots +a_nx_n=b, linear maps such as: :(x_1, \ldots, x_n) \mapsto a_1x_1+\cdots +a_nx_n, and their representations in vector spaces and through matric ...
operations for dense and sparse matrices * Parallel
iterative method In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the ''n''-th approximation is derived from the pre ...
s for
linear equation In mathematics, a linear equation is an equation that may be put in the form a_1x_1+\ldots+a_nx_n+b=0, where x_1,\ldots,x_n are the variables (or unknowns), and b,a_1,\ldots,a_n are the coefficients, which are often real numbers. The coeffici ...
s and eigenvalue problems * Parallel preconditioners for iterative methods *
Quadruple precision In computing, quadruple precision (or quad precision) is a binary floating point–based computer number format that occupies 16 bytes (128 bits) with precision at least twice the 53-bit double precision. This 128-bit quadruple precision is des ...
floating point In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be r ...
operations * Performance analysis * Command-line interface to solvers and benchmarks


Example

A C program to solve the linear equation Ax=b is written as follows: #include #include "lis_config.h" #include "lis.h" LIS_INT main(LIS_INT argc, char* argv[])


System requirements

The installation of Lis requires a C compiler. The Fortran interface requires a Fortran compiler, and the Multigrid method, algebraic multigrid preconditioner requires a Fortran 90 compiler. For parallel computing environments, an OpenMP or MPI library is required. Both the Matrix Market exchange formats, Matrix Market and Harwell-Boeing formats are supported to import and export user data.


Packages that use Lis

* Gerris * OpenModelica
OpenGeoSys

SICOPOLIS

STOMP

Diablo

Kiva

Notus





openCFS

numgeo

freeCappuccino

Andromeda


See also

*
List of numerical libraries This is a list of numerical libraries, which are libraries used in software development for performing numerical calculations. It is not a complete listing but is instead a list of numerical libraries with articles on Wikipedia, with few exceptio ...
*
Conjugate gradient method In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iter ...
* Biconjugate gradient stabilized method (BiCGSTAB) * Generalized minimal residual method (GMRES) * Eigenvalue algorithm * Lanczos algorithm * Arnoldi iteration * Krylov subspace *
Multigrid method In numerical analysis, a multigrid method (MG method) is an algorithm for solving differential equations using a hierarchy of discretizations. They are an example of a class of techniques called multiresolution methods, very useful in problems exhi ...


References


External links

*
Development repository on GitHub


* ttp://www.netlib.org/linalg/lis Netlib repository(Courtesy of Netlib Project)
Fedora packages
(Courtesy of
Fedora Project The Fedora Project is an independent project to co-ordinate the development of Fedora Linux, a Linux-based operating system, operating with the vision of "''a world where everyone benefits from free and open source software built by inclusive, w ...
)
Gentoo packages
(Courtesy of Gentoo Linux Project)
AUR packages
(Courtesy of Arch Linux Community)
FreeBSD packages
(Courtesy of FreeBSD Project)
Packages for macOS (Homebrew)
(Courtesy of Homebrew Project)
Packages for macOS (MacPorts)
(Courtesy of MacPorts Project)
Packages for Windows
(Courtesy of WHPC Project)
Packages for Mingw-w64
(Courtesy of Mingw-w64 Project)
Spack packages
(Courtesy of
Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory (LLNL) is a federal research facility in Livermore, California, United States. The lab was originally established as the University of California Radiation Laboratory, Livermore Branch in 1952 in response ...
) {{Numerical linear algebra Numerical libraries Numerical linear algebra Scientific simulation software C (programming language) libraries Fortran libraries Free simulation software Free software programmed in C Free software programmed in Fortran