[Haskell-cafe] Is anyone working on a sparse matrix library in Haskell?

Kim-Ee Yeoh ky3 at atamo.com
Sun Dec 2 05:58:23 CET 2012


On Sun, Dec 2, 2012 at 10:52 AM, wren ng thornton <wren at freegeek.org> wrote:

> > My goal for all this is in setting up the type system, not performance.
I figure there are other folks who know and care a lot more about the
numerical tricks of giving the actual implementations.

You've got my support -- old-school optimizations, numerical, compiler, or
otherwise, are deadly boring. Death to them, I say! If we don't explore
uncharted waters, who will?

-- Kim-Ee


On Sun, Dec 2, 2012 at 10:52 AM, wren ng thornton <wren at freegeek.org> wrote:

> On 11/30/12 4:58 PM, Mark Flamer wrote:
>
>> Thanks for all the replies,
>>   It sounds like there is enough interest and even some potential
>> collaborators out there. I have created a few data structures to represent
>> sparse vectors and matrices. The vector was a simple binary tree and the
>> matrix a quad tree. As I suspected a standard IntMap was around 3X as fast
>> as my binary tree, so I have switched to the IntMap for now. I was hoping
>> to
>> hold on to my quad tree for the matrix rep. because I like the elegance of
>> the recursive algorithms like Strassen’s for multiplication. In the end it
>> will most likely be best to have a few different matrix representations
>> anyway. For instance, I know that compressed row form is most efficient
>> for
>> certain algorithms. I have a Gauss iterative solver working currently and
>> am
>> thinking of moving on to a parallel Conjugate gradient or direct solver
>> using LU decomposition. I’m no expert in Haskell or numeric methods but I
>> do
>> my best.
>>
>
> I've also been working haphazardly on some similar stuff lately. However,
> my focus is rather different[1] so I'm afeared not much code sharing could
> happen at the moment. While I'm certainly no expert on numerical methods, I
> seem to have acquired some experience in that domain so I may be able to
> lend a hand from time to time.
>
>
> [1] In particular my goal has been to revive some old ideas about making
> linear algebra well-typed. The vast majority (if not all) of extant linear
> algebra systems are poorly typed and will do stupid things to "resolve"
> type errors (e.g., automatically padding, truncating, and reshaping
> things). Because of the use case I have in mind, this project also involves
> setting up a proper numerical type-class hierarchy (i.e., one which
> expresses semirings and other things ignored by the numerical hierarchies
> out there today). My goal for all this is in setting up the type system,
> not performance. I figure there are other folks who know and care a lot
> more about the numerical tricks of giving the actual implementations.
>
> --
> Live well,
> ~wren
>
>
> ______________________________**_________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/**mailman/listinfo/haskell-cafe<http://www.haskell.org/mailman/listinfo/haskell-cafe>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121202/f25a51d1/attachment.htm>


More information about the Haskell-Cafe mailing list