问题
Is there a library to work with polynomial arithmetic when polynomials can have negative exponents? I found the poly1d class in numpy, but I cannot figure out how I could represent a polynomial like x**-3 + x**-2 + x**2 + x**3
.
回答1:
To quote Wikipedia:
In mathematics, a polynomial is an expression of finite length constructed from variables (also called indeterminates) and constants, using only the operations of addition, subtraction, multiplication, and non-negative integer exponents.
What you're asking about isn't a polynomial -- for example polynomials are always finite, but what you want has a singularity at 0. On the positive side, there are libraries for symbolic manipulation. Take a look at sympy.
回答2:
You could just use the Law of Exponents, to shift the exponent to the bottom of a fraction and make it positive:
This:
print (5**-2)
print (1.0/(5**2))
Yields:
0.04
0.04
来源:https://stackoverflow.com/questions/11433477/polynomials-with-negative-exponents-in-python