Lis (linear Algebra Library)
   HOME

TheInfoList



OR:

Lis (Library of Iterative Solvers for linear systems, pronounced is is a scalable
parallel Parallel is a geometric term of location which may refer to: Computing * Parallel algorithm * Parallel computing * Parallel metaheuristic * Parallel (software), a UNIX utility for running programs in parallel * Parallel Sysplex, a cluster of ...
software library for solving discretized
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 coefficien ...
s and eigenvalue problems that mainly arise in the
numerical solution Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of numerical methods th ...
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 calculus, multivariable function. The function is often thought of as an "unknown" to be sol ...
s by using
iterative method In computational mathematics, an iterative method is a Algorithm, 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 fr ...
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 Nuclear mitotic apparatus protein 1 is a protein that in humans is encoded by the ''NUMA1'' gene. Interactions Nuclear mitotic apparatus protein 1 has been shown to interact with PIM1, Band 4.1, GPSM2 G-protein-signaling modulator 2, also call ...
aware hybrid implementation with MPI 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 syste ...
* 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 matrices. ...
operations for dense and sparse matrices * Parallel
iterative method In computational mathematics, an iterative method is a Algorithm, 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 fr ...
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 coefficien ...
s and eigenvalue problems * Parallel
preconditioner In mathematics, preconditioning is the application of a transformation, called the preconditioner, that conditions a given problem into a form that is more suitable for numerical solving methods. Preconditioning is typically related to reducing ...
s 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 desi ...
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 ...
operations * Performance analysis *
Command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
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 ''Gerris'' is a bug genus in the family Gerridae (water striders). Species The genus ''Gerris'' contains 43 species in 3 subgenera: Subgenus ''Gerris'' Subgenus ''Gerriselloides'' * '' Gerris asper'' (Fieber, 1860) * '' Gerris brachynotus'' H ...
*
OpenModelica OpenModelica is a free and open source environment based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. This software is actively developed by Open Source Modelica Consortium, a non-p ...

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 iterativ ...
* Biconjugate gradient stabilized method (BiCGSTAB) * Generalized minimal residual method (GMRES) *
Eigenvalue algorithm In numerical analysis, one of the most important problems is designing efficient and stable algorithms for finding the eigenvalues of a matrix. These eigenvalue algorithms may also find eigenvectors. Eigenvalues and eigenvectors Given an square ...
*
Lanczos algorithm The Lanczos algorithm is an iterative method devised by Cornelius Lanczos that is an adaptation of power iteration, power methods to find the m "most useful" (tending towards extreme highest/lowest) eigenvalues and eigenvectors of an n \times n ...
*
Arnoldi iteration In numerical linear algebra, the Arnoldi iteration is an eigenvalue algorithm and an important example of an iterative method. Arnoldi finds an approximation to the eigenvalues and eigenvectors of general (possibly non-Hermitian) matrices by const ...
*
Krylov subspace In linear algebra, the order-''r'' Krylov subspace generated by an ''n''-by-''n'' matrix ''A'' and a vector ''b'' of dimension ''n'' is the linear subspace spanned by the images of ''b'' under the first ''r'' powers of ''A'' (starting from A^0=I), ...
*
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