>The other option, if you have the action of the inverse of B, is to use a shell matrix for B^{-1} A. This is what
>I do when B is the smoother matrix.

Yes, that's a good point, because then I have control over the solver options for the action of B^{-1}, thanks Matt.
I'll look into how the petsc4py interface works with that.

all the best
--cjc