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.