BSpar_solve - General solver of a system of equations preconditioned by one of
several preconditioners and using one of several possible methods. The rhs can
be a block of vectors.
- A
- - a sparse matrix
- fact_A
- - the incomplete factored version of A, if any
- comm_A
- - the communication structure for A
- rhs
- - the contiguous block of vectors forming the rhs
- residual
- - the final computed residual
- x
- - the contiguous block of vectors containing the solution (can contain an
initial guess if BSctx_set_guess() is set.
- 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
- 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
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_solve. For more
information on the preconditioners, see the manual or BSctx_set_pre().
int BSpar_solve(BSpar_mat *A, BSpar_mat *fact_A, BScomm *comm_A,
FLOAT *rhs, FLOAT *x, FLOAT *residual, BSprocinfo *procinfo)
BlockSolve95/src/BSpar_solve.c