On Tue, Aug 21, 2012 at 6:24 PM, Jack Poulson <span dir="ltr"><<a href="mailto:jack.poulson@gmail.com" target="_blank">jack.poulson@gmail.com</a>></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="HOEnZb"><div class="h5">On Tue, Aug 21, 2012 at 6:22 PM, Jack Poulson <span dir="ltr"><<a href="mailto:jack.poulson@gmail.com" target="_blank">jack.poulson@gmail.com</a>></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><div>On Tue, Aug 21, 2012 at 3:37 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_quote">
<div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>On Tue, Aug 21, 2012 at 11:47 AM, Jack Poulson <span dir="ltr"><<a href="mailto:jack.poulson@gmail.com" target="_blank">jack.poulson@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_quote">
<div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>On Tue, Aug 21, 2012 at 11:42 AM, Alexander Grayver <span dir="ltr"><<a href="mailto:agrayver@gfz-potsdam.de" target="_blank">agrayver@gfz-potsdam.de</a>></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 bgcolor="#FFFFFF" text="#000000"><div>
    <div>On <a href="tel:21.08.2012%2018" value="+12108201218" target="_blank">21.08.2012 18</a>:32, Matthew Knepley
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div class="gmail_quote">
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000"> MUMPS takes only
            several minutes and 6 GB of memory to factorize it. <br>
            This factorization gives residual on the order of 10e-12 and
            solution is indeed correct.<br>
            <br>
            Nevertheless, you're right, there is numerical null-space in
            this matrix since it comes <br>
            from the discretization of equation that contains curl curl
            operator, but practically this <br>
            case is not really the worst one. <br>
          </div>
        </blockquote>
        <div><br>
        </div>
        <div>This makes no sense whatsoever. How can you LU factor a
          matrix that has a null space?</div>
      </div>
    </blockquote>
    <br></div>
    Matt,<br>
    <br>
    I'm not sure that I correctly used term numerical null-space in my
    post.<br>
    The equation is<br>
    <br>
    curl curl E + kE = -J,<br>
    <br>
    where k is a function of frequency and conductivity, whenever one of
    them becomes small this term gets vanishingly small thus we have
    problems since curl curl operator has nontrivial null-space by
    definition. So let's say solving this equation for low frequencies
    and for models containing air is difficult. <br>
    <br>
    What kind of magic is inside MUMPS I don't know, but it is able to
    handle such cases (e.g. SuperLU and PaStiX fail). <br>
    <br>
    Also, if it matters, I'm talking about LDLt factorization in MUMPS.<span><font color="#888888"><br>
    <pre cols="72">-- 
Regards,
Alexander</pre>
  </font></span></div>

</blockquote></div></div></div>You can find Vasseur's talk on this exact subject here:<br><a href="http://graal.ens-lyon.fr/MUMPS/doc/ud_2010/Vasseur_talk.pdf" target="_blank">http://graal.ens-lyon.fr/MUMPS/doc/ud_2010/Vasseur_talk.pdf</a></blockquote>



<div><br></div></div></div><div>I was wrong, this is not nonsense. However, for curl curl the null space grows with matrix dimension, and</div><div>as far as I can tell from the slides, the null space determination is not scalable (Jack correct me if I am wrong).</div>



<div>Also, they gave no timings, so I suspect null space determination is slow.</div><div><br></div><div>I don't think any other LU we have will do this, so if you have null spaces you are stuck with MUMPS.</div><div>



<br></div><div>    Matt</div><div> </div></div></blockquote><div><br></div></div></div><div>It's not something that I've studied in detail, but I believe that it isn't that the behavior will not be that different from "difficult" nonsingular cases (i.e., where a large number of pivots do not satisfy the thresholding condition and must be delayed to the parent front). If the null space is large, then I would expect this to impact performance significantly. I would expect it to make load balancing much more difficult. In practice, this might lead to nonscalability, as it is sophisticated algorithm.</div>

<span><font color="#888888">
<div><br></div><div>Jack</div></font></span></div>
</blockquote></div><br></div></div>Please ignore the atrocity that was my attempt at a first sentence in the previous email: the point is that the delayed pivot mechanism is also used within the standard threshold pivoted LU factorization.<span class="HOEnZb"><font color="#888888"><div>

<br></div><div>Jack</div>
</font></span></blockquote></div><br><div>Hmmm, I just noticed that slide 25 says that (at least in 2010) the root node is processed sequentially in order to handle nontrivial nullspaces. I would contact the developers, but the description of ICNTL(24) on pg. 29 of the most recent manual (<a href="http://mumps.enseeiht.fr/doc/userguide_4.10.0.pdf">http://mumps.enseeiht.fr/doc/userguide_4.10.0.pdf</a>) makes it seem that the root node must still be factored sequentially if an exact zero pivot is detected.<br>
<br>This will certainly limit the parallelism, as the computational complexity of factoring the root node is usually essentially the same as factoring the entire problem.<br><br>Jack</div>