<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi. <br></div><div><br></div><div>I tried the derivative check. Frequently, I see lots of zeros in the finite difference estimations of Ipopt.  <br></div><div><br></div><div>Is that normal? <br></div><div><br></div><div>When the first derivative is incorrect, I also don't get result for 2nd derivative check.<br></div><div><br></div><div>The first derivatives shouldn't have that many zeros unless I am horribly wrong.<br></div><div><br></div><div>When I see the error for the first time, I thought I made mistakes.  I wrote my own finite difference checker to check all routines. Re-derived all equations for several times with pencil and paper and later Mathematica. The finite difference checker that I wrote would use a smaller and smaller difference (half of last iteration) until the check is correct for 3 consecutive iterations.<br></div><div><br></div><font size="1"><span style="font-family:monospace,monospace">Starting derivative checker for first derivatives.<br><br>* grad_f[          0] =  1.1842907632351778e+01    ~  0.0000000000000000e+00  [ 1.184e+01]<br>* grad_f[          1] =  1.2460424906788026e-01    ~  0.0000000000000000e+00  [ 1.246e-01]<br>* grad_f[          2] =  1.0472805499858380e+00    ~  0.0000000000000000e+00  [ 1.047e+00]<br>* grad_f[          3] =  6.9931703730830419e-01    ~  0.0000000000000000e+00  [ 6.993e-01]<br>* grad_f[          4] =  2.4718739239530851e-01    ~  0.0000000000000000e+00  [ 2.472e-01]<br>* grad_f[          5] =  1.5221697258770076e+01    ~  0.0000000000000000e+00  [ 1.522e+01]<br>* grad_f[          6] =  2.5724843958348642e+00    ~  0.0000000000000000e+00  [ 2.572e+00]<br>* grad_f[          7] =  1.5711814169401492e+01    ~  4.7683715820312500e+01  [ 6.705e-01]<br>* grad_f[          8] = -1.9468098702340781e+00    ~  0.0000000000000000e+00  [ 1.947e+00]<br>* grad_f[         12] =  1.5052015333215602e+04    ~  1.5020370483398438e+04  [ 2.107e-03]<br>* grad_f[         13] =  9.0539372794162846e+03    ~  9.0599060058593750e+03  [ 6.588e-04]<br>* grad_f[         14] =  2.0330803745533816e+04    ~  2.0313262939453125e+04  [ 8.635e-04]<br>* grad_f[         30] = -2.2537556863763431e+04    ~ -2.2554397583007812e+04  [ 7.467e-04]<br>* grad_f[         31] =  9.3473397836600474e+04    ~  9.3460083007812500e+04  [ 1.425e-04]<br>* grad_f[         32] =  2.4648223780746073e+04    ~  2.4652481079101562e+04  [ 1.727e-04]<br>Starting derivative checker for second derivatives.<br><br><br>Derivative checker detected 15 error(s).</span></font></div></div></div></div></div>