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

Reply via email to