[Haskell-cafe] matrix computations based on the GSL

Henning Thielemann lemming at henning-thielemann.de
Thu Jul 7 11:02:17 EDT 2005

On Thu, 7 Jul 2005, David Roundy wrote:

> Also note that if you have several vectors x for which you want to compute
> the dot product with metric A, and if you want to do this efficiently,
> you'll have to convert your list of vectors into a matrix anyways.  Writing
> functions of vectors instead as functions of 1xN matrices allows them to be
> efficiently applied to multiple vectors simultaneously, provided they are
> written carefully.

Btw. it is interesting that "source code efficiency" differs from runtime
efficiency for matrix operations:


where a, b, c are square matrices and v is a column vector/matrix. This
expression is interpreted as


and it need cubic time to multiply matrices. In contrast to that


needs only quadratic time.

If we would use matrices as what they are invented for, namely as
representations of linear operators, this efficiency leak would not occur:

mulVec a $ mulVec b $ mulVec c v

(Read mulVec as the mapping from a matrix to the linear operator it

More information about the Haskell-Cafe mailing list