crossprod {base} | R Documentation |

## Matrix Crossproduct

### Description

Given matrices `x`

and `y`

as arguments, return a matrix
cross-product. This is formally equivalent to (but faster than) the
call `t(x) %*% y`

(`crossprod`

) or `x %*% t(y)`

(`tcrossprod`

).

### Usage

crossprod(x, y = NULL)
tcrossprod(x, y = NULL)

### Arguments

`x, y` |
matrices: `y = NULL` is taken to be the
same matrix as `x` . Vectors are promoted to single-column
matrices. |

### Note

When `x`

or `y`

are not matrices, they are treated as column or
row matrices, but their `names`

are usually **not**
promoted to `dimnames`

. Hence, currently, the last
example has empty dimnames.

### References

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

### See Also

`%*%`

and outer product `%o%`

.

### Examples

(z <- crossprod(1:4)) # = sum(1 + 2^2 + 3^2 + 4^2)
drop(z) # scalar
x <- 1:4; names(x) <- letters[1:4]; x
tcrossprod(as.matrix(x)) # is
identical(tcrossprod(as.matrix(x)),
crossprod(t(x)))
tcrossprod(x) # no dimnames

[Package

*base* version 2.5.0

Index]