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).

Usage

x %*% y

Arguments

x, y

numeric or complex matrices or vectors.

Value

A double or complex matrix product. Use drop to remove
dimensions which have only one level.

Details

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.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
The New S Language.
Wadsworth & Brooks/Cole.

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