Я работаю с очень большими полиномами в sympy, и мне нужно иметь их в расширенной форме, чтобы найти определенные члены и коэффициенты. Однако разложение этих полиномов занимает много времени. Существует ли быстрый способ расширения полиномов или получения определенных членов и коэффициентов по-другому?
Я могу найти термины в расширенном полиномиальном штрафе, но ограничивающим фактором является время их расширения.
Полиномы очень большие, например:
(x + y + z + a + b + c) ** 24
Я пробовал как sympy.expand (), так и Add.as_poly (). И обнаружили, что Add.as_poly () быстрее, но все еще очень медленный.
my_poly = (x + y + z + a + b + c) ** 24
# expand using Add.as_poly()
my_poly.as_poly()
# this takes multiple minutes to execute
Я бы хотел иметь возможность поиска по терминам в расширенном полиноме, чтобы найти те, которые содержат другие термины:
(псевдокод): x ** 3 * y z a ** 2, содержащийся в 500 * x ** 5 * y ** 2 * z * a ** 4 * b * c ** 2
и если он содержится, я хочу получить коэффициент этого термина.
Я хочу ускорить расширение или использовать другой метод, чтобы найти нужные термины за меньшее время.