#' Tensor Times Tensor #' #' @examples #' A <- array(rnorm(3 * 7 * 11 * 17), dim = c(3, 7, 11, 17)) #' B <- array(rnorm(17 * 2 * 11 * 5 * 7), dim = c(17, 2, 11, 5, 7)) #' #' ttt(A, B, 2:4, c(5, 3, 1)) #' #' @export ttt <- function(A, B, modesA, modesB = modesA, dimsA = dim(A), dimsB = dim(B)) { R <- crossprod(mat(A, modesA, dimsA), mat(B, modesB, dimsB)) dim(R) <- c(dim(A)[-modesA], dim(B)[-modesB]) R }