[CppAD] gradient of vector-valued function

Norman Goldstein normvcr at telus.net
Tue Feb 12 18:57:27 EST 2013


That's great, thanks!


On 02/11/2013 07:19 PM, Brad Bell wrote:
> The work for computing the Jacobian involves repeated first order 
> calls to either f.Forward(1, u) or f.Reverse(1, v).
> See the functions JacobianFor and JacobianRev in
> https://projects.coin-or.org/CppAD/browser/trunk/cppad/local/jacobian.hpp
> Each of these forward and reverse mode calls involves about the same 
> amount of work.
>
> On the other hand
>     w^T * f.Jacobain(x)
> can be computed with one f.Reverse(1, w) call. See
>     http://www.coin-or.org/CppAD/Doc/reverse_one.xml
>
>
> On 02/11/2013 02:29 AM, Norman Goldstein wrote:
>> The Hessian driver
>>
>> hes = f.Hessian(x, w)
>>
>> is very convenient for a function F : B^n --> B^m
>>
>> I did not find in the CppAD documentation a similar call
>>
>> grad = f.Gradient(x, w )
>>
>> Of course, this is the same as
>>
>> w^t * f.Jacobian(x)
>>
>> but would avoid calculating the full jacobian.
>>
>> ??
>>
>> Thank you.
>> _______________________________________________
>> CppAD mailing list
>> CppAD at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/cppad
>>
>
> _______________________________________________
> CppAD mailing list
> CppAD at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cppad
>



More information about the CppAD mailing list