matmult package:base R Documentation _M_a_t_r_i_x _M_u_l_t_i_p_l_i_c_a_t_i_o_n _D_e_s_c_r_i_p_t_i_o_n: Multiplies two matrices, if they are conformable. If one argument is a vector, it will be promoted to either a row or column matrix to make the two arguments conformable. If both are vectors it will return the inner product (as a matrix). _U_s_a_g_e: x %*% y _A_r_g_u_m_e_n_t_s: x, y: numeric or complex matrices or vectors. _D_e_t_a_i_l_s: When a vector is promoted to a matrix, its names are not promoted to row or column names, unlike 'as.matrix'. This operator is S4 generic but not S3 generic. S4 methods need to be written for a function of two arguments named 'x' and 'y'. _V_a_l_u_e: A double or complex matrix product. Use 'drop' to remove dimensions which have only one level. _R_e_f_e_r_e_n_c_e_s: Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S Language_. Wadsworth & Brooks/Cole. _S_e_e _A_l_s_o: 'matrix', 'Arithmetic', 'diag'. _E_x_a_m_p_l_e_s: x <- 1:4 (z <- x %*% x) # scalar ("inner") product (1 x 1 matrix) drop(z) # as scalar y <- diag(x) z <- matrix(1:12, ncol = 3, nrow = 4) y %*% z y %*% x x %*% z