Идея модуля rs_series
заключается в использовании полиномиальных инструментов для эффективного манипулирования степенными рядами, поэтому неудивительно, что в нем используются аналогичные алгоритмы. Одна из причин, по которой он не просто заимствует все полиномиальные методы, состоит в том, что модуль rs_series
также работает с рядами Пуизе (где экспоненты являются рациональными числами, которые не обязательно являются целыми числами). Например:
from sympy.polys.domains import QQ
from sympy.polys.rings import ring
from sympy.polys.ring_series import _series_inversion1
R, x = ring('x', QQ)
p = x**(S(2)/3) + 1
_series_inversion1(p, x, 4)
возвращает -x**(10/3) + x**(8/3) - x**2 + x**(4/3) - x**(2/3) + 1
, в отличие от
R.dup_revert(p, 4)
В результате "TypeError: объект Rational" не может быть интерпретирован как целое число "