Given a general square sparse matrix A and an RHS vector b, S3L_gen_iter_solve solves the linear system of equations Ax = b using an iterative algorithm, with or without preconditioning.
S3L_gen_iter_solve implements several different algorithms, which the programmer can select. These include
BiConjugate Gradient Stabilized (BiCGSTAB)
Conjugate Gradient (CG)
Conjugate Gradient Squared (CGS)
Conjugate Residuals (CR)
Restarted Generalized Minimum Residual (GMRES)
Quasi-Minimal Residual (QMR)
Richardson method
If preconditioning is used, the programmer can choose point Jacobi or incomplete LU as the method. S3L_gen_iter_solve also allows the programmer to specify a number of other algorithm-specific parameters, including
the convergence/divergence criteria
the initial guess
the maximum number of iterations