Вам понадобится транспонирование второй матрицы, чтобы получить желаемый результат:
> v1 <- c(1,2,3)
> v2 <- matrix(c(3,1,2,2,1,3,3,2,1), ncol = 3, byrow = TRUE)
> v1 %*% t(v2)
[,1] [,2] [,3]
[1,] 11 13 10
Или, возможно, быстрее (см. ?crossprod
), если реальная проблема больше:
> tcrossprod(v1, v2)
[,1] [,2] [,3]
[1,] 11 13 10