I think your problem is with R's behavior of dropping array indices when dim==1.
Simulating that > m1 <- matrix(1:2,nrow=2) > m2 <- matrix(1:2,ncol=2) > m1 %*% m2 [,1] [,2] [1,] 1 2 [2,] 2 4 > m1[,] %*% m2[,] [,1] [1,] 5 [1,] 5 > m1[,,drop=FALSE] %*% m2[,,drop=FALSE] [,1] [,2] [1,] 1 2 [2,] 2 4 However, if you use [,,i,drop=FALSE] in your context, you will also fail to drop the third array dimension, which you *do* want to drop (i.e. you will end up with an array of dimensions [2,1,1] rather than a matrix of dimensions [2,1] as you would like. MarcioRibeiro wrote: > > Hi again... > I will get an array with 5 matrix 2x2, with dimension 2x2x5 > This code below works fine... And I am applying the same procedure... > The problem might be when I do the permutation of the array, but I checked > the dimension and its all right... > > array1 <- array(1:30,dim=c(3,2,5)) > array2 <- array(1:20,dim=c(2,2,5)) > result <- array(dim=c(dim(array1)[1], dim(array2)[2], dim(array1)[3])) > for (i in 1: dim(array1)[3]){ > result[,,i] <- array1[,,i]%*%array2[,,i] > } > > Thanks... > > > Ben Bolker wrote: >> >> >> >> MarcioRibeiro wrote: >>> >>> Hi listers, >>> I am having some trouble in a matrix multiplication... >>> I have already checked some posts, but I didn't find my problem... >>> I have the following code... >>> But I am not getting the right multiplication... >>> I checked the dimension and they are fine... >>> >>> id_y <- array(1:10,dim=c(2,1,5)) >>> id_yt<-aperm(id_y,c(2,1,3)) >>> m_id<-array(dim=c(dim(id_y)[1],dim(id_y)[1],dim(id_y)[3])) >>> for (i in 1:dim(id_y)[3]){ >>> m_id[,,i]<-id_y[,,i]%*%id_yt[,,i] >>> } >>> m_id >>> >>> >> >> What did you expect to happen? >> >> Ben Bolker >> >> > > -- View this message in context: http://www.nabble.com/Matrix-multiplication---code-problem-tp22835003p22838040.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org 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.