Skip to content

matrix conformity with matrix 1x1 and scalars

2 messages · Andres Legarra, Brian Ripley

#
Hello,
I am calculating this thing with vectors (b) and matrices (G,P):
b'G/sqrt(b'Pb)
where the denominator is a quadratic form and therefore always a scalar.

In Scilab, it is quite simple:
b'*G/sqrt(b'*P*b)
However, in R, the denominator is an (1x1)matrix and R claims it is non
conformable and I have to use drop() or as.numeric(). Like this:
[,1]      [,2]
[1,] 0.3162278 0.6324555

So far, so good. My problem is solved. However I found a little bit annoying
that R is not so "clever" as to realize that b'Pb can be interpreted as a
scalar. I wonder :
would it be worth considering the implementation in R of
"recycling 1x1 matrix to scalars if appropriate"?
Just to leave the question on the ground...

Regards,

Andres
--
Andres Legarra
NEIKER
Apdo. 46
Vitoria-Gasteiz 01080 Spain
--





--
Andres Legarra Albizu
NEIKER
Apdo. 46
Vitoria-Gasteiz 01080 Spain
phone: +34 945 121323
fax: +34 945 281422
e-mail: alegarra at neiker.net
--
#
On Tue, 23 Aug 2005, Andres Legarra wrote:

            
This "clever"ness often leads to running code that the users did not 
intend to work that way and so give misleading answers.  In retrospect 
many of us think R/S should be less "clever" than it is, since guessing 
the minds of end-users is a dangerous pursuit.  In particular, as a recent 
posting on operator precedence shows, some users will have very different 
preconceptions from the developers, _and_ blame the developers for not 
having their perconceptions.