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]




Please Wait...