问题标签 [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.

0 投票
1 回答
69 浏览

python - 提高 numpy narrays 的精度

我已经使用 numpy 编写了这个优化过程,我必须执行以下计算:

公式

B 是对称负半定矩阵,I 是单位矩阵。问题是 B 的值可能太大(> 1e25),当减去对角矩阵时,一些元素不会因为有足够的精度。有什么办法可以克服这个问题,还是我需要使用另一个库(如 mpmath)重写它?

0 投票
1 回答
455 浏览

python - 有没有更快的方法将包含 mpf(mpmath 浮点数)的函数与 numpy 数组结合起来?

我遇到了 Python 中浮点数的准确性问题。我需要高精度,因为我想使用显式编写的球形贝塞尔函数 J_n (x),如果numpy使用浮点数(15 个精确数字),它会在低 x 值时偏离它们的理论值(尤其是对于 n>5)。

为了保持更精确的数字,我尝试了许多选项,尤其是从mpmathand 。在将函数内部sympy的准确性与数组相结合时,我遇到了问题,直到我知道有函数。最后我得到了解决我最初问题的方法:mpmathnumpynumpy.vectorize

The problem I have now is that just for plotting the explicit, accurate ones, it takes quite a long time (about 31 times slower than the scipy function for mp.dps=100). Smaller dps do not make these processes much faster, even with mp.dps=15, they are still 26 times slower. Is there a way to make this faster?

0 投票
2 回答
318 浏览

python - 将具有虚幂的 sympy poly 转换为 mpmath mpc

我有一个 sympy poly,它看起来像:

我正在使用以下代码转换为 mpc:

两个问题。

  1. a假设我的 mpc 和 sympy 类型具有相同的精度(例如 100 dps),使用这种从to的转换是否存在精度损失d
  2. 有没有更好的转换方法?

旁白: sympy 似乎在这里把我当作一个符号来对待。我如何获得同情来简化这个多项式?

编辑:我还注意到以下内容代替了a上述内容:

0 投票
0 回答
51 浏览

scala - 为 scala/spark 寻找相当于 python 的 mpmath

有没有类似于mpmathscala 的东西?

更准确地说,mpmath我使用的唯一功能是阶乘(这比factorialpython更快,math并且适用于大数字)和二项式系数计算和设置精度。

先感谢您。

0 投票
1 回答
49 浏览

python - SymPy中任意精度的概率值

我试图在 Sympy 中计算一些简单的概率,但我不断收到数字错误。如何更改此代码以在 mpmath 中使用任意精度?

0 投票
1 回答
1736 浏览

python - 具有复杂积分界限的 Python scipy.integrate.quad

我正在使用 Python 计算上不完全伽马函数mpmath.gammainc

它是 mpmath 文档中定义的一维积分。我想myfun使用 scipy 的quad函数来比较这个结果:

但是,我不认为quad接受关于积分上限/下限的复杂论点。我不知道是否可以将问题分成实部/虚部。有任何想法吗?

0 投票
1 回答
1028 浏览

python - 如何评估 mpmath 函数中的 numpy 数组?

当我尝试在 mpmath 函数中使用 numpy 数组时出现错误,此示例在到达该行时失败:

其中 P1 是一个数组。出现错误:

我知道这个这个踏板,它们是相关的。但我无法让我的代码工作。有人可以帮我纠正这个错误吗?

0 投票
1 回答
322 浏览

python - 评估 mpmath gammainc 函数的困难

我正在使用 python 库 mpmath,特别是评估不完整的 gamma 函数。这是寻根例程的一部分,但对于复值参数的某些组合,它的评估非常慢。

这里函数的评估mpmath.gammainc卡住了:

另一方面,Mathematica 几乎立即返回结果:

在其他情况下,对于不同的参数mpmathMathematica返回相同的输出:

数学

Python mpmath

您对这种行为的原因有一些了解吗?这可以被认为mpmath是一个正交问题还是一个数学问题?不幸的是scipy,它没有提供gamma复杂参数的函数实现,所以它不是一个选项。

0 投票
0 回答
294 浏览

python - 带有 mpmath 的 Numpy 使用单线程进行矩阵乘法

我正在研究一个代表一些networkx图的邻接矩阵的numpy矩阵adj 。当我按如下方式构造adj时:

adj = sparse.csr_matrix(nx.adjacency_matrix(graph), dtype='longdouble').todense()

然后运行adj = adj ** 2,然后我可以看到htopnumpy 使用了所有可用的线程。

然而,由于精度损失,我试图mpmath在两者之间进行整合。

我是这样做的:

生成的adj看起来像这样

这是我所期望的。

计算包括两个步骤:第一个是平方adj,第二个是实际计算。从结果中,我可以看到精度要高得多,但htop由于某种原因,平方步骤仅在一个线程上运行。

当我运行 np.show_config() 时,我得到:

0 投票
1 回答
154 浏览

python - 使用 mpmath.nsum() 和 scipy.special.gamma() 时如何修复 TypeError?

我在 Python 中实现一些数学公式,使用时出现以下错误mpmath.nsum()

TypeError: 输入类型不支持 ufunc 'gamma',并且根据转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型

主文件

函数文件

当我使用下面的 for 循环时,我得到了我想要的答案。

请问有什么帮助吗?(注意:我是 Python 的绝对初学者,所以我不知道如何解决这个问题)