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.3.1 Index]