Dear Petsc users, I would like to compute the sparse projection matrix Q=Id - Pt*A*P.
Pt*A*P is very well computed by MatMatMult ; then I would like to use MatShift in order to complete the computation. Unfortunately, Pt*A*P has lots of zeros on its diagonal, thus MatShift is very slow due to inapropriate preallocation. Since the initial preallocation of Pt*A*P is very good, I would to know if there is a method allowing to get the allocation data structure and to extend it in order to preallocate the diagonal terms. Best regards, Nicolas
