<div dir="ltr">On Fri, May 10, 2013 at 8:15 AM, Alan <span dir="ltr"><<a 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 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>