Thank you, Dave. But there is still a question: how can I get the residual
vector in each iteration? It seems difficult to get it without modifying the
GMRES codes.
Best regards,
Jiaxun
Dave May <dave.mayhem23 at gmail.com> ??? Hi,
You can use the function
PetscErrorCode PETSCKSP_DLLEXPORT KSPSetConvergenceTest(KSP ksp,PetscErrorCode
(*converge)(KSP,PetscInt,PetscReal,KSPConvergedReason*,void*),void *cctx)
to define your own convergence test.
Cheers,
Dave.
2008/2/2 jiaxun hou <jiaxun_hou at yahoo.com.cn>:
Hi everyone,
I want to use the Left Preconditioned GMRES to solve a linear system, and the
stopping criterion must be based on the actual residuals (b-Ax). But the
GMRES codes of PETSc seems to use the preconditioned residuals (B^-1(b-Ax))
only. In addition, when I set KSPSetNormType(ksp,KSP_NORM_UNPRECONDITIONED), I
receive the error message: "Currently can use GMRES with only preconditioned
residual (right preconditioning not coded)". So, is there any way to set
stopping criterion based on the actual residuals?
Best regards,
Jiaxun
---------------------------------
???????????????????
---------------------------------
???????????????????
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20080203/b6fa6a95/attachment.htm>