Timeline for Complexity of computing derivatives
Current License: CC BY-SA 3.0
9 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jan 8, 2021 at 18:58 | answer | added | Sébastien Loisel | timeline score: 2 | |
Sep 20, 2011 at 6:56 | vote | accept | onemoreuser | ||
Aug 24, 2011 at 19:50 | comment | added | Gerhard Paseman | As an illustration, consider (x - 7)^64. In some systems this will take over 60 operations to evaluate, while in others it will take less than 10. If you represent a function as a dataflow diagram with just-in-time evaluation, and use that to derive a similar diagram to represent computing the derivative, I see a potential for exponential blow up. The way in which you perform the T operations is important. Gerhard "Ask Me About Data Flow" Paseman, 2011.08.24 | |
Aug 24, 2011 at 19:41 | comment | added | Gerhard Paseman | I do not know what the bound is in general. I decided that giving a poor bound for a general situation was better, and to wait for "arithmetic operations" to be made explicit before offering improvements. For polynomials there should be better than exponential bounds, PROVIDED you are given a method like Horner's to evaluate the polynomial and the representation allows it. I suggested exponential because the chain rule requires you to compute two derivatives and at least two compositions from a function having a composition. Gerhard "Ask Me About System Design" Paseman, 2011.08.24 | |
Aug 24, 2011 at 19:29 | answer | added | Robert Israel | timeline score: 12 | |
Aug 24, 2011 at 19:21 | comment | added | onemoreuser | @Gerhard, is exponential really the best possible? @Emil, good point. Maybe I should generalise to ask for the case when $f(x)$ is numerically approximatable to accuracy $\epsilon$? So if $f$ is essentially a polynomial, then we should be able to compute its gradient in cT operations for some constant $c$, is that true? | |
Aug 24, 2011 at 19:16 | comment | added | Emil Jeřábek | Since $f$ is computable using finitely many arithmetic operations, it is (at least piecewise) a polynomial, right? | |
Aug 24, 2011 at 19:04 | comment | added | Gerhard Paseman | I believe the answer is yes, and the bound is given by appropriate applications of the Chain Rule. You might look at algorithms for symbolic computation of the derivative, unless you want a numeric result. Then you can probably get a bound that is roughly exponential in the number of multiplications (or compositions perhaps) used in computing f. Gerhard "Ask Me About System Design" Paseman, 2011.08.24 | |
Aug 24, 2011 at 18:45 | history | asked | onemoreuser | CC BY-SA 3.0 |