[petsc-dev] Multigrid is confusing

Jed Brown jedbrown at mcs.anl.gov
Thu May 24 22:35:35 CDT 2012


On Thu, May 24, 2012 at 10:19 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>  I think I've fixed PCPre/PostSolve_Eisenstat() to work properly with
> kspest but seems to be with ex19 a much worse smoother than SOR (both with
> Cheby). I'm not sure why. With SOR we are essentially doing a few Chebyshev
> iterations with
> (U+D)^-1 (L+D)^-1 A  x  = b while with Eisenstat it is (L+D)^-1 A (U +
> D)^-1 y = (L+D)^-1 b.  Well no time to think about it now.
>
>   Mark,
>
>          Has anyone looked at using Cheby Eisentat smoothing as opposed to
> Cheby SOR smoothing?
>

Aren't they supposed to be the same?


>
>    Barry
>
> On May 24, 2012, at 1:20 PM, Jed Brown wrote:
>
> > On Wed, May 23, 2012 at 2:52 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> > On Wed, May 23, 2012 at 2:26 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> >  Note that you could use -pc_type eisenstat perhaps in this case
> instead. Might save lots of flops?  I've often wondered about doing Mark's
> favorite chebyshev smoother with Eisenstat, seems like it should be a good
> match.
> >
> > [0]PETSC ERROR: --------------------- Error Message
> ------------------------------------
> > [0]PETSC ERROR: No support for this operation for this object type!
> > [0]PETSC ERROR: Cannot have different mat and pmat!
> >
> > Also, I'm having trouble getting Eisenstat to be more than very
> marginally faster than SOR.
> >
> >
> > I think we should later be getting the eigenvalue estimate by applying
> the preconditioned operator to a few random vectors, then orthogonalizing.
> The basic algorithm is to generate a random matrix X (say 5 or 10 columns),
> compute
> >
> > Y = (P^{-1} A)^q X
> >
> > where q is 1 or 2 or 3, then compute
> >
> > Q R = Y
> >
> > and compute the largest singular value of the small matrix R. The
> orthogonalization can be done in one reduction and all the MatMults can be
> done together. Whenever we manage to implement a MatMMult and PCMApply or
> whatever (names inspired by VecMDot), this will provide a very low
> communication way to get the eigenvalue estimates.
> >
> >
> > I want to turn off norms in Chebyshev by default (they are very
> wasteful), but how should I make -mg_levels_ksp_monitor turn them back on?
> I'm already tired of typing -mg_levels_ksp_norm_type unpreconditioned.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120524/46b829e3/attachment.html>


More information about the petsc-dev mailing list