It is true if A is nonsingular. if it is singular I never did the algebra; you need to use generalized Schur complements with pseudo-inverses
Il giorno ven 24 mag 2024 alle ore 00:04 Barry Smith <[email protected]> ha scritto: > > > On May 23, 2024, at 3:48 PM, Stefano Zampini <[email protected]> > 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 <[email protected]> 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 <[email protected]> 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. >> >> > -- Stefano
