Divergence vs Row and column vector



Dear all,
I tried to play a bit with matrices and differential equations and at the
moment I am quite lost. My goal is to derive a set of differential equation.
I tried first to define a vector using

         q:[q[x],q[y],q[z]];

and later assigning

         q[1] : U;q[2] : V ; q [3] : W;

at this point I am able to compute

          express(div(q));

while if I put

           A : transpose(q);

for

           express(div(A));

I got the following error:

#0: express1(expn=div matrix([U],[V],[W]))(vect.mac line 135)
 -- an error.  To debug this try debugmode(true);

If I define

            A:columnvector([U,V,W]);

I have the same result

The same happens with

            array(A,3,1);

Why I cannot compute the divergence of a column vector. What is so wrong
with it?
Why there are so many ways of writing the same thing?
My vector is really a column, shall I keep "q" as a row vector writing
transpose(q) everytime I need it?
Which way would you suggest me to write a vector?

Regards

Fabio