Algorithm 842: A set of GMRES routines for real and complex arithmetics on high performance computers In this article we describe our implementations of the GMRES algorithm for both real and complex, single and double precision arithmetics suitable for serial, shared memory and distributed memory computers. For the sake of portability, simplicity, flexibility and efficiency the GMRES solvers have been implemented in Fortran 77 using the reverse communication mechanism for the matrix-vector product, the preconditioning and the dot product computations. For distributed memory computation, several orthogonalization procedures have been implemented to reduce the cost of the dot product calculation, which is a well-known bottleneck of efficiency for the Krylov methods. Either implicit or explicit calculation of the residual at restart are possible depending on the actual cost of the matrix-vector product. Finally the implemented stopping criterion is based on a normwise backward error. (Source:

This software is also peer reviewed by journal TOMS.

References in zbMATH (referenced in 14 articles , 1 standard article )

Showing results 1 to 14 of 14.
Sorted by year (citations)

  1. Net, M.; Sánchez, J.: Continuation of bifurcations of periodic orbits for large-scale systems (2015)
  2. Güttel, Stefan; Pestana, Jennifer: Some observations on weighted GMRES (2014)
  3. Zhang, Li-Tao: A new preconditioner for generalized saddle point matrices with highly singular $(1,1)$ blocks (2014)
  4. Bai, Zhong-Zhi; Ren, Zhi-Ru: Block-triangular preconditioning methods for linear third-order ordinary differential equations based on reduced-order sinc discretizations (2013)
  5. Chen, Leilei; Zheng, Changjun; Chen, Haibo: A wideband FMBEM for 2D acoustic design sensitivity analysis based on direct differentiation method (2013)
  6. Izadian, J.; Jalili, M.: Residual algorithm with preconitioner for linear system of equations (2012)
  7. Rohwedder, Thorsten; Schneider, Reinhold: An analysis for the DIIS acceleration method used in quantum chemistry calculations (2011)
  8. Giraud, L.; Haidar, A.; Pralet, S.: Using multiple levels of parallelism to enhance the performance of domain decomposition solvers (2010)
  9. Giraud, L.; Haidar, A.: Parallel algebraic hybrid solvers for large 3D convection-diffusion problems (2009)
  10. Frayssé, Valérie; Giraud, Luc; Gratton, Serge: Algorithm 881: A set of flexible GMRES routines for real and complex arithmetics on high-performance computers. (2008)
  11. Frangi, A.; Gioia, A.di.: Multipole BEM for the evaluation of damping forces on MEMS (2005)
  12. Frayssé, Valéire; Giraud, Luc; Gratton, Serge; Langou, Julien: Algorithm 842: A set of GMRES routines for real and complex arithmetics on high performance computers (2005)
  13. Strakoš, Zdeněk; Tichý, Petr: Error estimation in preconditioned conjugate gradients (2005)
  14. Meca, Esteban; Mercader, Isabel; Batiste, Oriol; Ramírez-Piscina, Laureano: Complex dynamics in double-diffusive convection (2004)