问题标签 [mpmath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何从系数列表中构建多项式 lambda 函数?
我有一个对应于多项式表达式的系数列表,即:[1,2,0]
对应于x^2 + 2x + 0
. 我想将这些系数的任意长度数组放入 lambda 函数中。
具体来说,我正在使用mpmath并且我有一个用于polyval 模块的列表:
给定系数和一个数字,polyval()
计算多项式。
我需要使用 采用一维函数的findroot 模块,即:
如何从系数列表中构造 lambda 函数?
python - 将参数传递给 mpmath 四元积分
我正在集成一些非常讨厌的功能,而 scipy.integrate.quad 并没有很好地处理这种情况。我打算将 mpmath.quad 与 tanh-sinh 方法一起使用,但我需要将一些参数传递给正在计算的函数,如下所示:
因为 f 被定义为
在文档上没有找到类似的东西。有什么建议么?
谢谢!
python - sympy - 无法使 nsolve 方法工作
我做了这段代码:
解释器给了我:“分配前引用的局部变量 x”
如果我尝试nsolve(f,x,(0,1))
它会给我:“在给定的容差范围内找不到根......”
(另外,我尝试过findroot(f,(0,1))
没有任何成功(我导入from mpmath import *
然后mp.dps = 30; mp.pretty = True
)。
python - python中是否有可用的缩放互补误差函数?
在 matlab 中,有一个特殊的函数在我所知道的 Python 的任何集合中都不可用(numpy、scipy、mpmath,...)。
可能还有其他地方可以找到这样的功能?
UPD对于所有认为这个问题微不足道的人,请先尝试为参数〜30 计算此函数。
UPD2任意精度是一个很好的解决方法,但如果可能的话,我宁愿避免它。我需要一个“标准”机器精度(不多不少)和可能的最大速度。
UPD3事实证明,mpmath
给出了令人惊讶的不准确结果。即使在标准 pythonmath
工作的地方,mpmath
结果也更糟。这使得它绝对一文不值。
UPD4比较计算 erfcx 的不同方法的代码。
对我来说,它给了
显然,math
在它起作用的地方给出了最好的精度,而在起作用的地方mpmath
给出了更大的误差几个数量级,math
对于更大的参数甚至更多。
python - 扩展特定版本的 Python(在 Linux Ubuntu/Unity 上)
我最近得到了 Ubuntu 11.10,并在上面放了几个版本的 Python,包括 EPD Python、Python 2.7(标准)和 Python 3.2。我主要使用 EPD 发行版并希望使用 mpmath 模块对其进行扩展。基本上这听起来很简单,但 Linux 总是将包安装到标准的 2.7 或 3.2 版本。
如何专门扩展 EPD 分发?我必须承认我对 Linux 和 Python 都很陌生,所以希望有一个简单的解决方案。
python - numpy.allclose 和多精度与 mpmath
在我的 python 代码中,我经常使用numpy.allclose
. 另一方面,除了这些检查之外,实现还能够处理多精度 ( mpmath.mpc
) 数字。如果我想为这些mpmath
数字运行验证码,我会得到类似
检查两个多精度数组是否足够相等的最佳方法是什么?
python - 如何mpf数组?
我有:
但它不会让我这样做:
那我该怎么办?
本质上,我将使用这个数组,并根据情况(例如1.35626567e1084
或6.2345252e-2732
)将元素乘以令人难以置信的大或令人难以置信的小数,因此需要 mpf。
更具体地说,我将使用 besseli 和 besselk 函数来创建令人难以置信的大值和小值。
如何获得一个 mpf 数组来保存这些数字?
python - mpmath 矩阵求逆的替代方案或加速
我正在用 python 编写一些代码,这些代码需要经常反转大方阵(100-200 行/列)。
我正在达到机器精度的极限,所以已经开始尝试使用mpmath
任意精度的矩阵求逆,但它非常慢,即使使用gmpy
.
以精度 30(十进制)反转大小为 20、30、60 的随机矩阵需要约 0.19、0.60 和 4.61 秒,而相同的操作mathematica
需要 0.0084、0.015 和 0.055 秒。
这是在 Arch linux 机器上使用python3
and mpmath 0.17
(不确定 gmpy 版本)。我不确定为什么 mpmath 慢得多,但是否有任何开源库可以接近数学为此管理的速度(即使快 1/2 也不错)?
我不需要任意精度——128 位可能就足够了。我也只是不明白 mpmath 怎么会这么慢。它必须使用非常不同的矩阵求逆算法。具体来说,我正在使用M**-1
.
有没有办法让它使用更快的算法或加速它。
python - Speed Up python code (multiple integral calculations)
Is there a way to speed up this code: