Sympy:AttributeError:多项式乘以复数常数

马可·贝兰

我正在尝试将 Sympy 多项式乘以复数系数“i”。但是我收到一个错误。我正在使用 Python 3.6 和 Sympy 1.8。

代码:

from sympy import *
from sympy.abc import x, y, z, w

p = Poly(1.0*x, x, domain='C')
p*I

错误:

AttributeError: 'ComplexField' object has no attribute 'from_GaussianIntegerRing'

调用堆栈:

<ipython-input-106-a133adf8aac7> in <module>
----> 1 p*I

~/Code/University/Tesi/tesi/lib/python3.6/site-packages/sympy/polys/polytools.py in wrapper(f, g)
     80                 return result
     81             else:
---> 82                 return func(f, g)
     83         else:
     84             return NotImplemented

~/Code/University/Tesi/tesi/lib/python3.6/site-packages/sympy/polys/polytools.py in __mul__(f, g)
   4110     @_polifyit
   4111     def __mul__(f, g):
-> 4112         return f.mul(g)
   4113 
   4114     @_polifyit

~/Code/University/Tesi/tesi/lib/python3.6/site-packages/sympy/polys/polytools.py in mul(f, g)
   1493             return f.mul_ground(g)
   1494 
-> 1495         _, per, F, G = f._unify(g)
   1496 
   1497         if hasattr(f.rep, 'mul'):

~/Code/University/Tesi/tesi/lib/python3.6/site-packages/sympy/polys/polytools.py in _unify(f, g)
    485                 G = DMP(dict(list(zip(g_monoms, g_coeffs))), dom, lev)
    486             else:
--> 487                 G = g.rep.convert(dom)
    488         else:
    489             raise UnificationFailed("can't unify %s with %s" % (f, g))

~/Code/University/Tesi/tesi/lib/python3.6/site-packages/sympy/polys/polyclasses.py in convert(f, dom)
    297             return f
    298         else:
--> 299             return DMP(dmp_convert(f.rep, f.lev, f.dom, dom), dom, f.lev)
    300 
    301     def slice(f, m, n, j=0):

是否有一种解决方法可以按预期乘以多项式?

谢谢,马可

微信

您可以尝试域名“EX”:

>>> p = Poly(1.0*x, x, domain='EX')
>>> p*I
Poly(1.0*I*x, x, domain='EX')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章