[ADMB Users] operators in ADMB or R got it wrong
bolker at ufl.edu
Wed Aug 12 09:46:00 PDT 2009
I don't think the R convention OR the ADMB convention are
wrong; they're just different. This is a little bit like
arguing over assignment and equality operators: should we
use =, ==, :=, <- , ... ? The point in the notes I posted was just
to say that this was something that R users would have to
watch out for (just as people moving between MATLAB and
R have to be careful with conventions).
Based on http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
it doesn't look like one would be able to construct a shorthand
elementwise multiplication operator -- there's no convenient
operator (other than *) available to overload. ".*" does exist,
but it means something completely different and is not overloadable (and
even it were would probably confuse the hell out of C++ programmers).
In R one can define "%" operators (like %*% (matrix mult),
%o% (outer product)) -- I wonder if the ADMB superstructure
allows the flexibility of defining some such operators.
This isn't really desperately important either -- it's
just an aesthetic preference for being able to write
x .* y
x %*% y
dave fournier wrote:
> It is often said that if u and v are vectors in ADMB then
> should be an element-wise product because it is so in R.
> What if M is a matrix? It is useful to have
> be the product of a matrix times a vector yielding another vector.
> If M and N are both matrices then M*N should be matrix
> multiplication. If M represents a quadratic form then
> should be the usual number obtained by u * (M *n)
> u*M*inv(M)*v should be equal to u * Id *v = u*v
> All of this speaks to the fact that u*v should be the dot product and
> R got it wrong.
Associate professor, Biology Dep't, Univ. of Florida
bolker at ufl.edu / www.zoology.ufl.edu/bolker
GPG key: www.zoology.ufl.edu/bolker/benbolker-publickey.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 261 bytes
Desc: OpenPGP digital signature
More information about the Users