在检查一些矩阵乘法运算时,我遇到了一个奇怪的行为。当我“手动”执行乘法(使用乘积和总和)以及使用矩阵乘法运算符 %*% 时,我得到不同的结果。
c <- 1:10
a <- 100^(0:9)
p1 <- sum(a*c)
p2 <- a%*%c
p1==p2
[,1]
[1,] FALSE
p1-p2
[,1]
[1,] -2048
但是,当我对 a (例如,a <- 101^0:9) 使用任何其他值时,我确实得到了相同的结果:
c <- 1:10
a <- 101^(0:9)
p1 <- sum(a*c)
p2 <- a%*%c
p1==p2
[,1]
[1,] TRUE
p1-p2
[,1]
[1,] 0
知道为什么会这样吗?
谢谢你,佩德罗