Python 已安装sympy,但找不到sympy.mpmath
我想在sympy中使用jacobDN函数,因此我下载了它并成功地安装了它 当我想在中使用它时,会: 然后我单独安装了mpmath,然后我可以使用mpmath中的ellipfun。但是,显示了一个恼人的Python 已安装sympy,但找不到sympy.mpmath,python,sympy,mpmath,Python,Sympy,Mpmath,我想在sympy中使用jacobDN函数,因此我下载了它并成功地安装了它 当我想在中使用它时,会: 然后我单独安装了mpmath,然后我可以使用mpmath中的ellipfun。但是,显示了一个恼人的mpf: >>> from mpmath import * >>> ellipfun('dn',0.5,0.5) mpf('0.94297242577738571') >>> 问题是如何在sympy.mpmath下使用ellipfun?如何检
mpf
:
>>> from mpmath import *
>>> ellipfun('dn',0.5,0.5)
mpf('0.94297242577738571')
>>>
问题是如何在sympy.mpmath下使用ellipfun?如何检查我的安装缺陷?
以上问题的解决方案是最好的!如果不能,我如何在mpmath中使用ellipfun,就像使用普通函数一样
成功安装Symphy的证据
我建议使用非开发版本。Symphy 0.7.6是将mpmath与Symphy打包的最后一个版本。在未来,这将是一种依赖关系。由于安装了开发版本,您必须独立安装mpmath。在已安装的Symphy开发版本中,
Symphy.mpmath
已被删除。mpmath现在是一个外部库,所以您需要单独安装和导入它,正如您所做的那样
这两个版本完全相同(有一段时间没有任何mpmath版本)
据我所知,mpmath不支持numpy数组。如果要这样做,您需要使用
scipy.special
。只有当您对多精度浮点(超出机器精度)感兴趣时,才应该使用mpmath。如果您对此感兴趣,还可以使用sympy.Float
,它是mpf
的包装,可以很好地处理sympy对象 显示mpf
有什么问题?@leewangzhong如果我想做以下事情:x=np.arange(0,10,0.1)mp.ellipfun('dn',x,0.5)plt.plt(x,y)我会得到错误:无法从排列创建mpf如果你说它在第二部分给出了错误,我会有所帮助。这意味着您不能将数组作为第二个参数传递给ellipfun
@leewangzhong是的,但我认为sympy.mpmath
下的ellipfun
应该可以做到这一点。所以我问了一个问题。我已经试着破解它,让它工作了将近一个小时<代码>mpmath未准备好进行ndarray
。只需在ellipfun上使用一个循环。我不太明白如何在scipy.special中使用JacobiDN。这些文件太抽象了。它说dn、sn等是返回的。但是我认为它应该是输入参数。@buzhidao你可以为它打开一个新问题。opened,请查看是否有答案。为什么建议使用旧版本而不仅仅是安装mpmath?Symphy 0.7.6是最新版本。矛盾的是,开发版本比最新版本更新。将来的版本将不会有这种行为。当您可以简单地安装mpmath
时,为什么还要依赖它呢?既然有了更简单的解决方案,为什么还要编写以后必须更新的代码呢?
>>> from sympy import *
>>>
>>> from mpmath import *
>>> ellipfun('dn',0.5,0.5)
mpf('0.94297242577738571')
>>>
-> ~$ 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...