BSpar_gmres - Solve a nonsymmetric system of equations using gmres
preconditioned by one of several preconditioners. The rhs can be a block of
vectors.
- BS
- - the number of vectors in the RHS
- A
- - a sparse matrix
- fact_A
- - the incomplete factored version of A, if any
- comm_A
- - the communication structure for A
- in_rhs
- - the contiguous block of vectors forming the rhs
- pre_option
- - the preconditioner to use PRE_ICC: incomplete Cholesky factorization
PRE_ILU: incomplete LU factorization PRE_SSOR: Successive over relaxation
PRE_BJACOBI: Block Jacobi
- err_tol
- - the tolerance to which to solve the problem stop if the estimated norm
of the residual divided by the norm of the rhs is less than err_tol
- max_iter
- - the maximum number of iterations to take
- residual
- - the final computed residual
- guess
- - if TRUE, then initialize out_x to 0, otherwise the program assumes that
out_x contains an initial guess
- procinfo
- - the usual processor stuff
- out_x
- - the contiguous block of vectors containing the solution
The number of iterations or a negative number indicating the number of
iterations prior to finding that the matrix (or preconditioner) is not
positive definite.
The preconditioners must be computed prior to calling BSpar_isolve. For more
information on the preconditioners, see the manual.
int BSpar_gmres(int BS, BSpar_mat *A, BSpar_mat *fact_A, BScomm *comm_A,
FLOAT *in_rhs, FLOAT *out_x, int pre_option, int restart, FLOAT err_tol,
int max_iter, FLOAT *residual, int guess, BSprocinfo *procinfo)
BlockSolve95/src/BSpar_gmres.c