I have a collection of large sparse matrices of the order of 1 million x 1million and above obtained from CFD based application problems. The matrix A (in CSR) is normalised with respect to the diagonal and is non-symmetric. I am solving the Ax=b system using SOR+BiCGSTAB and ILU(0)+BiCGSTAB. But when I tried SSOR+BiCGSTAB it showed a faster convergence than ILU(0)+BiCGSTAB. I expected it to be slower. And in all the cases it guaranteed convergence. Why this is happening ? Is it because the matrix A is highly sparse so ILU(A)=LU - E, where the error matrix (E) could be significant ? Or does ILU(0) always give superior convergence when compared to SSOR preconditioner ?