[R] horizontal direct product

Thomas Lumley tlumley at u.washington.edu
Sat Aug 26 02:21:16 CEST 2006


On Fri, 25 Aug 2006, Luke Keele wrote:

> II am translating some gauss code into R, and gauss has a matrix
> product function called the horizontal direct product (*~), which is
> some sort of variant on the Kronecker product.
>
> For example if x is 2x2 and y is 2x2
>
> the horizontal direct product, z, of x and y is defined (in the Gauss
> manual) as:
>
> row 1 = x11*y11 x11*y12 x12*y11 x12*y12
> row 2 = x21*y21 x21*y22 x22*y21 x22*y22
>

It looks as though
"%~%" <- function (A, B)
{
     m <- ncol(A)
     n <- ncol(B)
     A[, rep(1:m, each = n)] * B[, rep(1:n, m)]
}

would do it.


 	-thomas

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle



More information about the R-help mailing list