Решение
Я не знаю простого способа добиться того, чего вы хотите в sympy, но вы могли бы заменить каждое значение явно:
p = (λ**16)*z + (λ**15)*(z**2)
p = p.subs(λ**16, λ**2).subs(λ**15, λ**1)
>>> z**2*λ + z*λ**2
Почему subs
не работает здесь
subs
подставляет только выражение x**m
в x**n
, когда m
имеет коэффициент n
, например ::
p.subs(λ, 1)
>>> z**2 + z
p.subs(λ**2, 1)
>>> z**2*λ**15 + z
p.subs(λ**3, 1)
>>> z**2 + z*λ**16
p.subs(λ**6, 1)
>>> z**2*λ**15 + z*λ**16
и т.д.