Sympy: AttributeError: Multiply polynomial by complex constant
Sympy: AttributeError: Multiply polynomial by complex constant
我正在尝试将 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')
我正在尝试将 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')