Предположим, у вас есть многомерное полиномиальное выражение, и вы хотите охарактеризовать его как словарь по степени и коэффициенту каждого из мономов.
Пример:
p=Poly(3*x1**2 - x1*x2 + 5*x2 +7)
Вы хотите:
dic={"(2,0)":3 , "(1,1)":-1 , "(0,1)": 5 , "(0,0)": 7}
p.as_dict()
хорошо решает проблему.
Теперь у вас та же проблема, но теперь многомерное полиномиальное выражение допускает отрицательные показатели (конечный ряд Лорана).
Так что если у вас есть:
p=Poly(3*x1**-2 - x1*x2 + 5*x2)
p.as_dict()
напечатает:
{(0, 0, 2): 3, (0, 1, 0): 5, (1, 1, 0): -1}
Но я хотел бы иметь это:
{(-2, 0): 3, (0, 1): 5, (1, 1): -1}
Как мне добиться этого элегантным способом?