|A||- a sparse matrix|
|- the incomplete factored version of A, if any|
|- the communication structure for A|
|rhs||- the contiguous block of vectors forming the rhs|
- 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)