.TH BSpar_isolve 3 "4/4/1996" " " "BlockSolve95" .SH NAME BSpar_isolve \- Solve a symmetric indefinite system of equations using symmlq preconditioned by one of several preconditioners. .SH INPUT PARAMETERS .PD 0 .TP .B A - a sparse matrix .PD 1 .PD 0 .TP .B fact_A - the incomplete factored version of A, if any (NULL if not exist) .PD 1 .PD 0 .TP .B comm_A - the communication structure for A .PD 1 .PD 0 .TP .B B - a sparse matrix .PD 1 .PD 0 .TP .B comm_B - the communication structure for B .PD 1 .PD 0 .TP .B in_rhs - the rhs .PD 1 .PD 0 .TP .B shift - the shift to multiply B by .PD 1 .PD 0 .TP .B pre_option - the preconditioner to use .PD 1 .br PRE_ICC: incomplete Cholesky factorization of A .br PRE_ILU: incomplete LU factorization of A .br PRE_SSOR: Successive over relaxation (using just A) .br PRE_BJACOBI: Block Jacobi (using just A) .PD 0 .TP .B residual - the final computed residual .PD 1 .PD 0 .TP .B procinfo - the usual processor stuff .PD 1 .SH OUTPUT PARAMETERS .PD 0 .TP .B out_x - the solution vector .PD 1 .SH RETURNS The number of iterations. .SH NOTES 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. .br The following are now specified in the context: .br err_tol - the tolerance to which to solve the problem .br stop if the estimated norm of the residual divided by .br the norm of the rhs is less than err_tol .br max_iter - the maximum number of iterations to take .br guess - if TRUE, then initialize out_x to 0, otherwise .br the program assumes that out_x contains an initial .br guess .SH SYNOPSIS .nf 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) .fi .SH LOCATION BlockSolve95/src/BSpar_isolve.c