Jukka Zitting wrote:
Hi,

On Sun, Apr 13, 2008 at 11:57 PM, Phil Steitz <[EMAIL PROTECTED]> wrote:
The idea is interesting and I see how it could be useful assuming it
could be made to work reliably and the
byte code <-> original function
differentiated byte code <-> analytical derivative
mapping could be shown to lift with decent numerics and performance
for a decent range of original functions.  That is not obvious to me,
but I have never thought about this kind of thing before.

I share the concern. It doesn't seem obvious that the derivatives of
the byte code operations would produce a computationally accurate
derivative of the source function. Other than that the idea is
interesting, and it would be cool to see how well it works in
practice.

Derivatives are computed by applying the classical exact differentiation rules ((f*g)' = f'*g + f*g' and friends) and by using the exact derivatives of all Math and StrictMath methods (including acosh, asinh and atanh which are still not available in current versions of Java). The results are as accurate as machine precision and errors propagation allow. That is to say the derivative is computed with an accuracy that is tightly related to the accuracy of the original function.

This part does work and the existing results show it. You will see them as soon as I can upload the project somewhere.


Also, the name "nabla" would suggest that the component is designed
for calculating derivatives of vector functions.

Yes, you are right. This is intended. The roadmap I followed up to now was the following one :
 - differentiate standalone univariate functions (i.e functions that do
   not call any other function except static known functions like
   Math.sin() or Math.log1p())
 - differentiate univariate functions that call other user functions
   (in same class or other classes)
 - differentiate multivariate functions (i.e compute jacobians and
   gradients)
 - differentiate several times

The first step is almost done. The other steps are not started but I hope to achieve them. The last one is really simple and is not really worth citing.

So you are right, vectors derivatives belong to the goal, but scalar derivatives too and represent the first step.

Luc


BR,

Jukka Zitting

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to