[ADMB Users] operators in ADMB or R got it wrong

Ben Bolker 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

or

  x %*% y

instead of

  elem_prod(x,y)

  cheers
     Ben Bolker


dave fournier wrote:
>    It is often said that if u and v are vectors in ADMB then
> 
>         u*v
> 
>    should be an element-wise product because it is so in R.
> 
>    What if M is a matrix?  It is useful to have
> 
>       M*v
> 
>    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
> 
>        u*M*v
> 
>    should be the usual number obtained by  u * (M *n)
> 
>     and
> 
>            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.
> 
> 
> 
> 


-- 
Ben Bolker
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...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.admb-project.org/pipermail/users/attachments/20090812/a1638bc9/attachment.pgp>


More information about the Users mailing list