[ADOL-C] Possible bugs in ADOL-C

Mu Wang wangmu0701 at gmail.com
Wed Nov 5 16:14:54 EST 2014


Hi Christian,

>From the result, I didn't see any incorrectness. In B=HS, there H is the
whole Hessian, not just the lower half.
When recovering H from B, using direct recovery guarantees that every entry
in H can be directly copied from an entry in B. ColPack handles the
details. I don't think there is a simple relation one can say other than
that.


On Wed, Nov 5, 2014 at 8:09 AM, Christian Wolf <ChristianLupus at gmx.de>
wrote:

> Hello,
>
> I am trying to build/use ADOL-C and I am running into the following issues:
>
> 1. I built colpack with MPI (--enable-openmp) support. To allow ADOL-C to
> compile I have to use
> > LIBS=-lgopm ./configure ....
> 2. The documentation seems (at least with respect to the sparse driver) a
> bit outdated/buggy.
> 3. (The main bug (?)) As far as I understand things the compresses hessian
> matrix (called for example "B") must fullfill the equation B = H S where S
> is the seed matrix. Please correct me if this is not correct.
>
> I tried with various builds (2.4.1 and trunk) to compile and run the
> program ADOL-C/examples/additional_examples/sparse/sparse_hessian. Just
> by looking at the output (no modifications to the SVN version) of the
> default output I get
>
> Sparsity pattern of Hessian:
>  0:  0  1
>  1:  0  1  4
>  2:  2  5
>  3:  3
>  4:  1  4  5
>  5:  2  4  5
>
>  Seed matrix
>
>  0:      1.0000      0.0000      0.0000      0.0000
>  1:      0.0000      1.0000      0.0000      0.0000
>  2:      1.0000      0.0000      0.0000      0.0000
>  3:      1.0000      0.0000      0.0000      0.0000
>  4:      1.0000      0.0000      0.0000      0.0000
>  5:      0.0000      0.0000      1.0000      0.0000
>
> <snip>
>
>  H
>
>  0:      1.0000      0.0000      0.0000      0.0000      0.0000 0.0000
>  1:      5.0000      3.5787      0.0000      0.0000      0.0000 0.0000
>  2:      0.0000      0.0000      1.8000      0.0000      0.0000 0.0000
>  3:      0.0000      0.0000      0.0000     -0.9602      0.0000 0.0000
>  4:      0.0000     -0.5820      0.0000      0.0000     95.4314 0.0000
>  5:      0.0000      0.0000  22026.4658      0.0000     79.4007 88169.4721
>
> compressed H: (Here called B)
>
>  0:      1.0000      5.0000      0.0000      0.0000
>  1:      4.4180      3.5787      0.0000      0.0000
>  2:      1.8000      0.0000  22026.4658      0.0000
>  3:     -0.9602      0.0000      0.0000      0.0000
>  4:     95.4314     -0.5820     79.4007      0.0000
>  5:  22105.8665      0.0000  88169.4721      0.0000
>
> Clearly the sparsity pattern is correct (while H shows only the lower
> triangle). On manually evaluating the value B[1][0] I get a value of 5.
>
> In [1] the author writes that there are several ways to choose the seed
> matrtix. At the moment it seems to be constructed that the i-th row of B
> and the j-th column of the seed matrix must be multiplyed (matrix or scalar
> product) to obtain H[i][j]. This is (as far as I think) related to the fact
> that at the moment the direct approach is used (only permutation of identy
> matrix).
> Can I rely on this fact that there will be no change in the future to the
> default behavior?
>
> Thanks a lot
> Christian
>
>
> [1] "Computing Sparse Hessians with Automatic Differentiation" from ANDREA
> WALTHER at the Institute of Scientific Computing, Technische Universität
> Dresden
>
> _______________________________________________
> ADOL-C mailing list
> ADOL-C at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/adol-c




-- 
Mu Wang, Ph.D. Candidate
HASS 257, Department of Computer Science
Purdue University -- West Lafayette
wangmu0701 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/adol-c/attachments/20141105/c8b6eb3a/attachment.html>


More information about the ADOL-C mailing list