> P is a diffusion matrix, which itself is inverted by KSPCG) This worries me. Unless solved to full precision the action of solving with CG is not a linear operator in the input variable b, this means that the action of your Schur complement is not a linear operator and so iterative eigenvalue algorithms may not work correctly (even if the linear system seems to be converging).
I suggest you try a KSP tolerance of 10^-14 for the inner KSP solve when you attempt the eigenvalue computation. Barry > On Nov 10, 2021, at 9:09 AM, Vladislav Pimanov > <vladislav.pima...@skoltech.ru> wrote: > > Great thanks, Matt! > The second option is what I was looking for. > > Best Regards, > Vlad > От: Matthew Knepley <knep...@gmail.com> > Отправлено: 10 ноября 2021 г. 16:45:00 > Кому: Vladislav Pimanov > Копия: petsc-users@mcs.anl.gov > Тема: Re: [petsc-users] How to compute the condition number of > SchurComplementMat preconditioned with PCSHELL. > > On Wed, Nov 10, 2021 at 8:42 AM Vladislav Pimanov > <vladislav.pima...@skoltech.ru <mailto:vladislav.pima...@skoltech.ru>> wrote: > Dear PETSc community, > > > I wonder if you could give me a hint on how to compute the condition number > of a preconditioned matrix in a proper way. > I have a MatSchurComplement matrix S and a preconditioner P of the type > PCSHELL (P is a diffusion matrix, which itself is inverted by KSPCG). > I tried to compute the condition number of P^{-1}S "for free" during the > outer PCG procedure using KSPComputeExtremeSingularValues() routine. > Unfortunately, \sigma_min does not converge even if the solution is computed > with very high precision. > I also looked at SLEPc interface, but did not realised how PC should be > included. > > You can do this at least two ways: > > 1) Make a MatShell for P^{-1} S. This is easy, but you will not be able to > use any factorization-type PC on that matrix. > > 2) Solve instead the generalized EVP, S x = \lambda P x. Since you already > have P^{-1}, this should work well. > > Thanks, > > Matt > Thanks! > > Sincerely, > Vladislav Pimanov > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>