<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Hi Gong,<br>
You do not need to modify the source code for the right preconditioning.<br>
The additional preconditioner (say M_D^{-1}) is built from the
approximate eigenvalues of&nbsp; M^{-1}A&nbsp; or AM^{-1}.<br>
&nbsp;Hence you are solving either M_D^{-1}M_{-1}Ax = M_D^{-1}M_{-1}b or
AM^{-1}M^{-1}_Dy = b for x&nbsp; = M^{-1}M^{-1}_Dy <br>
<br>
Thanks<br>
Desire <br>
<br>
On 10/03/2011 03:03 PM, Barry Smith wrote:
<blockquote cite="mid:45548A70-8582-4169-92A1-E05EB44CCDBE@mcs.anl.gov"
 type="cite">
  <pre wrap="">  Desire,

    Any suggestions? Does this make sense?

   Thanks

   Barry

On Oct 3, 2011, at 4:47 AM, Gong Ding wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">Hi,
I had installed petsc-3.2, which has a new deflated GMRES solver.
It seems the deflation procedure provides addtional precondition on top of GMRES.

However, it seems the deflation was implemented as first right preconditioner:

if (ksp-&gt;pc_side == PC_LEFT) {
               /* Apply the first preconditioner */
               ierr = KSP_PCApplyBAorAB (ksp,VEC_VV (it), VEC_TEMP,VEC_TEMP_MATOP);
               CHKERRQ (ierr);
               /* Then apply Deflation as a preconditioner */
               ierr=KSPDGMRESApplyDeflation (ksp, VEC_TEMP, VEC_VV (1+it));
               CHKERRQ (ierr);
           } else if (ksp-&gt;pc_side == PC_RIGHT) {
               ierr=KSPDGMRESApplyDeflation (ksp, VEC_VV (it), VEC_TEMP);
               CHKERRQ (ierr);
               ierr=KSP_PCApplyBAorAB (ksp, VEC_TEMP, VEC_VV (1+it), VEC_TEMP_MATOP);
               CHKERRQ (ierr);
           }  

Since a "fixed" external preconditoner M such as ILU or my own PC will be used,
I want the deflation apply on AM^-1. As a result, the update of deflation preconditioner will not
affect the fixed preconditioner M. How should I modify the source code?


Gong Ding







    </pre>
  </blockquote>
  <pre wrap=""><!---->
  </pre>
</blockquote>
</body>
</html>