Just to chime in: the biggest problem with the Calculus isn’t the absence of usable functionality, it’s that the published interface isn’t a very good one and the more reliable interface, including things like finite_difference_hessian, isn’t exported.
To fix this, we need someone to come in and do some serious design work, where they'll rethink interfaces and remove out-dated functionality. As Tim Holy mentioned, the combination of the unpublished finite diference methods and automatic differentation methods in DualNumbers should get you very far. — John On Jan 21, 2014, at 7:20 AM, Tim Holy <[email protected]> wrote: > On Tuesday, January 21, 2014 05:32:13 AM Hans W Borchers wrote: >> When you say, Calculus is not developed much at the moment, >> maybe it's too early for me to change. > > Writing finite-differencing algorithms isn't that hard. That should not be a > make-or-break issue for your decision about whether to use Julia. > > But don't underestimate the automatic differentiation facilities that have > recently been added to Julia (https://github.com/scidom/DualNumbers.jl). > Basically, AD computes numerical derivatives without the roundoff error, by > defining a new numerical type that behaves somewhat similarly to complex > numbers but extracts the first derivative exactly. The key point is that it > is > a _numerical_ approach, so it doesn't rely on anything symbolic. The one > place > you can't use AD is when your function relies on calling out to C (because C > doesn't know about Julia's Dual type). But any function defined in Julia, > including special functions like elliptic integrals, etc, should be fine. > > For higher-order derivatives, you can do similar things with even more fancy > numerical types. Perhaps the new PowerSeries already does this? (I haven't > looked.) > > --Tim >
