微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

numpy和pysparse浮点表示问题

如何解决numpy和pysparse浮点表示问题

| 我已经开始将numpy与接口UmfpACK的pysparse包一起使用,但是numpy的浮点结果存在问题。顺便说一下,这是用于结构问题的lanczos特征值求解器。 当我在MATLAB中执行相同的操作时,我得到的结果是不同的,结果大约是1e-6,1e-8,并且以MATLAB的表示形式,我得到了正确的特征值。 NumPy和PySparse结果也不是那么远,至少在顺序级别上,但是使用它们创建三对角矩阵以在其上找到特征值是问题的根源。我不明白出了什么问题,问题是浮点表示,但是如果可能的话,如何解决呢?我试图使用\'Float64 \'作为我的数据类型,但这并没有改变问题的结果。如
q = ones(n,dtype = \'Float64\')
再者,什么是最成熟的python稀疏包,提供了什么样的接口(如果有)?如前所述,PySparse一见钟情。     

解决方法

        “ 1”是Numpy中的默认数据类型。您可以尝试使用
float128
以获得更高的精度,但是请注意,某些功能(基本上Windows上的所有功能)都将强制将其强制为
float64
。 对于您的稀疏特征向量问题,我建议使用
scipy.sparse
。我已经尝试了PySparse和scipy.sparse,并且可以得出结论,尽管PySparse易于使用,但scipy.sparse更成熟。 这是稀疏的线性代数文档:http://docs.scipy.org/doc/scipy/reference/sparse.linalg.html     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。