the null space of the Schur complement is the restriction of the original null space. I guess if fieldsplit is Schur type then we could in principle extract the sub vectors and renormalize them
On Thu, May 23, 2024, 22:13 Jed Brown <j...@jedbrown.org> wrote: > Barry Smith <bsmith@ petsc. dev> writes: > Unfortunately it cannot > automatically because -pc_fieldsplit_detect_saddle_point just grabs part of > the matrix (having no concept of "what part" so doesn't know to grab the > null space information. > ZjQcmQRYFpfptBannerStart > This Message Is From an External Sender > This message came from outside your organization. > > ZjQcmQRYFpfptBannerEnd > > Barry Smith <bsm...@petsc.dev> writes: > > > Unfortunately it cannot automatically because > > -pc_fieldsplit_detect_saddle_point just grabs part of the matrix (having no > > concept of "what part" so doesn't know to grab the null space information. > > > > It would be possible for PCFIELDSPLIT to access the null space of the > > larger matrix directly as vectors and check if they are all zero in the 00 > > block, then it would know that the null space only applied to the second > > block and could use it for the Schur complement. > > > > Matt, Jed, Stefano, Pierre does this make sense? > > I think that would work (also need to check that the has_cnst flag is false), > though if you've gone to the effort of filling in that Vec, you might as well > provide the IS. > > I also wonder if the RHS is consistent. > >