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
[EMAIL PROTECTED] University of Washington, Seattle
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.