[SciPy-dev] Scipy-dev Digest, Vol 49, Issue 14

Anand Patil anand.prabhakar.patil at gmail.com
Tue Nov 27 17:35:47 EST 2007


On Nov 27, 2007 1:52 PM, Nathan Bell <wnbell at gmail.com> wrote:

Do you just want to backsolve with a triangular matrix?  If so, that
> could be added to sparsetools without much trouble.  You'd still need
> to decide where to expose the functionality, and how to handle
> potential errors (e.g. zero diagonals), but the backend would be
> simple.
>

That and the analogous forward multiplication with a triangular matrix are
the two things I really need right now, yeah. The backend would be simple,
yet painful; upper/lower, transpose and side arguments, in addition to
accounting for all the possible combinations of matrix formats, and the
strides when 'B' is dense, would make for a huge number of bug
opportunities. That's what made me think wrapping a library would be less
work than writing even 'two' routines from scratch.


>  The "level 3" operations such as matrix matrix products are trickier
> since you can't anticipate the memory cost of the output in advance.
> I'm going to see if there's any benefit to breaking these operations
>
up into two pass algorithms (like the SMMP algorithm does).
>

Good point, I hadn't thought of that. BLAS-style triangular and symmetric
multiplies would save time even so, of course.

Now that most compilers support OpenMP, I'd also like to parallelize
> matrix vector multiplication and perhaps other operations.
>

That would be very cool. Too bad it's too early for Fortress...


> Anyway, if you'd like to improve sparsetools I'd greatly appreciate
> your help and advice.


Yeah, if I'm going to code this triangular stuff anyway I may as well do it
in such a way that's useful to other people.

Any thoughts on wrapping a library vs. writing from scratch?

Anand
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20071127/47f82d2f/attachment.html>


More information about the SciPy-Dev mailing list