# crossprod

0th

Percentile

##### Matrix Crossproduct

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

Keywords
algebra, array
##### Usage
crossprod(x, y = NULL)
tcrossprod(x, y = NULL)
##### Arguments
x, y
numeric or complex matrices: y = NULL is taken to be the same matrix as x. Vectors are promoted to single-column or single-row matrices, depending on the context.
##### Value

A double or complex matrix, with appropriate dimnames taken from x and y.

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

%*% and outer product %o%.

• crossprod
• tcrossprod
##### Examples
library(base) (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)) 
Documentation reproduced from package base, version 3.1.3, License: Part of R 3.1.3

### Community examples

afonso.lenzi@gmail.com at Nov 2, 2018 base v3.5.1

#example to use crossprod to calculate de variance of this famous dataset #http://genomicsclass.github.io/book/pages/matrix_algebra_examples.html library(UsingR) y <- father.son\$sheight N <- length(y) Y<- matrix(y,N,1) A <- matrix(1,N,1) barY=crossprod(A,Y) / N print(barY) r <- y - barY crossprod(r)/N