Hi, I would like to compute: A %*% B %*% t(A)
A is a mxn matrix and B is an nxn symmetric, positive-definite matrix, where m is large relative to n (e.g., m=50,000 and n=100). Here is a sample code. M <- 10000 N <- 100 A <- matrix(rnorm(M*N), M, N) B <- crossprod(matrix(rnorm(N*N), N, N)) # creating a symmetric positive-definite matrix # method 1 system.time(D <- A %*% B %*% t(A)) # I can obtain speedup by using a Cholesky decomposition of B # method 2 system.time({ C <- t(chol(B)) E <- tcrossprod(A%*%C) }) all.equal(D, E) I am wondering how to obtain more substantial speedup. Any suggestions would be greatly appreciated. Thanks, Ravi [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.