Remove dependency on PETSC if possible.