> On May 23, 2024, at 3:48 PM, Stefano Zampini <stefano.zamp...@gmail.com> > wrote: > > 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
Is this true if A is singular? Or are you assuming the Schur complement form is only used if A is nonsingular? Would the user need to somehow indicate A is nonsingular? > > > On Thu, May 23, 2024, 22:13 Jed Brown <j...@jedbrown.org > <mailto:j...@jedbrown.org>> wrote: >> This Message Is From an External Sender >> This message came from outside your organization. >> >> Barry Smith <bsm...@petsc.dev <mailto: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.