[Haskell-cafe] matrix computations based on the GSL
lemming at henning-thielemann.de
Thu Jul 7 10:07:25 EDT 2005
On Thu, 7 Jul 2005, Henning Thielemann 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.
> If you bundle some vectors as columns in matrix B and want to compute
> norms with respect to matrix A writing
> B^T * A * B
> you will not only get the norms of the vectors in B but also many mixed
> scalar products. This example shows to me that matrices are not simply
> collections of vectors.
Let me elaborate on that:
In some cases putting vectors as columns into a matrix then applying a
matrix operation on this matrix leads to the same like to 'map' a
matrix-vector operation to a list of vectors. But in other cases (as the
one above) this is not what you want. I consider it as an incidence not as
a general principle if this kind of extension works.
Let's consider another example: The basic definition of the Fourier
transform is for vectors. MatLab wants to make the effect of vector
operations consistent for row and column vectors, thus
What is the most natural extension to matrices? I would say it is the
composition of a row-wise Fourier transform and a column-wise transform.
This interpretation would have the special cases shown above. It would
yield fft([1,0;0,0]) = [1,1;1,1]
But MatLab says
That is by default it considers the Fourier transform as a column-wise
transform - but in the special case of a 1-row matrix it behaves
More information about the Haskell-Cafe