[CppAD] Using existing derivative code combined with AD

Brad Bell bradbell at seanet.com
Fri Jan 7 11:34:27 EST 2011


Perhaps Dominik's reply below answered your question, or perhaps you 
were looking for something simpler. For example, use AD to compute 
derivatives of f(g, x, y) and then use the change rule, and your 
knowledge of the derivatives of g, to get the derivatives of f[ g(x), x, 
y ] ?

On 1/5/2011 2:18 AM, Dominik Skanda wrote:
> Hello,
> yes this possible with CppAD, I did it myself for the sensitivity
> generation of a BDF Method. I applied only CppAD to the righthandside
> funtion of the ODE.  The Computation of the Taylor Coefficients of the
> BDF integration scheme (including finding a root of a nonlinear
> equation) are computed by myself without CppAD. For the forward mode
> this is straightforward, while for the reverse mode I used
> http://www.coin-or.org/CppAD/Doc/checkpoint.cpp.xml.
>
> regards
> Dominik
>
>
>
>
>
>
> Am Mittwoch, den 05.01.2011, 14:53 +1100 schrieb Scott Foster:
>> Hi,
>>
>> I have a function of the form f(g(x),x,y), which has a scalar outcome.
>> The function g(x) requires iteration and can't be auto-differentiated
>> easily but its derivative can be found using other methods (numerical).
>>     The function f(.,.,.) is pretty horrible in itself but it is a
>> predefined sequence of operations and is an ideal candidate for AD.
>>
>> So, what I want to do is to use AD to differentiate f(.,.,.) but to tell
>> CppAD, somehow, to use the hard-wired code whenever it comes across
>> g(x).  I do not know how to do this.  It is what I want to learn how to do.
>>
>> I'm assuming that this is a pretty common problem but I haven't been
>> able to find any mention in the documentation.  Of course, that doesn't
>> mean that it isn't there -- just that I haven't found it:-)
>>
>> Any help would be very appreciated.
>>
>> Scott
>>
>
> _______________________________________________
> CppAD mailing list
> CppAD at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cppad
>



More information about the CppAD mailing list