[Haskell-cafe] matrix computations based on the GSL
Jacques Carette
carette at mcmaster.ca
Thu Jun 30 09:39:09 EDT 2005
Henning Thielemann wrote:
>I'm uncertain about how who want to put the different kinds of
>multiplication into one method, even with multi-parameter type classes.
>You need instances
>
> (*) :: Matrix -> Matrix -> Matrix
> (*) :: RowVector -> Matrix -> RowVector
>
>
[many other instances removed.]
Definitely not. You could do:
Data Orientation = Row | Column
Data Vector a = Vector Orientation [a]
(well, the size should be in there too, but I'll skip that). That
easily takes care of most of the complexity. And you can easily define
operations that can choose to ignore Orientation if they wish (like
inner product of vectors).
I said that this design works. Of course, implementing it along the
lines you suggested in this email would have been idiotic - there is a
better way to do it. If you go back to my original email, the sheer
complexity of all the combinations possible (several thousand) should
have given you a clue that your proposal above was a complete and utter
non-starter.
>
>Is the design discussion related to linear algebra for Maple documented
>somewhere?
>
Unfortunately not. The design is documented, with some of the
discussion captured, but those documents are still in internal papers to
Maplesoft Inc. There is no profit to be made in publishing it (in their
estimation), so that information remains internal.
Jacques
More information about the Haskell-Cafe
mailing list