Skip to content

Richetfort/Preconditioned-GMRES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Preconditioned-GMRES

Here is stored different preconditioning routines for the GMRES algorithm such as ILU(k), ILU(t,p) and an hybrid version of them.

Incomplete LU like algorithms are perfectly well explained in Iterative Methods for Sparse Linear Systems p. 321 written by Youssef Saad, and I recommand to read the relative chapter (named Preconditioning Techniques) for a good understanding of how these approaches work.

Everything has been developed by my own but (obviously) routines imported from SparseArrays and LinearAlgebra.

Feel free to use and comment on my work! :-)

Prerequisites

  • Julia
  • SparseArrays.jl
  • LinearAlgebra.jl
  • MatrixMarket.jl

Running the code

git clone https://github.com/Protoniac/Preconditioned-GMRES
cd Preconditioned-GMRES/src/
julia main.jl

By default, the code is ran on an Harwel-Boeing matrix orsirr_1.mtx.

I discussed with the Professor Serge G. Petiton and he adviced me to use the Parallel Generator of Non-Hermitian Matrices Computed from Given Spectra he developed himself with Xinzhe Wu. This can be a very useful tool for benchmarking GMRES and Preconditioners given a set of eigenvalues, and will be called soon.

Output

Output returns performances of :

  • Direct solver method x = A\b
  • Restarted GMRES without preconditioning
  • Restarted GMRES with the hybrid preconditioning algorithm explained below (but other preconditioners can be chosen).

In coming ...

  • Improve the Hybrid Incomplete LU factorization and think about other approaches
  • Implement parallelism for ILU routines described in the chapter called Parallel Preconditioners of the book Iterative Methods for Sparse Linear Systems.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages