我正在尝试将 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] 删除。
我来说两句