Существует ли функция sympy для извлечения коэффициентов отрицательных степенных мономов? - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть многочлен: eps * x 3 - x 2 + 2 + 3 * x * eps -2 . Как я могу получить список всех коэффициентов, включая отрицательные?

Я пробовал coeffs() и all_coeffs() методы, но они не работают с отрицательными степенями эпсилона:

import sympy as sp
x, eps = sp.symbols('x E')
expr = eps * x**3 - x**2 + 2 + 3 * x * eps**(-2)
coeffs_list = sp.Poly(expr, eps).coeffs()

Iхочу получить список коэффициентов, таких как [x^3, x^2 + 2, 3*x]

Ответы [ 2 ]

2 голосов
/ 08 ноября 2019

Если вы не уверены, что такое отрицательная сила eps, вы можете найти коэффициенты выражения, если поставить их над общим знаменателем:

>>> n, d  expr.as_numer_denom()
>>> Poly(n, eps).coeffs()
[x**3, 2 - x**2, 3*x]
1 голос
/ 08 ноября 2019

Умножение с большой степенью eps помогает получить коэффициенты.

import sympy as sp
x, eps = sp.symbols('x E')
expr = eps * x**3 - x**2 + 2 + 3 * x * eps**(-2)
coeffs_list = sp.Poly(expr*eps**2, eps).coeffs()

дает

[x**3, 2 - x**2, 3*x]
...