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