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?

    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.


Reply via email to