I have come across this previously but I never had the energy to report it.
The problem is that there exist a bug in Vector[row] when n>10.
For example run the below code:
restart:
with(LinearAlgebra):
a1 := Vector[row]([seq(w[i], i = 1 .. 5)]);
a2 := Vector[column]([seq(w[i], i = 1 .. 5)]);
a3 := Vector[row]([seq(w[i], i = 1 .. 20)]);
a4 := Vector[column]([seq(w[i], i = 1 .. 20)]);
a1.a2;
a3.a4;
a1 := [w[1], w[2], w[3], w[4], w[5]]
[w[1]]
[ ]
[w[2]]
[ ]
a2 := [w[3]]
[ ]
[w[4]]
[ ]
[w[5]]
[ 1 .. 20 Vector[row] ]
[ Data Type: anything ]
a3 := [ Storage: rectangular ]
[ Order: Fortran_order ]
[ 1 .. 20 Vector[column] ]
[ Data Type: anything ]
a4 := [ Storage: rectangular ]
[ Order: Fortran_order ]
2 2 2 2 2
w[1] + w[2] + w[3] + w[4] + w[5]
2 2 2 2 2 2 2 2 2 2
w[1] + w[2] + w[3] + w[4] + w[5] + w[6] + w[7] + w[8] + w[9] + w[10]
2 2 2 2 2 2 2 2
+ w[11] + w[12] + w[13] + w[14] + w[15] + w[16] + w[17] + w[18]
2 2
+ w[19] + w[20]
Everything seems to be working however if you double click on a3 which is supposed to be
a Vector[row] (it says so on the matrix) you will find out that it actually is a Vector[column]
[ w[1] ]
[ w[2] ]
a3 := [ w[3] ]
[ w[4] ]
[ w[5] ]
[ w[n] ]
To make things even worse:
Transpose(a1);
Transpose(a2);
[w[1]]
[ ]
[w[2]]
[ ]
[w[3]]
[ ]
[w[4]]
[ ]
[w[5]]
[w[1], w[2], w[3], w[4], w[5]]
works as advertised. However,
Transpose(a3);
Transpose(a4);
[ 1 .. 20 Vector[column] ]
[ Data Type: anything ]
[ Storage: rectangular ]
[ Order: Fortran_order ]
[ 1 .. 20 Vector[row] ]
[ Data Type: anything ]
[ Storage: rectangular ]
[ Order: Fortran_order ]
seems to be working however if you double click on Transpose(a4) which is supposed to be
a Vector[row] (it says so on the matrix) you will find out that it actually is a Vector[column]