<div class="gmail_quote">On Mon, Nov 8, 2010 at 09:32, 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=":ov">Is there an equivalent of MatCreateMPIAIJWithSplitArrays function for symmetric matrices? Or does this function work with symmetric matrices?<br></div></blockquote><div><br></div><div>There is MatCreateMPISBAIJWithArrays() in petsc-dev.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":ov">
I work with symmetric matrices that are extremely expensive to compute and I don&#39;t know their structure in advance. So to do preallocation, it is not practical to compute a matrix twice - firstly only to get d_nnz and o_nnz arrays and secondly to set values. Now, I solve this problem by storing a matrix to a file system, which is faster but still far from ideal. The best solution I see is to compute a matrix only once, store it in memory as split CSR arrays and then just call something like MatCreateMPISBAIJWithSplitArrays.</div>
</blockquote></div><br><div>Where do the matrices come from?  How do you know how to allocate to create the arrays?</div><div><br></div><div>Jed</div>