BSpar_isolve - Solve a symmetric indefinite system of equations
    using symmlq preconditioned by one of several preconditioners.
  - A
 
  - - a sparse matrix
 
  - fact_A
 
  - - the incomplete factored version of A, if any (NULL if not exist)
 
  - comm_A
 
  - - the communication structure for A
 
  - B
 
  - - a sparse matrix
 
  - comm_B
 
  - - the communication structure for B
 
  - in_rhs
 
  - - the rhs
 
  - shift
 
  - - the shift to multiply B by
 
  - pre_option
 
  - - the preconditioner to use
    
     PRE_ICC: incomplete Cholesky factorization of A
    
     PRE_ILU: incomplete LU factorization of A
    
     PRE_SSOR: Successive over relaxation (using just A)
    
     PRE_BJACOBI: Block Jacobi (using just A) 
  - residual
 
  - - the final computed residual
 
  - procinfo
 
  - - the usual processor stuff
    
  
 
  - out_x
 
  - - the solution vector
    
  
 
The number of iterations.
The system solved is (A-shift*B)out_x = in_rhs. The
    preconditioners must be computed prior to calling BSpar_isolve. For more
    information on the preconditioners, see the manual.
  
   The following are now specified in the context:
  
   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
int BSpar_isolve(BSpar_mat *A, BSpar_mat *fact_A, BScomm *comm_A,
 BSpar_mat *B, BScomm *comm_B, FLOAT *in_rhs, FLOAT *out_x,
 FLOAT shift, FLOAT *residual, BSprocinfo *procinfo)
 BlockSolve95/src/BSpar_isolve.c