Как создать полином из списка коэффициентов в SymPy?
Например, учитывая список [1, -2, 1]
, я хотел бы получить Poly(x**2 - 2*x + 1)
. Я попытался просмотреть документы, но не смог найти ничего подобного.
Как создать полином из списка коэффициентов в SymPy?
Например, учитывая список [1, -2, 1]
, я хотел бы получить Poly(x**2 - 2*x + 1)
. Я попытался просмотреть документы, но не смог найти ничего подобного.
Вы можете использовать Poly.from_list
построить многочлен:
>>> x = sympy.Symbol('x')
>>> sympy.Poly.from_list([1, -2, 1], gens=x)
Poly(x**2 - 2*x + 1, x, domain='ZZ')
Мне кажется, что вы бы сделали что-то вроде:
from sympy.abc import x
from sympy import poly
lst = [1, -2, 1]
poly(sum(coef*x**i for i, coef in enumerate(reversed(lst))))
Конечно, вы не зависите от того, какой коэффициент соответствует x**0
, вам может не понадобиться reversed
в приведенном выше примере.
Эта более простая альтернатива работает для меня (Sympy 0.7.6.1):
>>> from sympy import Symbol, Poly
>>> x = Symbol('x')
>>> Poly([1,2,3], x)
Poly(x**2 + 2*x + 3, x, domain='ZZ')
x**0
, а какой — коэффициентомx**2
. - person mgilson   schedule 05.09.2015[::-1
, если бы мне было нужно. - person Ecir Hana   schedule 05.09.2015