# [Haskell-cafe] matrix computations based on the GSL

Henning Thielemann lemming at henning-thielemann.de
Thu Jun 30 08:20:16 EDT 2005

```On Thu, 30 Jun 2005, David Roundy wrote:

> If we support matrix-matrix multiplication, we already automatically
> support matrix-column-vector and row-vector-matrix multiplication, whether
> or not we actually intend to, unless you want to forbid the use of 1xn or
> nx1 matrices.  So (provided we *do* want to support matrix-matrix
> multiplication, and *I* certainly would like that) there is no question
> whether we'll have octavish/matlabish functionality in terms of row and
> column vectors--we already have this behavior with a single multiplication
> representing a single operation.

Of course, I only wanted a separate vector type (which also means a
separate matrix-vector multiplication) and I argued against a further
discrimination of row and column vectors.

> If you want to introduce a more general set of tensor datatypes,

Did someone requested tensor support? At least not me. I used the tensor
example to show that MatLab throws them all together with matrices and
vectors and I wanted to give an idea how to make it better by separating
them.

> In short, especially since the folks doing the work (not me) seem to want
> plain old octave-style matrix operations, it makes sense to actually do
> that.  *Then* someone can implement an ultra-uber-tensor library on top of
> that, if they like.  And I would be interested in a nice tensor
> library... it's just that matrices need to be the starting point,

Matrices _and_ vectors! Because matrices represent operators on vectors
and it is certainly not sensible to support only the operators but not the
objects they act on ...  Adding a vector type by a library that is build
on top of a matrix library seems to me like making the first step after
the second one.

```