On Wed, Mar 14, 2012 at 5:11 AM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><div class="gmail_quote">On Wed, Mar 14, 2012 at 02:53, Klaij, Christiaan <span dir="ltr">&lt;<a href="mailto:C.Klaij@marin.nl" target="_blank">C.Klaij@marin.nl</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>Thanks, no more problems after PCSetUP(). I am using petsc-dev,<br>
so are you saying that MatSetNullSpace() on the block matrix [A00<br>
A01, A10 A11] will be enough? Can/will the null space of the<br>
Schur complement be deduced from this? Otherwise one would still<br>
need to &quot;drill down&quot; to get Schur complement matrix, right?</div></blockquote></div><br></div><div>Unfortunately, no, and I don&#39;t think it&#39;s possible to do this automatically.</div><div><br></div><div>Barry/Matt, this is the recurring issue of whether MatGetSubMatrix()/MatGetSchurComplement() should have the &quot;big&quot; matrix retain ownership, such that the user could decompose, set null spaces and auxiliary operators, restore, and have PCFieldSplit and everyone else do the right thing.</div>

</blockquote></div><br>I thought MatSchurComplement() made the original matrix available? I still disagree with this for<div>MatGetSubMatrix() since it will create a nightmare for references. I am still tracking down a</div>
<div>reference bug in FS when you use a custom preconditoner for Schur.</div><div><br></div><div>   Matt<br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div>