reverted from slepc back to petsc headers and initialize/finalize functions