Я генерирую функции symboli c и использую SymPy для их упрощения. Теперь я хотел бы найти способ «упростить» символы, которые представляют постоянные параметры в функции, которая еще не установлена. Например, если я генерирую полином, я мог бы сгенерировать такую строку
C*x*x + C*x + C*x + C,
, которую SymPy превратит в
C*x^2 + 2*C*x + C.
Теперь я хотел бы найти способ получить this:
C*x^2 + C*x + C.
Другими словами, есть ли способ сообщить SymPy, что определенный символ является постоянным и неопределенным, так что
C+C -> C, C*C -> C, etc. Or more generally: f(C) = C, for any f(C)?
Моя первая идея состояла в том, что, возможно, существует предположение (например, Q.positive), которое описывает это свойство, и я мог бы использовать уточнение. Тем не менее, это не так. Если ничего другого, я уверен, что есть способ использовать preorder_traversal, чтобы делать то, что я хочу, но я не могу придумать стратегию, чтобы сделать это. Любая помощь или идеи приветствуются.