| % File src/library/base/man/matmult.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2017 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{matmult} |
| \alias{\%*\%} |
| \alias{matmult} |
| \title{Matrix Multiplication} |
| \description{ |
| 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 of the same |
| length, it will return the inner product (as a matrix). |
| } |
| \usage{ |
| x \%*\% y |
| } |
| \arguments{ |
| \item{x, y}{numeric or complex matrices or vectors.} |
| } |
| \details{ |
| When a vector is promoted to a matrix, its names are not |
| promoted to row or column names, unlike \code{\link{as.matrix}}. |
| |
| Promotion of a vector to a 1-row or 1-column matrix happens when one |
| of the two choices allows \code{x} and \code{y} to get conformable |
| dimensions. |
| |
| This operator is S4 generic but not S3 generic. S4 methods need to be |
| written for a function of two arguments named \code{x} and \code{y}. |
| } |
| \value{ |
| A double or complex matrix product. Use \code{\link{drop}} to remove |
| dimensions which have only one level. |
| } |
| \note{ |
| The propagation of NaN/Inf values, precision, and performance of matrix |
| products can be controlled by \code{\link{options}("matprod")}. |
| } |
| \references{ |
| Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) |
| \emph{The New S Language}. |
| Wadsworth & Brooks/Cole. |
| } |
| \seealso{ |
| For matrix \emph{cross}products, \code{\link{crossprod}()} and |
| \code{tcrossprod()} are typically preferable. |
| \code{\link{matrix}}, \code{\link{Arithmetic}}, \code{\link{diag}}. |
| } |
| \examples{ |
| 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 |
| } |
| \keyword{array} |
| \keyword{arith} |