介绍
R语言中有两个矩阵乘积函数corssprod(x,y))(=t(x)%*%x)
和tcorssprod(x,y)(=x%*%t(x))
,这两个函数在向量之间的乘法应用中会很方便。
应用
a=c(1,2,3)
b=c(2,5,4)
crossprod(a,b)
# [,1]
# [1,] 24
t(a)%*%b
# [,1]
# [1,] 24
tcrossprod(a,b)
# [,1] [,2] [,3]
# [1,] 2 5 4
# [2,] 4 10 8
# [3,] 6 15 12
a%*%t(b)
# [,1] [,2] [,3]
# [1,] 2 5 4
# [2,] 4 10 8
# [3,] 6 15 12
A=matrix(c(1,2,3,4,5,6),nrow=2)
# [,1] [,2] [,3]
# [1,] 1 3 5
# [2,] 2 4 6
crossprod(A)
# [,1] [,2] [,3]
# [1,] 5 11 17
# [2,] 11 25 39
# [3,] 17 39 61
tcrossprod(A)
# [,1] [,2]
# [1,] 35 44
# [2,] 44 56