Description Usage Arguments Value Note References See Also Examples
Given matrices x and y as arguments, return a matrix
cross-product.  This is formally equivalent to (but usually slightly
faster than) the call t(x) %*% y (crossprod) or
x %*% t(y) (tcrossprod).
| 1 2 3 | crossprod(x, y = NULL)
tcrossprod(x, y = NULL)
 | 
| x, y | numeric or complex matrices (or vectors):  | 
A double or complex matrix, with appropriate dimnames taken
from x and y.
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.
In the same situation, these matrix products (also %*%)
are more flexible in promotion of vectors to row or column matrices, such
that more cases are allowed, since R 3.2.0.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
| 1 2 3 4 5 6 7 8 9 10 11 12 | (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
m <- matrix(1:6, 2,3) ; v <- 1:3; v2 <- 2:1
stopifnot(identical(tcrossprod(v, m), v %*% t(m)),
          identical(tcrossprod(v, m), crossprod(v, t(m))),
          identical(crossprod(m, v2), t(m) %*% v2))
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.