# [Ipopt] IPOPT derivative checker

Marco Rozgic marco.rozgic at hsu-hh.de
Wed Mar 14 12:13:43 EDT 2012

```Hey Atri,
maybe I am wrong but I think you should not bother. The derivative
checks are performed by finite differences and thus numerical errors in
this range are just normal. When there are no errors with 10^-8 accuracy
you can conclude that your derivatives are correct.
Best,
Marco Rozgic
On 14.03.12 16:32, Atri Dutta wrote:
> Hi,
>
> I have started using IPOPT (3.10) recently and I have a question about the derivative checker in IPOPT. For the problem I am trying to solve, I used the derivative checker to validate the Jacobian and Hessian matrices I provided. I have provided exact expressions for the derivatives and the first-order and second-order derivative checkers yield no error. However, when I change the default value (which I believe is 10^-8) of relative value of perturbation to 10^-11 by setting options.ipopt.derivative_test_perturbation = 1e-11, the derivative checker yields 5 errors, e.g.
>
> * jac_g [   28,    1] = -1.8224453361523556e+00 v  ~ -1.8226593993855391e+00  [ 1.174e-04]
> * jac_g [   31,    5] = -1.2191598536919732e+00 v  ~ -1.2192913345643319e+00  [ 1.078e-04]
> * jac_g [   16,   47] =  6.3458246639357195e-04 v  ~  5.3290705182007514e-04  [ 1.017e-04]
> * jac_g [   16,   48] = -1.4383040775181648e-04 v  ~ -2.6645352591003757e-04  [ 1.226e-04]
> * jac_g [   16,   97] =  3.8229219906022398e-04 v  ~  2.6645352591003757e-04  [ 1.158e-04]
>
> Note that options.ipopt.derivative_test_perturbation = 1e-10 yields no error, while options.ipopt.derivative_test_perturbation = 1e-12 drastically increases the number of errors in first-order derivatives to 170. I was wondering what this means, and if this can have any implication on solution of the problem I am trying to solve.
>
> Thanks,
> Atri.
>
> PS: Some details about the test problem for which I was checking the derivatives:
> Number of nonzeros in equality constraint Jacobian...:      521
> Number of nonzeros in inequality constraint Jacobian.:        0
> Number of nonzeros in Lagrangian Hessian.............:      198
>
> Total number of variables............................:       91
>                       variables with only lower bounds:        0
>                  variables with lower and upper bounds:       91
>                       variables with only upper bounds:        0
> Total number of equality constraints.................:       63
> Total number of inequality constraints...............:        0
>          inequality constraints with only lower bounds:        0
>     inequality constraints with lower and upper bounds:        0
>          inequality constraints with only upper bounds:        0
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

```