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.


[Package Rlinsolve version 0.3.2 Index]