matmult {base} | R Documentation |

## 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 it will return the inner product.

### Usage

a %*% b

### Arguments

`a, b` |
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 `as.matrix`

.

### Value

The matrix product. Use `drop`

to get rid of dimensions
which have only one level.

### References

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

### See Also

`matrix`

,
`Arithmetic`

,
`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

[Package

*base* version 2.5.0

Index]