On Fri, 15 Mar 2002, Thomas Lumley wrote:
On Fri, 15 Mar 2002, Martin Maechler wrote:
"JonR" == Jonathan Rougier <J.C.Rougier@durham.ac.uk> writes:
JonR> does not recognise the case where y is the same as x as special. I'd
JonR> like to extend crossprod to something like
JonR> function(x, y = NULL)
JonR> if (is.null(y))
JonR> .Internal(crossprod.symm(x))
JonR> else
JonR> .Internal(crossprod(x, y))
JonR> Before I start mesing up my R-1.4.1 installation, does anyone have any
JonR> thoughts on this?
Just for clarification:
The main point of your suggestion is to pass only half as much
data down to C, right?
If this can be done with the BLAS functions then halving the necessary
memory bandwidth will also help -- that's one of the limiting factors in
ATLAS, for example.
Looks like dsyrk can do this: despite the definition of *sy* BLAS routines
on my quick reference card it does not need a symmetric matrix, which is
why I overlooked it in earlier correspondence with Jonathan. As from
1.5.0 dsyrk will be available in R.