From Martin Maechler <maechler@stat.math.ethz.ch>  Fri Mar 15 13:45:24 2002
From: Martin Maechler <maechler@stat.math.ethz.ch> (Martin Maechler)
Date: Fri, 15 Mar 2002 14:45:24 +0100
Subject: [Rd] Thought on crossprod
In-Reply-To: <3C91C688.E297B0FE@durham.ac.uk>
References: <3C91C688.E297B0FE@durham.ac.uk>
Message-ID: <15505.64244.865792.272476@gargle.gargle.HOWL>

>>>>> "JonR" == Jonathan Rougier <J.C.Rougier@durham.ac.uk> writes:

    JonR> Hi everyone, I do a lot of work with large variance
    JonR> matrices, and I like to use "crossprod" for speed and
    JonR> to keep everything symmetric, i.e. I often compute
    JonR> "crossprod(Q %*% t(A))" for "A %*% Sigma %*% t(A)",
    JonR> where "Sigma" decomposes as "t(Q) %*% Q".  I notice in
    JonR> the code that "crossprod", current definition

    >> crossprod
    JonR> function (x, y = x) 
    JonR> .Internal(crossprod(x, y))

    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

    >> crossprod
    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?

Martin
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


[Rd] Thought on crossprod
Martin Maechler