
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
fft([1,0])
ans = 1 1
fft([1;0])
ans = 1 1 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
fft([1,0;0,0])
ans = 1 0 1 0 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 completely different.