5

我想在sympy中使用jacobDN功能,所以我下载了python setup.py install它,成功了。

当我想在文档中使用它时:

>>> from sympy.mpmath import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mpmath
>>> 

从 sympy 导入所有内容都是成功的:

>>> from sympy import *
>>> 

然后我单独安装了 mpmath,然后我可以使用 mpmath 的 ellipfun。然而,令人讨厌mpf的是:

>>> from mpmath import *
>>> ellipfun('dn',0.5,0.5)
mpf('0.94297242577738571')
>>> 

问题是如何在 sympy.mpmath 下使用 ellipfun?如何检查我的安装缺陷?

解决上述问题是最好的!如果不能,我如何在 mpmath 中使用 ellipfun 就像使用普通函数一样?

成功安装 sympy 的证据

-> ~$ pip show sympy
---
Name: sympy
Version: 0.7.7.dev
Location: /usr/local/lib/python2.7/dist-packages/sympy-0.7.7.dev-py2.7.egg
Requires: mpmath

-> ~$ pip install --upgrade sympy
Requirement already up-to-date: sympy in /usr/local/lib/python2.7/dist-packages/sympy-0.7.7.dev-py2.7.egg
Requirement already up-to-date: mpmath>=0.19 in /usr/local/lib/python2.7/dist-packages/mpmath-0.19-py2.7.egg (from sympy)
Cleaning up...
4

2 回答 2

4

在您安装的 SymPy 开发版本中,sympy.mpmath已将其删除。mpmath 现在是一个外部库,因此您需要单独安装和导入它,就像您所做的那样。

这两个版本完全相同(有一段时间没有任何 mpmath 版本)。

据我所知,mpmath 不支持 numpy 数组。scipy.special如果你想这样做,你需要使用。如果您对多精度浮点数(超出机器精度)感兴趣,则应仅使用 mpmath。如果您对此感兴趣,也可以使用sympy.Float,它是一个包装器mpf,可以很好地与 SymPy 对象配合使用。

于 2015-12-11T03:49:12.470 回答
1

我建议使用非开发版本。SymPy 0.7.6 是最后一个将 mpmath 与 SymPy 打包的版本。将来,它将是一个依赖项。由于您安装了开发版本,因此您必须独立安装 mpmath。

于 2015-12-11T03:48:24.920 回答