[Rd] tcrossprod() inconsistency ?!
Martin Maechler
maechler at stat.math.ethz.ch
Mon May 18 18:04:29 CEST 2009
The current behavior of tcrossprod() is not
consistent with its documentation (*).
crossprod() and tcrossprod() are documented on the same page
(...../base/library/man/crossprod.Rd )
which says {lines broken by me} :
> Description:
> Given matrices 'x' and 'y' as arguments, return a matrix
> cross-product. This is formally equivalent to (but usually
> slightly faster than) the call
>
> 't(x) %*% y' ('crossprod') or
> 'x %*% t(y)' ('tcrossprod').
and crossprod() does really work like t(x) %*% y in all cases
AFAIK, but tcrossprod() fails to do so e.g. in
> m <- matrix(1:6, 2,3)
> (1:3) %*% t(m)
[,1] [,2]
[1,] 22 28
> tcrossprod(1:3, m)
Error in tcrossprod(1:3, m) : non-conformable arguments
>
I would like to change tcrossprod() both in 'base' and in 'Matrix'.
Does anyone see reasons why I should not ?
Martin Maechler, ETH Zurich
---
(*) Note that tcrossprod() has been a relatively late addition
to R, not present in S; so this inconsistency might seem
somewhat excusable.
More information about the R-devel
mailing list