<div class="gmail_quote">On Mon, Nov 8, 2010 at 12:14, Daniel Langr <span dir="ltr">&lt;<a href="mailto:daniel.langr@gmail.com">daniel.langr@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":2oc">MatCreateMPISBAIJWithArrays() copy the arrays, so it won&#39;t help me. I need all available memory for a matrix, so I cannot have it in memory twice.<br></div></blockquote><div><br></div><div>What preconditioners do you use?  Block Jacobi with incomplete factorization, for example, uses the same amount of memory as the matrix, presumably you could free those arrays before factoring.  This doesn&#39;t help if you use SOR.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":2oc">
Matrices emerge in new methods in nuclear structure computations (symmetry-adapted no-core shell models). I don&#39;t know how to allocate arrays exactly. </div></blockquote><div><br></div><div>Where does the sparsity of the matrix come from?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":2oc">But, I can generate a matrix into CSR format and then probably reorganize it (split into diagonal and off-diagonal entries).</div>
</blockquote><div><br></div><div>It&#39;s not clear how you could generate it in CSR format to begin with, considering that if you underallocate, you will be forced to reallocate and copy.  It would be possible to have a MatCreateMPISBAIJWithSplitArrays, but it would be very peculiar to be able to create the arrays without being able to preallocate correctly.</div>
<div><br></div><div>Jed</div></div>