首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numpy库问题与原矩阵相乘的倒平方矩阵

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

Stack Overflow用户
提问于 2020-08-24 13:36:23
回答 1查看 51关注 0票数 0

我在我自己创建的矩阵类中使用numpy库时遇到了一个问题。我使用numpy.matmul()和numpy.linalg.inv()对矩阵进行乘法和反演,据我所知,当将矩阵与其倒置结果相乘时,您应该返回一个单位/单位矩阵。所以我有这样的功能:

代码语言:javascript
复制
def matmul(matrixOne, matrixTwo):
    return np.matmul(matrixOne, matrixTwo)

def invert(squaredMatrix): 
    return np.linalg.inv(squaredMatrix) 

当单独使用时,它们可以正常工作,但是当我测试它是否返回一个单元矩阵时,我会这样做:

代码语言:javascript
复制
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]],有什么数据类型是我应该转换来实现的,或者是什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-24 13:44:11

这是由浮点错误引起的。值8.8817842e-16非常非常接近于0,但有时在浮动操作时,得到的值并不完全正确。

另一个例子: 0.1 + 0.2 = 0.30000000000000004

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63562156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档