Rlinsolve {Rlinsolve} | R Documentation |
A Collection of Iterative Solvers for (Sparse) Linear System of Equations
Description
Solving a system of linear equations is one of the most fundamental computational problems for many fields of mathematical studies, such as regression from statistics or numerical partial differential equations. We provide a list of both stationary and nonstationary solvers. Sparse matrix class from Matrix is also supported for large sparse system.
Non-square matrix
For a matrix A
of size (m-by-n)
, we say the system is
overdetermined if m>n
, underdetermined if m<n
, or
squared if m=n
. In the current version, underdetermined system is
not supported; it will later appear with sparse constraints. For an overdetermined system,
it automatically transforms the problem into normal equation, i.e.,
Ax=b \rightarrow A^T Ax = A^T b
even though if suffers from worse condition number while having desirable property of a system to be symmetric and positive definite.
Sparsity
RcppArmadillo is extensively used in the package. In order for
bullet-proof transition between dense and sparse matrix, only 3 of
12 RcppArmadillo-supported sparse matrix formats have access to
our algorithms; "dgCMatrix"
,"dtCMatrix"
and "dsCMatrix"
.
Please see the vignette
on sparse matrix support from RcppArmadillo. If either of two inputs A
or b
is
sparse, all matrices involved are automatically transformed into sparse matrices.
Composition of the Package
Following is a list of stationary methods,
lsolve.jacobi
Jacobi method
lsolve.gs
Gauss-Seidel method
lsolve.sor
Successive Over-Relaxation method
lsolve.ssor
Symmetric Successive Over-Relaxation method
as well as nonstationary (or, Krylov subspace) methods,
lsolve.bicg
Bi-Conjugate Gradient method
lsolve.bicgstab
Bi-Conjugate Gradient Stabilized method
lsolve.cg
Conjugate Gradient method
lsolve.cgs
Conjugate Gradient Squared method
lsolve.cheby
Chebyshev method
lsolve.gmres
Generalized Minimal Residual method
lsolve.qmr
Quasi-Minimal Residual method
Also, aux.fisch
is provided to generate a sparse system of
discrete Poisson matrix from finite difference approximation scheme of Poisson equation
on 2-dimensional square domain.
References
Demmel, J.W. (1997) Applied Numerical Linear Algebra, 1st ed., SIAM.
Barrett, R., Berry, M., Chan, T.F., Demmel, J., Donato, J., Dongarra, J., Eijkhout, V., Pozo, R., Romine, C., and van der Vorst, H. (1994) Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd ed. Philadelphia, SIAM.