For Problem Set 2, the derivative program, I am confused about how the solution returns the correct answer: poly_deriv = [] if len(poly) < 2: return [0.0] for j in xrange(1, len(poly)): poly_deriv.append(float(j * poly[j])) return poly_deriv Specifically, where in the code does the program reduce the exponent by 1?
We would express the polynomial \(x^2+4x+5\) would be expressed as ``` [5.0, 4.0, 1.0] ``` The derivative polynomial \(2x+4\) would be expressed as ``` [4.0, 2.0] ``` Due to the fact that `xrange(1, len(poly))` will iterate starting at `1`, the constant term at `0` is skipped, and all of the terms are shifted over. This shift is equivalent to reducing the exponent.
Join our real-time social learning platform and learn together with your friends!