It seems like it could be feasible. Say you are approximating the matrix with its 3by3 block diagonal. One can compute its inverse efficiently by simply inverting all the 3by3 blocks on the diagonal and forming a new sparse matrix with this. See, for example, MatInvertBlockDiagonal_SeqAIJ() likely if the performance really mattered for the routine further optimizations such as using AVX512 could be done to make the inversion faster.
> On Apr 21, 2022, at 8:37 PM, Tang, Qi <[email protected]> wrote: > > Hi, > What’s the meaning of MAT_SCHUR_COMPLEMENT_AINV_BLOCK_DIAG? > > Form the inversion of diagonal blocks first and then do matrix multiplication > to get a Schur complement? Is that a feasible option in practice? > > Qi > >
