[R] Multiple matrix multiplication with two 3-dimensional arrays
Thomas Lumley
tlumley at u.washington.edu
Sat Sep 9 15:44:42 CEST 2006
On Sat, 9 Sep 2006, Anupam Tyagi wrote:
> Sophie Baillargeon <Sophie.Baillargeon <at> mat.ulaval.ca> writes:
>> Maybe I could use an "apply" or something but I
>> can't figure out how. I would have hoped that simply doing
>>
>> array1%*%array2
>
> would work, but it doesn’t
>I think one of the issues is that algebra for N-Dimentional arrays are not well
>defined. Think how would you define the above operartion on two 3x3x3 arrays.
We have the tensor package to handle this. A simple binary operator has non-uniqueness problems, so you do have to specify which margins to sum over. With two-dimensions (matrices) there are only four possible sums over one margin: x %*% y, y%*%x, crossprod(x,y), tcrossprod(x,y), but with rank-3 tensors there are a lot more options.
-thomas
Thomas Lumley Assoc. Professor, Biostatistics
tlumley at u.washington.edu University of Washington, Seattle
More information about the R-help
mailing list