I have pushed to petsc-dev the following change set changed PCFactorSetMatSolverPackage() to NOT require the Mat before being called, now it just keeps a copy of the package name and us\ es it later added PCFactorSetUpMatSolverPackage() actually calls MatGetFactor() so there now exists a factor matrix and PCFactorGetMatrix() can b\ e called and then options set from the program.
please report any problems. The one think I have NOT done is move the KSPSetOperators() to later in the code now that it can be. Hong showed me a case today but I don't remember it so if someone could fix that it would be great. Now in theory one need not call KSPSetOperators() before KSPSetFromOptions() Barry
