<div dir="ltr"><div><div>Hi all<br><br></div>I'm just wondering if there is any plans in the future for MatGetDiagonalBlock to support shell matrices by registering a user-implemented MATOP? MatGetDiagonal supports MATOP, but the block version of this does not. <br><br></div>I found a previous query on the user list which touched on this and mentioned that it would be easy to add:<br><div><div><div><br><a href="http://lists.mcs.anl.gov/pipermail/petsc-users/2011-May/008700.html">http://lists.mcs.anl.gov/pipermail/petsc-users/2011-May/008700.html</a><br><br></div><div>I have implemented a matrix-free multigrid algorithm using shell operations in PETSc, and it would be very convenient to be able to provide a local shell Mat so I could apply local GMRES (or other matvec-based solvers) as a local block smoother. <br><br></div><div>Thanks!<br></div><div>Steven<br></div><div><br><br></div></div></div></div>