Failed to calculate (e^x)'

Mar 30, 2011 at 10:32 AM

Hi,

I tried to execute your example, but the calculation of the gradient failed. Even when I set var func = TermBuilder.Exp(x) the derivation is not correct and even not defined for negative values of x.

What's wrong? Thanks for your answer!

Enza

Coordinator
Apr 3, 2011 at 8:15 PM

Which version?

I had a problem with e^x once and I fixed it after 0.2 was released. If it was 0.2, then it was fixed in 0.3.

Have fun!!

Apr 6, 2011 at 6:37 AM

Thank you very much! I used version 0.2, in 0.3 it works fine.

Is it also possible to differentiate functions that are not given in an analytical form?

Enza

 

Coordinator
Apr 6, 2011 at 7:06 AM

Right now it is not.

I do plan to add the ability to provide user-defined unary or binary functions. The user will provide a delegate to compute the value and the partial derivatives. Then the user will be able to compose his terms out of these functions and differentiate the terms.

 

I have a question myself - what is your usage scenario? What are you trying to optimize?

Alex.

Apr 8, 2011 at 7:05 AM

Hi Alex,

I'm working on a mesh optimization algorithm that needs the derivatives of my geometry functions. Right now I'm using an Aitken-Neville-algorithm with devided central differences to calculate them (found in the book Numerical Recipes), but it really slows down my algorithm. So I wondered if there is some code that can do it much faster. I looked around and found many libraries for numerical integration but no C#-libraries for numerical derivation.

A few days ago, I discoverd http://ooot.codeplex.com/. It looks very interesting because the derivatives can be either provided by the user or be calculated by the algorithm. But I hadn't still the time to try those algorithms with my functions.

Best regards,

Enza

 

Coordinator
Apr 8, 2011 at 1:35 PM

So we both work on the same subject - geometric modelling. Good luck!

I also encountered OOOT. As you can see, it's one of my "related projects" in AutoDiff homepage.

 

Alex.