in R programming, concerning on inverse matrix and its multiplication

不想你离开。 提交于 2019-12-01 10:51:17

Use the zapsmall function on the final result. Due to floating point representation and rounding errors anything more than simple arithmatic (and even that sometimes) will result in values that are very close, but not exactly the same as what is expected. In this case you are seeing a value that has 16 0's after the decimal place before the first non-zero digit. The zapsmall function will convert these small, essentially 0, values to 0 so that what you see matches what you expect.

Señor O

This is not a programming error, this is the result of what's called "floating point arithmetic." rounded to a reasonable length, you will get the identity matrix:

Q2 <- solve(Q)%*%Q
round(Q2, 4)

To learn more on floating point arithmetic go here.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!