Have a look at ex100.c ex100.py: https://gitlab.com/petsc/petsc/-/blob/c28a890633c5a91613f1645670105409b4ba3c14/src/ksp/ksp/tutorials/ex100.c https://gitlab.com/petsc/petsc/-/blob/c28a890633c5a91613f1645670105409b4ba3c14/src/ksp/ksp/tutorials/ex100.py
Jose > El 14 mar 2023, a las 17:45, Eric Hester <eric.w.hes...@icloud.com> escribió: > > Is there a similar example of how to create shell preconditioners using > petsc4py? > > Thanks, > Eric > >> On Mar 13, 2023, at 09:37, Eric Hester <eric.w.hes...@icloud.com> wrote: >> >> Ah ok. I see how the poisson2d example works. Thanks for the quick reply. >> >> Eric >> >>> On Mar 13, 2023, at 08:10, Jose E. Roman <jro...@dsic.upv.es> wrote: >>> >>> Both ode/vanderpol.py and poisson2d/poisson2d.py use shell matrices via a >>> mult(self,mat,X,Y) function defined in the python side. Another example is >>> ex3.py in slepc4py. >>> >>> Jose >>> >>> >>> >>>> El 13 mar 2023, a las 15:58, Eric Hester via petsc-users >>>> <petsc-users@mcs.anl.gov> escribió: >>>> >>>> Hello everyone, >>>> >>>> Does petsc4py support matrix-free iterative solvers (as for Matrix-Free >>>> matrices in petsc)? >>>> >>>> For context, I have a distributed matrix problem to solve. It comes from a >>>> Fourier-Chebyshev Galerkin discretisation. The corresponding matrix is >>>> dense, but it is fast to evaluate using fftw. It is also distributed in >>>> memory. >>>> >>>> While I’ve found some petsc4py tutorial examples in >>>> "/petsc/src/binding/petsc4py/demo/“, they don’t seem to show a matrix free >>>> example. And I don’t see a reference to a matrix shell create method in >>>> the petsc4py api. >>>> >>>> If petsc4py does support matrix free iterative solvers, it would be really >>>> helpful if someone could provide even a toy example of that. Serial would >>>> work, though a parallelised one would be better. >>>> >>>> Thanks, >>>> Eric >>>> >>>> >>> >> >