为了账号安全,请及时绑定邮箱和手机立即绑定

numpy库的问题将倒平方矩阵与原始矩阵相乘

numpy库的问题将倒平方矩阵与原始矩阵相乘

BIG阳 2023-06-20 17:17:20
在我自己创建的矩阵类中使用 numpy 库时,我遇到了一个问题。我正在使用 numpy.matmul() 和 numpy.linalg.inv() 对矩阵进行乘法和求逆,据我所知,在将矩阵与其求逆结果相乘时,您应该返回一个单位/单位矩阵。所以我有这些功能:def matmul(matrixOne, matrixTwo):    return np.matmul(matrixOne, matrixTwo)def invert(squaredMatrix):     return np.linalg.inv(squaredMatrix) 它们在单独使用时按预期工作,但当我测试它是否返回单位矩阵时,我这样做:original = [[1,2], [3,4]]print("here is result",str(matmul(original,invert(original))))我应该得到一个像这样的矩阵:[[1.0, 0.0], [0.0, 1.0]] 在印刷品中,但我得到的是:[[1.0000000e+00 0.0000000e+00] [8.8817842e-16 1.0000000e+00]] 是否有任何我应该转换的数据类型以使其工作或有什么问题?
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

这是由浮点错误引起的。值 8.8817842e-16 非常非常接近 0,但有时在对浮点数进行操作时,您获得的值并不完全正确。

另一个例子:0.1 + 0.2 = 0.30000000000000004


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信