<div dir="ltr">On Mon, Sep 9, 2013 at 4:47 PM, Umut Tabak <span dir="ltr"><<a href="mailto:u.tabak@tudelft.nl" target="_blank">u.tabak@tudelft.nl</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 09/08/2013 06:45 PM, Jed Brown wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Umut Tabak <<a href="mailto:u.tabak@tudelft.nl" target="_blank">u.tabak@tudelft.nl</a>> writes:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 09/08/2013 06:17 PM, Jed Brown wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
block is indefinite, even worse.<br>
A11 indefinite could lead to the Schur complement being singular.  The<br>
approach breaks down if that's the case.  A11 singular or negative<br>
semi-definite is the standard case.<br>
</blockquote>
Even not singular, an already ill-conditioned problem becomes worse with<br>
a Schur complement approach.<br>
</blockquote>
I don't know what you're trying to say,<br>
</blockquote>
Hi Jed,<br>
<br>
I thought a bit more on this problem, if there are some matrices<br>
<br>
(A-\sigmaB) C<br>
C^T (D-\sigmaE)<br>
<br>
in blocks.<br>
<br>
The Schur complement is<br>
<br>
S = (D-\sigmaE) - C^T(A-\sigmaB)^{-1}C<br>
<br>
Is there a way to approximate the condition number of S, cheaply, not that I know of but just asking?<br></blockquote><div><br></div><div>Not without more information. Have you looked at any papers for your problem?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  but using factorization makes<br>
sense when you set the problem up so that the Schur complement is better<br>
behaved than the original problem (either because it's better<br>
conditioned or because you have a practical preconditioner for it).  Of<br>
course you can choose bad splittings so that the Schur complement is<br>
worse (or singular).<br>
</blockquote>
Can you rephrase the above, I could not understand which factorization is mentioned above for instance?<br></blockquote><div><br></div><div>This is only one factorization here, the Schur factorization.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Note that the Schur complement can be completely different from what was<br>
in that block of the matrix before factorization.<br>
</blockquote>
ok which factorization again?<br></blockquote><div><br></div><div>Above.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And it is almost impossible to define a SPD preconditioner that could<br>
work with S to result in decent iteration counts.<br>
<br>
This was a question I asked a couple of weeks ago but did not have the<br>
time to go into details.<br>
<br>
I guess these kinds of separation ideas and use of independent<br>
factorizations or combined preconditioners for different blocks will not<br>
work for this problem...<br>
</blockquote>
Possible, or you're doing it wrong.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You need to read the literature for problems of your type.  There are a<br>
few possible approaches to approximating the Schur complement.  The<br>
splitting into blocks also might not be very good.<br>
</blockquote>
well I took a look at the literature but could not really find something<br>
useful up until now. The main difference was one of the blocks was<br>
either SPD or well-conditioned(for A00 or A11).<br>
<br>
More  specifically, my problem is a kind of shifted problem for<br>
eigenvalue solutions without going into too much detail. The symmetric<br>
operator matrix is written as<br>
<br>
AA<br>
=<br>
(A-\sigmaB) C<br>
C^T (D-\sigmaE)<br>
<br>
and C is a rather sparse coupling matrix<br>
<br>
A00 = A-\sigmaB block is ill conditioned due to the shift<br>
<br>
and<br>
<br>
A11 = (D-\sigmaE)<br>
<br>
block is indefinite where D is a singular matrix with one zero<br>
eigenvalue with 1 vector in the null space. E is rather well conditioned<br>
but in combination it is not attackable by iterative methods. Moreover,<br>
Schur complements are defined on this problematic system, AA.<br>
</blockquote>
Take a small problem size and use SVD to compute the extreme singular<br>
values of S = A11 - C^T A00^{-1} C.  Also get an estimate of the<br>
spectrum so you can tell whether it's indefinite.<br>
</blockquote>
Ok took a small problem and explicitly computed S<br>
<br>
MATLAB eigs returns<br>
<br>
s =<br>
<br>
    -9.573038036040949e-04<br>
    -1.030047395371149e-02<br>
     1.217726918930923e-02<br>
     1.532790465307093e-02<br>
    -2.037544234417839e-02<br>
     2.038856908922073e-02<br>
    -3.080232110141994e-02<br>
     3.217578262967955e-02<br>
    -3.621899833039557e-02<br>
    -4.812298722347947e-02<br>
<br>
as the smallest eigenvalues<br>
<br>
smallest singular values with svds in MATLAB again are<br>
<br>
     4.812298722126469e-02<br>
     3.621899832617895e-02<br>
     3.217578263194974e-02<br>
     3.080232110105591e-02<br>
     2.038856907069070e-02<br>
     2.037544233721312e-02<br>
     1.532790465411290e-02<br>
     1.217726916867209e-02<br>
     1.030047395359284e-02<br>
     9.573038068612779e-04<br></blockquote><div><br></div><div>Its not that badly conditioned, so you need to understand your operators better</div><div>to discover why your solver is not converging.</div><div><br></div>
<div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There is some literature on these shifted problems but I am not sure if<br>
I should dive into that field or not at this point.<br>
<br>
Trying the 'fieldsplit' approach was some kind of a 'what-if' for me...<br>
<br>
But thanks for the help and comments anyway.<br>
</blockquote></blockquote>
<br>
</blockquote></div><br><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
</div></div>