remaining faithful to my lazy approach :-) I add to the discussion rather
than checking in other environments.
Explaining how I discovered the point may help: I was trying to generalise a
script written by somebody else for cases when both matrices involved were
bound to be non-scalars, to include a case where the first one can collapse
to a scalar (for instance because of restrictions that reduce the parameter
space from many to one dimenion). So the problem arises when you have an
object that can either be a matrix or a scalar. My view is that the code
should work in both cases. Of course, the easy way is writing X'*Y!
To me it would seem that if somebody writes <m'>, the
script author is
treating m as a matrix. Because why would you use a transpose if the
object is always expected to be a scalar? Therefore it would seem
appropriate to always treat <m'y> as a matrix multiplication even in the
special case when m is 1x1.
Apart from that, this type of discussion has been led on the mailing
lists of other open-source projects. Maybe we should all study the
arguments and results of those discussions, before trying to re-invent
the wheel... (But you will notice that I, too, was too lazy and instead
wrote this message straight away :-)