<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Apologies for cross-posting- this one seems to have fallen through the
<br>&gt; cracks on scipy-user, maybe this is a better place to send it.<br>&gt;<br>&gt; Is there a set of python-callable sparse BLAS out there yet? I haven&#39;t<br>&gt; found one, and not for lack of Googling. I&#39;m willing to work on
<br>&gt; swigging a library if the need exists, but would like some guidance<br>&gt; from someone with more experience with these things.<br>&gt;<br>&gt; First, it looks like there are three implementations that would be<br>
&gt; good for this purpose:<br>&gt;<br>&gt; - NIST sparse BLAS<br>&gt; - SparseLib++ (superseded by above?)<br>&gt; - Boost&#39;s ublas with sparse template parameters.<br>&gt;<br>&gt; Questions:<br>&gt; - Do I need to do this, or are wrappers already available?
<br>&gt; - If so, which library would be best? I lean toward Boost, just<br>&gt; because it&#39;s so broadly templatized that scripting a wrapper for all<br>&gt; all the sparse-sparse and sparse-dense versions should be relatively
<br>&gt; easy.<br>&gt; - What should the calling conventions from Python be like?<br>&gt; - Any other pointers? (things I should know about numpy.i, for example).<br><br>Have you tried scipy.sparse?<br><a href="http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse" target="_blank">
http://projects.scipy.org/scipy/scipy/browser/trunk/scipy/sparse</a><br></blockquote><div><br>Of course, and it&#39;s great for general sparse matrices but I didn&#39;t see anything in there for triangular matrices. I didn&#39;t see anything in linsolve either, though quite a bit could no doubt be extracted from SuperLU.
<br><br>Also, I just like working with the BLAS rather than higher-level interfaces when it&#39;s code that I&#39;m going to reuse, so as to have more control over when things get overwritten as opposed to copied, etc. <br>
<br>Anand<br> </div></div>