# FLOPs of iterative vs direct solvers

In general, do iterative solvers require more floating point operations than the direct solver counterparts? I have some scientific code (written in both PETSc and FEniCS) for solving a mixed FE poisson equation and the profiling summaries seem to always show the direct solvers (eg, mumps, superlu) utilizing less flops by at least one order. Moreover, it also seems that for problems with over 1 million degrees of freedom, the solver requires more time, thus yielding an even smaller FLOPS/s efficiency than if I were to employ iterative solvers like GMRES (with bjacobi preconditioner).

Is this expected? Or is there potentially something wrong with my implementation(s)? Thanks

• It would depend on the preconditioner used for the iterative solver. In practice I have found MUMPS (via PETSc) to be faster for time dependent problems with 1e6 DOF or less, specially if the structure of your matrix is not changing over time (the symbolic factorization is only done once). – stali Mar 2 '15 at 20:00