[ADOL-C] Incorrect calculus of hessian

Christian ChristianLupus at gmx.de
Tue Jul 5 14:23:25 EDT 2011


vom Tuesday 05 July 2011 14:34:33:
> Hi,
> two points lead to the wrong derivatives found by the
> derivative checker:
> 1) the recovery algorithm used for the sparse Hessian
>     you used in line 114/115
> 	options[0] = 0;
> 	options[1] = 1;  // meaning indirect recovery
>     the indirect recovery has the advantage that the number of
>     derivative compuations is smaller compared to the direct recovery.
>     However, there seems to be a bug in the recovery algorithm.
>     Since this is due to the ColPack I would like to report them on this
>     problem. Would it be OK for you if I send them your code as
>     example?
>     Using
> 	options[1] = 0;  // meaning direct recovery
>     works OK

You mean the other way around, don't you? If I use options[1]=0 I get the 
error with 1 I do not get it.

But thanks for that hint. The derivative checker work now fine.

As I posted the code online I have already published it. So there is not 
problem if you would send the code to the ColPack mantainers.

> 2) Unfortunately, ADOL-C is not consistent with handling symmetry.
>    The sparsity pattern returned by sparse_hessian provides information
>    for the upper half instead of the lower half as provided by the
>    hessian driver
>    Hence changing line 138  to
>           if(rindHess[i] < n && cindHess[i] >= rindHess[i]){
>    using >= instead of <= and line 545 to
>           if(rindHess[i] < n && cindHess[i] >= rindHess[i]){
>    again using >= instead of <=
> should do the job.

I think you have done some smaller changes. I get a malloc memory corruption 
when I change these two lines.
Would it be possible, if you send me your modified code so can make a diff on it 
versus my local version (maybe I have made a small change and forgotten)?

> At least on my computer the derivative checker does not report
> any error when incorporating these changes. I hope this is the
> same on yours.
> Best regards,
> Andrea Walther

Thanks a lot for that

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://list.coin-or.org/pipermail/adol-c/attachments/20110705/e1b15f05/attachment.bin 

More information about the ADOL-C mailing list