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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to