- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 mpmath python 库在某些计算期间获得精度,但我需要将结果转换为 numpy native 类型。
更准确地说,我需要在 numpy.ndarray(包含浮点类型)中转换一个 mpmath 矩阵(包含 mpf 对象类型)。
我已经用原始方法解决了这个问题:
# My input Matrix:
matr = mp.matrix(
[[ '115.80200375', '22.80402473', '13.69453064', '54.28049263'],
[ '22.80402473', '86.14887381', '53.79999432', '42.78548627'],
[ '13.69453064', '53.79999432', '110.9695448' , '37.24270321'],
[ '54.28049263', '42.78548627', '37.24270321', '95.79388469']])
# multiple precision computation
D = MPDBiteration(matr)
# Create a new ndarray
Z = numpy.ndarray((matr.cols,matr.rows),dtype=numpy.float)
# I fill it pretty "manually"
for i in range(0,matr.rows):
for j in range(0,matr.cols):
Z[i,j] = D[i,j] # or float(D[i,j]) seems to work the same
我的问题是:
是否有更好/更优雅/更简单/更聪明的方法来做到这一点?
反复阅读 mpmath 文档,我发现这个非常有用的方法:tolist() ,它可以按如下方式使用:
Z = np.array(matr.tolist(),dtype=np.float32)
看起来稍微好一点和优雅(不需要 for 循环)
有更好的方法吗?我的第二个解决方案是四舍五入还是砍掉多余的数字?
最佳答案
您的第二种方法是首选,但使用 np.float32 意味着将数字转换为单精度。对于您的矩阵,此精度太低:115.80200375 由于截断而变为 115.80200195。您可以使用 numpy.float64 显式设置 double ,或者只将 Python 的 float
类型作为参数传递,这意味着相同。
Z = numpy.array(matr.tolist(), dtype=float)
或者,为了保持矩阵结构,
Z = numpy.matrix(matr.tolist(), dtype=float)
关于python - 如何正确地将 mpmath 矩阵转换为 numpy ndarray(并将 mpmath.mpf 转换为 float ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28446555/
我正在尝试将 fsolve 与 mpmath 包结合使用。但是,我收到错误 cannot create mpf from array([mpf('1.0')], dtype=object)。 这是一个
我正在尝试将 fsolve 与 mpmath 包结合使用。但是,我收到错误 cannot create mpf from array([mpf('1.0')], dtype=object)。 这是一个
我写了以下代码。我编译并运行了该程序。调用 mpif_set_si 时发生段错误。但我不明白为什么会出现段错误。 操作系统:Mac OS X 10.9.2编译器:i686-apple-darwin11
我不知道是什么导致了这个错误。我刚刚在 ubuntu 上安装了 GMP。这是 AMD cpu 上的 64 位操作系统(不确定是否重要)。我一直遇到段错误。 #include #include #i
我有: import numpy as np from mpmath import * mpf(np.array(range(0,600))) 但它不会让我这样做: TypeError: cannot
有人知道在 Visual Studio 2010 中将语言服务 (MPF) 与编辑器扩展 (MEF) 集成的正确方法吗? 在哪里实现成员补全、语法高亮、快速信息等? 有什么例子吗? 谢谢! 最佳答案
在修复上一个问题 (Python AttributeError:cos) 中的导入并使用 sympy 函数稍作更改后: from sympy import * from sympy import Sy
我做了以下导入: from sympy.matrices import Matrix as sy_matrix import sympy.mpmath as sy_mp 像这样创建我的矩阵: sysM
使用 Visual Studio 的托管包框架,我如何从 C# 继承以便拥有 C# 属性页和 C# 项目项?我试过制作一个 flavor 项目,但它在制作我们自己的自定义节点和自定义文件属性方面受到限
我正在使用 GMP,我希望能够快速将 mpz 转换为 mpf。我翻遍了图书馆,找不到太多。我能想到的最好的事情是: mpz_t x; /* Insert code here that assigns
有什么办法吗?例如在下面的代码中我失去了精度: >>> from sympy import * >>> from sympy.mpmath import * >>> mp.dps = 50 >>> a
我正在研究向 visual sudio 2010 添加一种新的编程语言,但我对采用的最佳方法有点困惑。 我查看了 MPF 并找到了一些关于如何进行语法高亮显示、链接外部解析器等的示例,这看起来非常简单
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想添加一个 $ 货币和小数位(变量)。 import pandas as pd imp
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想添加一个 $ 货币和小数位(变量)。 import pandas as pd imp
我正在尝试扩展 Visual Studio 2010 RC 以便能够使用自定义编程语言。 我尝试做的前两件事是语法高亮/智能感知功能(很容易完成,感谢来自 PDC09 的“Ook!”示例)和创建新项目
VS 2019 Preview 1刚刚发布,但出现了 MPF 15.0错误。这是在VS 2017和2015之前发生的。因此,即使我们从Microsoft市场下载,也无法更新某些扩展。你有什么建议吗?
我正在使用 mpmath python 库在某些计算期间获得精度,但我需要将结果转换为 numpy native 类型。 更准确地说,我需要在 numpy.ndarray(包含浮点类型)中转换一个 m
我有 4 个输入变量( float ): Xmax Xmin 百分比 模式 我想为 s 求解以下(相当长的)方程: > (1/2+1/2*erf((log(Xmax)-(log(mode)+s**2)
我是一名优秀的程序员,十分优秀!