[petsc-users] How to compute the condition number of SchurComplementMat preconditioned with PCSHELL.

Matthew Knepley knepley at gmail.com
Wed Nov 10 07:45:00 CST 2021


On Wed, Nov 10, 2021 at 8:42 AM Vladislav Pimanov <
Vladislav.Pimanov at 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211110/074d24fa/attachment-0001.html>


More information about the petsc-users mailing list