<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Thanks, Dr. Knepley,<br>
           Can I treat AMG and MG like this way. To solve problems with
      non-symmetric matrices, MG needs users to provide the coarse mesh
      information. This take more complexity on coding than using AMG;
      but MG, generally, do better job than MG for non-symmetric
      problems. <br>
      <br>
      Alan<br>
      <br>
    </div>
    <blockquote
cite="mid:CAMYG4G=cwJVbNrGcLHAC30OTWawewqaAqesOnjUSRB7efbdbVw@mail.gmail.com"
      type="cite">
      <div dir="ltr">On Fri, May 10, 2013 at 8:15 AM, Alan <span
          dir="ltr"><<a moz-do-not-send="true"
            href="mailto:zhenglun.wei@gmail.com" target="_blank">zhenglun.wei@gmail.com</a>></span>
        wrote:<br>
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank
              you so much, Dr. Brown.<br>
              I have a minor question on the 'gamg'. As you said, 'gamg'
              works for<br>
              many moderately non-symmetric problems. Does this apply
              for general<br>
              algebraic MG preconditioner or just 'gamg' in PETSc. As
              you know, does<br>
              'BoomerAMG' suffer from the non-symmetric matrices
              problem? Should we<br>
              only use regular MG as the preconditioner for highly
              non-symmetric problems?<br>
            </blockquote>
            <div><br>
            </div>
            <div style="">There is nothing that prevents AMG from
              working on non-symmetric matrices (unlike CG),</div>
            <div style="">
              but there are no guarantees that it will do a good job.</div>
            <div style=""><br>
            </div>
            <div style="">   Matt</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              thanks,<br>
              Alan<br>
              <br>
              > "Zhenglun (Alan) Wei" <<a moz-do-not-send="true"
                href="mailto:zhenglun.wei@gmail.com">zhenglun.wei@gmail.com</a>>
              writes:<br>
              ><br>
              >> Dear folks,<br>
              >> I hope you're having a nice day.<br>
              >> For the Poisson solver in
              /src/ksp/ksp/example/tutorial/ex45.c, I used<br>
              >> the ksp_type = CG to solve it before; it
              converges very fast with<br>
              >> pc_type = gamg. However, I was trying to check if
              the matrix generated<br>
              >> by the 'ComputeMatrix' is symmetric by using
              "ierr = MatIsSymmetric(B,<br>
              >> tol, &flg);". It shows that this matrix is
              not exact a symmetric one by<br>
              >> setting tol = 0.0. Yet, the matrix is 'symmetric'
              if the tol > 0.01.<br>
              > The matrix does not enforce boundary conditions
              symmetrically.<br>
              ><br>
              >> Does this mean that, even if the matrix is not
              exact symmetric, the CG<br>
              >> could still be used.<br>
              > You happen to be iterating in a "benign" space in
              which the operator is SPD.<br>
              ><br>
              >> This brings me a question. Can the CG be used to
              solve an actual<br>
              >> unsymmetric matrix as long as 'MatIsSymmetric'
              returns a 'PETSC_TRUE'<br>
              >> value with certain tolerance.<br>
              > No.<br>
              ><br>
              >> Is there any rule of thumb for this tolerence?
               Also, as a<br>
              >> preconditioner, does 'gamg' only work for
              symmetric positive-definite<br>
              >> matrix? or it works for any matrix or even with
              GMRES?<br>
              > It works for many moderately non-symmetric, certainly
              for something that only<br>
              > has non-symmetric boundary conditions.<br>
              <br>
            </blockquote>
          </div>
          <br>
          <br clear="all">
          <div><br>
          </div>
          -- <br>
          What most experimenters take for granted before they begin
          their experiments is infinitely more interesting than any
          results to which their experiments lead.<br>
          -- Norbert Wiener
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>