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.

    There is still a bug related to Eisenstat. If you are trying to use it with 
kspest you are likely hitting the bug.

    I will fix the bug when I have time.

   Barry

> 
> 
> 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