Iterative Methods for Sparse Linear Systems

Iterative Methods for Sparse Linear Systems

Scilab Iterative Methods for Sparse Linear Equations Toolbox

Purpose

Imsls provides iterative methods for sparse linear systems of equations.

Features

  • imsls_bicg: BIConjugate Gradient method
  • imsls_bicgstab: BIConjugate Gradient STABilized method
  • imsls_pcg: Conjugate Gradient method
  • imsls_cgs: Conjugate Gradient Squared method
  • imsls_cheby: CHEBYshev method
  • imsls_gmres: Generalized Minimal RESidual method
  • imsls_jacobi: JACOBI method
  • imsls_qmr: Quasi Minimal Residual method
  • imsls_sor: Successive Over-Relaxation method

Support:

  • imsls_benchmatrix : Test a matrix against all solvers.
  • imsls_getpath : Returns the path to the current module.
  • imsls_lehmer : Returns the Lehmer matrix.
  • imsls_makefish : Returns the Poisson matrix.
  • imsls_matgen : Returns a test matrix.
  • imsls_nonsym : Returns a non symetric matrix.
  • imsls_spdiags : Extract and create sparse band and diagonal matrices
  • imsls_split : Sets up the matrix splitting for Jacobi and SOR.
  • imsls_tester : Test all algorithms
  • imsls_wathen : Generates a random finite element matrix.

Compatibility:

  • mtlb_bicg : Solves linear equations using BiConjugate Gradient Method with preconditioning.
  • mtlb_bicgstab : Solves linear equations using BiConjugate Gradient Stabilized Method with preconditioning.
  • mtlb_cgs : Solves linear equations using Conjugate Gradient Squared Method with preconditioning.
  • mtlb_gmres : Solves linear equations using Generalized Minimal residual with restarts .
  • mtlb_pcg : Solves linear equations using Conjugate Gradient method with preconditioning.
  • mtlb_qmr : Solves linear equations using Quasi Minimal Residual method with preconditioning.

Dependencies

  • This module depends on the helptbx module.
  • This module depends on the apifun module, v0.2.
  • This module depends on the assert module.

History

In 1993, the Book "Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods" was published. Associated source codes in the Matlab language were provided at http://www.netlib.org/templates/.

From 2000 to 2006, these function have been ported to Scilab 4 by Aladin Group (IRISA-INRIA).

Starting in 2010, Michael Baudin upgraded this module to Scilab 5. I updated the management of the input arguments, the arguments checking and the management of the callbacks (for the matrix-vector product A*x and the preconditionning M\x). The argument management is now based on apifun, which greatly improves the robustness and simplifies the writing of the functions. I described the input arguments more precisely in the help pages, added examples and created unit tests (based on the assert module). I added the right preconditionner M2 for all functions. I created the Matlab compatibility functions.

Licence

This toolbox is released under the terms of the CeCILL license : http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt

Authors

  • 1993 - Univ. of Tennessee and Oak Ridge National Laboratory
  • 2000 - 2001 - INRIA - Aladin Group
  • 2010 - DIGITEO - Michael Baudin

Bibliography

  • http://www.irisa.fr/aladin/codes/SCILIN/
  • http://www.netlib.org/templates/
  • http://graal.ens-lyon.fr/~jylexcel/scilab-sparse/meeting07/
Powered by InDefero,
a Céondo Ltd initiative.