Rick, you have started me thinking, is it better to use a row vector or a column vector? Surely it should not matter, so I am a bit alarmed at the results of the code below suggesting that the same multiplication using a row vector might be up to three times faster than using a column vector. Have I missed something?

proc iml;
a=uniform(j(300,300,43991));
a=a+t(a);
cv=uniform(j(300,1,0));
rv=t(cv);

t0=time();
do i=1 to 20000;
p=rv*a;
end;
t_rowvec=time()-t0;

t0=time();
do i=1 to 20000;
q=a*cv;
end;
t_colvec=time()-t0;

print t_rowvec, t_colvec;