[Ipopt] derivative-check errors

Sourav Rakshit srakshit at mecheng.iisc.ernet.in
Sat Sep 5 01:04:28 EDT 2009


Dear all,

I am solving a problem in which the Hessian is a constant matrix. When I
put the Hessian I am getting errors like this:

*             obj_hess[  859,  834] =  9.0299999999999980e-01 v  ~
-6.6599830681424562e+13  [ 1.000e+00]
*             obj_hess[  859,  835] =  1.2600000000000000e+00 v  ~
-4.9849316915600086e+13  [ 1.000e+00]
*             obj_hess[  859,  836] =  1.5810000000000000e+00 v  ~
-4.6772604026706188e+13  [ 1.000e+00]
*             obj_hess[  859,  837] = -2.2699999999999987e-01 v  ~
-8.1964639092657484e+13  [ 1.000e+00]
*             obj_hess[  859,  838] =  3.3820000000000001e+00 v  ~
-3.3323919154622227e+13  [ 1.000e+00]
*             obj_hess[  859,  839] =  4.6299999999999999e+00 v  ~
-2.2568228567169316e+13  [ 1.000e+00]
*             obj_hess[  859,  840] =  0.0000000000000000e+00    ~
-3.4635076679925410e+13  [ 1.000e+00]
*             obj_hess[  859,  841] =  0.0000000000000000e+00    ~
-2.5382759707262531e+13  [ 1.000e+00]
*             obj_hess[  859,  842] =  0.0000000000000000e+00    ~
-1.6286066550290346e+13  [ 1.000e+00]
*             obj_hess[  859,  843] =  0.0000000000000000e+00    ~
-2.1178132864007645e+13  [ 1.000e+00]
*             obj_hess[  859,  844] =  0.0000000000000000e+00    ~
-2.2124360517394613e+13  [ 1.000e+00]
*             obj_hess[  859,  845] =  0.0000000000000000e+00    ~
-2.2159161074937977e+13  [ 1.000e+00]
*             obj_hess[  859,  846] =  0.0000000000000000e+00    ~
-2.8526221702762914e+13  [ 1.000e+00]
*             obj_hess[  859,  847] =  0.0000000000000000e+00    ~
-1.4620821979640861e+13  [ 1.000e+00]
*             obj_hess[  859,  848] =  0.0000000000000000e+00    ~
-7.7213987762791547e+13  [ 1.000e+00]
*             obj_hess[  859,  849] =  0.0000000000000000e+00    ~
-2.5575182033629027e+13  [ 1.000e+00]
*             obj_hess[  859,  850] =  0.0000000000000000e+00    ~
-2.9748799475902977e+13  [ 1.000e+00]
*             obj_hess[  859,  851] =  0.0000000000000000e+00    ~
-3.7042497648647523e+13  [ 1.000e+00]
*             obj_hess[  859,  852] =  0.0000000000000000e+00    ~
-6.3240519802614430e+13  [ 1.000e+00]
*             obj_hess[  859,  853] =  0.0000000000000000e+00    ~
-4.5325412696852742e+13  [ 1.000e+00]
*             obj_hess[  859,  854] =  0.0000000000000000e+00    ~
-4.2799068543300477e+13  [ 1.000e+00]
*             obj_hess[  859,  855] =  0.0000000000000000e+00    ~
-5.5375528983853742e+13  [ 1.000e+00]
*             obj_hess[  859,  856] =  0.0000000000000000e+00    ~
-3.6747614026011344e+13  [ 1.000e+00]
*             obj_hess[  859,  857] =  0.0000000000000000e+00    ~
-7.3630871482542625e+13  [ 1.000e+00]
*             obj_hess[  859,  858] =  0.0000000000000000e+00    ~
-3.0657023512046352e+13  [ 1.000e+00]
*             obj_hess[  859,  859] = -1.6051100000000000e+02 v  ~
-2.3293046799821371e+13  [ 1.000e+00]

Now according to the ipopt tutorial, the 1st column is the value supplied
by me , the second is the value calculated by ipopt by FD and the 3rd is
the difference between them. As can be seen here all the 2nd order
derivatives calculated by ipopt are of order e+13 which is not the case (I
know the hessian because its a constant matrix). Further the difference
between them is shown by ipopt to be 1.000e+00.
The program that I use for calculating hessian has been checked by coding
in matlab and there the programs output & FD calculations matched to an
order of e-4.
However, this is not the end; after calculating hessian ipopt is giving me
the following errors:

*** glibc detected *** ./seq2: double free or corruption (!prev):
0x0000000000f90cc0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x7f0809de5118]
/lib64/libc.so.6(cfree+0x76)[0x7f0809de6c76]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt11TNLPAdapter9GetSpacesERNS_8SmartPtrIKNS_11VectorSpaceEEES5_S5_S5_RNS1_IKNS_11MatrixSpaceEEES5_S9_S5_S9_S5_S9_S9_S9_RNS1_IKNS_14SymMatrixSpaceEEE+0x28b9)[0x7f080afd67c9]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt12OrigIpoptNLP20InitializeStructuresERNS_8SmartPtrINS_6VectorEEEbS4_bS4_bS4_bS4_bS4_S4_+0x19c8)[0x7f080b1f4e78]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt9IpoptData24InitializeDataStructuresERNS_8IpoptNLPEbbbbb+0x120)[0x7f080b1ca810]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt25DefaultIterateInitializer18SetInitialIteratesEv+0x3b)[0x7f080b18653b]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt14IpoptAlgorithm18InitializeIteratesEv+0x27)[0x7f080b19a177]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt14IpoptAlgorithm8OptimizeEb+0xc5)[0x7f080b1a1ae5]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication13call_optimizeEv+0x48a)[0x7f080afb850a]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication11OptimizeNLPERKNS_8SmartPtrINS_3NLPEEERNS1_INS_16AlgorithmBuilderEEE+0x170)[0x7f080afbd1c0]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication11OptimizeNLPERKNS_8SmartPtrINS_3NLPEEE+0x15)[0x7f080afbd6a5]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication12OptimizeTNLPERKNS_8SmartPtrINS_4TNLPEEE+0xd8)[0x7f080afbd7d8]
./seq2[0x403888]
/lib64/libc.so.6(__libc_start_main+0xe6)[0x7f0809d8f586]
./seq2[0x402e19]
======= Memory map: ========
00400000-0040f000 r-xp 00000000 08:06 75202                             
/home/sourav/atomistic_CE/ipopt_calc/1fc2/seq2
0060e000-0060f000 r--p 0000e000 08:06 75202                             
/home/sourav/atomistic_CE/ipopt_calc/1fc2/seq2
0060f000-00610000 rw-p 0000f000 08:06 75202                             
/home/sourav/atomistic_CE/ipopt_calc/1fc2/seq2
00610000-01653000 rw-p 00610000 00:00 0                                 
[heap]
7f0804000000-7f0804021000 rw-p 7f0804000000 00:00 0
7f0804021000-7f0808000000 ---p 7f0804021000 00:00 0
7f08091e8000-7f08095e9000 rw-p 7f08091e8000 00:00 0
7f0809890000-7f0809d71000 rw-p 7f0809890000 00:00 0
7f0809d71000-7f0809ec0000 r-xp 00000000 08:01 39254                     
/lib64/libc-2.9.so
7f0809ec0000-7f080a0c0000 ---p 0014f000 08:01 39254                     
/lib64/libc-2.9.so
7f080a0c0000-7f080a0c4000 r--p 0014f000 08:01 39254                     
/lib64/libc-2.9.so
7f080a0c4000-7f080a0c5000 rw-p 00153000 08:01 39254                     
/lib64/libc-2.9.so
7f080a0c5000-7f080a0ca000 rw-p 7f080a0c5000 00:00 0
7f080a0ca000-7f080a1bb000 r-xp 00000000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7f080a1bb000-7f080a3ba000 ---p 000f1000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7f080a3ba000-7f080a3c1000 r--p 000f0000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7f080a3c1000-7f080a3c3000 rw-p 000f7000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7f080a3c3000-7f080a3d6000 rw-p 7f080a3c3000 00:00 0
7f080a3d6000-7f080a3ec000 r-xp 00000000 08:01 1593                      
/lib64/libgcc_s.so.1
7f080a3ec000-7f080a5ec000 ---p 00016000 08:01 1593                      
/lib64/libgcc_s.so.1
7f080a5ec000-7f080a5ed000 r--p 00016000 08:01 1593                      
/lib64/libgcc_s.so.1
7f080a5ed000-7f080a5ee000 rw-p 00017000 08:01 1593                      
/lib64/libgcc_s.so.1
7f080a5ee000-7f080a643000 r-xp 00000000 08:01 39258                     
/lib64/libm-2.9.so
7f080a643000-7f080a842000 ---p 00055000 08:01 39258                     
/lib64/libm-2.9.so
7f080a842000-7f080a843000 r--p 00054000 08:01 39258                     
/lib64/libm-2.9.so
7f080a843000-7f080a844000 rw-p 00055000 08:01 39258                     
/lib64/libm-2.9.so
7f080a844000-7f080a91d000 r-xp 00000000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7f080a91d000-7f080ab1d000 ---p 000d9000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7f080ab1d000-7f080ab1e000 r--p 000d9000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7f080ab1e000-7f080ab1f000 rw-p 000da000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7f080ab1f000-7f080ab20000 rw-p 7f080ab1f000 00:00 0
7f080ab20000-7f080ab22000 r-xp 00000000 08:01 39257                     
/lib64/libdl-2.9.so
7f080ab22000-7f080ad22000 ---p 00002000 08:01 39257                     
/lib64/libdl-2.9.so
7f080ad22000-7f080ad23000 r--p 00002000 08:01 39257                     
/lib64/libdl-2.9.so
7f080ad23000-7f080ad24000 rw-p 00003000 08:01 39257                     
/lib64/libdl-2.9.so
7f080ad24000-7f080ad3a000 r-xp 00000000 08:01 1507                      
/lib64/libpthread-2.9.so
7f080ad3a000-7f080af3a000 ---p 00016000 08:01 1507                      
/lib64/libpthread-2.9.so
7f080af3a000-7f080af3b000 r--p 00016000 08:01 1507                      
/lib64/libpthread-2.9.so
7f080af3b000-7f080af3c000 rw-p 00017000 08:01 1507                      
/lib64/libpthread-2.9.so
7f080af3c000-7f080af40000 rw-p 7f080af3c000 00:00 0
7f080af40000-7f080b30b000 r-xp 00000000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7f080b30b000-7f080b50b000 ---p 003cb000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7f080b50b000-7f080b512000 r--p 003cb000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7f080b512000-7f080b516000 rw-p 003d2000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7f080b516000-7f080b519000 rw-p 7f080b516000 00:00 0
7f080b519000-7f080b537000 r-xp 00000000 08:01 492                       
/lib64/ld-2.9.so
7f080b537000-7f080b709000 rw-p 7f080b537000 00:00 0
7f080b709000-7f080b736000 rw-p 7f080b709000 00:00 0
7f080b736000-7f080b737000 r--p 0001d000 08:01 492                       
/lib64/ld-2.9.so
7f080b737000-7f080b738000 rw-p 0001e000 08:01 492                       
/lib64/ld-2.9.so
7fff13722000-7fff13738000 rw-p 7ffffffe9000 00:00 0                     
[stack]
7fff137fe000-7fff137ff000 r-xp 7fff137fe000 00:00 0                     
[vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                 
[vsyscall]
Aborted
------------------------------------------------------------------------
When I change derivative check from 2nd order to 1st order, the
derivatives are within my allowable range of tolerance, but I get same
sort of errors after derivative check.

 * grad_f[        699] = -4.0539172694440758e+01    ~
-4.1522434912621975e+01  [ 2.368e-02]
* grad_f[        719] = -1.4722877475944472e+02    ~
-1.4821416698396206e+02  [ 6.648e-03]
* grad_f[        722] = -1.6377505303903015e+02    ~
-1.6374688129872084e+02  [ 1.720e-04]
* grad_f[        727] = -1.5890521651240198e+02    ~
-1.5893019735813141e+02  [ 1.572e-04]
* grad_f[        739] = -1.4375978740513509e+02    ~
-1.4477118384093046e+02  [ 6.986e-03]
* grad_f[        759] = -1.0901939898187727e+02    ~
-1.1005031410604715e+02  [ 9.368e-03]
* grad_f[        767] = -1.2183813274347703e+02    ~
-1.2181772035546601e+02  [ 1.676e-04]
* grad_f[        779] = -3.6859019924140711e+02    ~
-3.6959390854462981e+02  [ 2.716e-03]
* grad_f[        839] = -2.6172559448786245e+02    ~
-2.6272755349054933e+02  [ 3.814e-03]
* grad_f[        859] = -2.7016352501996431e+02    ~
-2.7116984711028636e+02  [ 3.711e-03]

*** glibc detected *** ./seq1: double free or corruption (!prev):
0x0000000000f90cc0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x7fddffceb118]
/lib64/libc.so.6(cfree+0x76)[0x7fddffcecc76]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt11TNLPAdapter9GetSpacesERNS_8SmartPtrIKNS_11VectorSpaceEEES5_S5_S5_RNS1_IKNS_11MatrixSpaceEEES5_S9_S5_S9_S5_S9_S9_S9_RNS1_IKNS_14SymMatrixSpaceEEE+0x28b9)[0x7fde00edc7c9]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt12OrigIpoptNLP20InitializeStructuresERNS_8SmartPtrINS_6VectorEEEbS4_bS4_bS4_bS4_bS4_S4_+0x19c8)[0x7fde010fae78]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt9IpoptData24InitializeDataStructuresERNS_8IpoptNLPEbbbbb+0x120)[0x7fde010d0810]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt25DefaultIterateInitializer18SetInitialIteratesEv+0x3b)[0x7fde0108c53b]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt14IpoptAlgorithm18InitializeIteratesEv+0x27)[0x7fde010a0177]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt14IpoptAlgorithm8OptimizeEb+0xc5)[0x7fde010a7ae5]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication13call_optimizeEv+0x48a)[0x7fde00ebe50a]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication11OptimizeNLPERKNS_8SmartPtrINS_3NLPEEERNS1_INS_16AlgorithmBuilderEEE+0x170)[0x7fde00ec31c0]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication11OptimizeNLPERKNS_8SmartPtrINS_3NLPEEE+0x15)[0x7fde00ec36a5]
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0(_ZN5Ipopt16IpoptApplication12OptimizeTNLPERKNS_8SmartPtrINS_4TNLPEEE+0xd8)[0x7fde00ec37d8]
./seq1[0x403888]
/lib64/libc.so.6(__libc_start_main+0xe6)[0x7fddffc95586]
./seq1[0x402e19]
======= Memory map: ========
00400000-0040f000 r-xp 00000000 08:06 95533                             
/home/sourav/atomistic_CE/ipopt_calc/1fc2/seq1
0060e000-0060f000 r--p 0000e000 08:06 95533                             
/home/sourav/atomistic_CE/ipopt_calc/1fc2/seq1
0060f000-00610000 rw-p 0000f000 08:06 95533                             
/home/sourav/atomistic_CE/ipopt_calc/1fc2/seq1
00610000-01653000 rw-p 00610000 00:00 0                                 
[heap]
7fddf8000000-7fddf8021000 rw-p 7fddf8000000 00:00 0
7fddf8021000-7fddfc000000 ---p 7fddf8021000 00:00 0
7fddff0ee000-7fddff4ef000 rw-p 7fddff0ee000 00:00 0
7fddff796000-7fddffc77000 rw-p 7fddff796000 00:00 0
7fddffc77000-7fddffdc6000 r-xp 00000000 08:01 39254                     
/lib64/libc-2.9.so
7fddffdc6000-7fddfffc6000 ---p 0014f000 08:01 39254                     
/lib64/libc-2.9.so
7fddfffc6000-7fddfffca000 r--p 0014f000 08:01 39254                     
/lib64/libc-2.9.so
7fddfffca000-7fddfffcb000 rw-p 00153000 08:01 39254                     
/lib64/libc-2.9.so
7fddfffcb000-7fddfffd0000 rw-p 7fddfffcb000 00:00 0
7fddfffd0000-7fde000c1000 r-xp 00000000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7fde000c1000-7fde002c0000 ---p 000f1000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7fde002c0000-7fde002c7000 r--p 000f0000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7fde002c7000-7fde002c9000 rw-p 000f7000 08:01 24016                     
/usr/lib64/libstdc++.so.6.0.10
7fde002c9000-7fde002dc000 rw-p 7fde002c9000 00:00 0
7fde002dc000-7fde002f2000 r-xp 00000000 08:01 1593                      
/lib64/libgcc_s.so.1
7fde002f2000-7fde004f2000 ---p 00016000 08:01 1593                      
/lib64/libgcc_s.so.1
7fde004f2000-7fde004f3000 r--p 00016000 08:01 1593                      
/lib64/libgcc_s.so.1
7fde004f3000-7fde004f4000 rw-p 00017000 08:01 1593                      
/lib64/libgcc_s.so.1
7fde004f4000-7fde00549000 r-xp 00000000 08:01 39258                     
/lib64/libm-2.9.so
7fde00549000-7fde00748000 ---p 00055000 08:01 39258                     
/lib64/libm-2.9.so
7fde00748000-7fde00749000 r--p 00054000 08:01 39258                     
/lib64/libm-2.9.so
7fde00749000-7fde0074a000 rw-p 00055000 08:01 39258                     
/lib64/libm-2.9.so
7fde0074a000-7fde00823000 r-xp 00000000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7fde00823000-7fde00a23000 ---p 000d9000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7fde00a23000-7fde00a24000 r--p 000d9000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7fde00a24000-7fde00a25000 rw-p 000da000 08:01 52452                     
/usr/lib64/libgfortran.so.3.0.0
7fde00a25000-7fde00a26000 rw-p 7fde00a25000 00:00 0
7fde00a26000-7fde00a28000 r-xp 00000000 08:01 39257                     
/lib64/libdl-2.9.so
7fde00a28000-7fde00c28000 ---p 00002000 08:01 39257                     
/lib64/libdl-2.9.so
7fde00c28000-7fde00c29000 r--p 00002000 08:01 39257                     
/lib64/libdl-2.9.so
7fde00c29000-7fde00c2a000 rw-p 00003000 08:01 39257                     
/lib64/libdl-2.9.so
7fde00c2a000-7fde00c40000 r-xp 00000000 08:01 1507                      
/lib64/libpthread-2.9.so
7fde00c40000-7fde00e40000 ---p 00016000 08:01 1507                      
/lib64/libpthread-2.9.so
7fde00e40000-7fde00e41000 r--p 00016000 08:01 1507                      
/lib64/libpthread-2.9.so
7fde00e41000-7fde00e42000 rw-p 00017000 08:01 1507                      
/lib64/libpthread-2.9.so
7fde00e42000-7fde00e46000 rw-p 7fde00e42000 00:00 0
7fde00e46000-7fde01211000 r-xp 00000000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7fde01211000-7fde01411000 ---p 003cb000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7fde01411000-7fde01418000 r--p 003cb000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7fde01418000-7fde0141c000 rw-p 003d2000 08:06 45979                     
/home/sourav/IPOPT/CoinIpopt/lib/libipopt.so.0.0.0
7fde0141c000-7fde0141f000 rw-p 7fde0141c000 00:00 0
7fde0141f000-7fde0143d000 r-xp 00000000 08:01 492                       
/lib64/ld-2.9.so
7fde0143d000-7fde0160f000 rw-p 7fde0143d000 00:00 0
7fde0160f000-7fde0163c000 rw-p 7fde0160f000 00:00 0
7fde0163c000-7fde0163d000 r--p 0001d000 08:01 492                       
/lib64/ld-2.9.so
7fde0163d000-7fde0163e000 rw-p 0001e000 08:01 492                       
/lib64/ld-2.9.so
7fff09628000-7fff0963e000 rw-p 7ffffffe9000 00:00 0                     
[stack]
7fff097fe000-7fff097ff000 r-xp 7fff097fe000 00:00 0                     
[vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                 
[vsyscall]
Aborted
--------------------------------------------------------------
However, if I switch off derivative check, optimization goes ahead and
gives me fine results.
Now, if in eval_h function I do not provide any sparsity structure of
hessian or any values but only state :

Ipopt::TNLP::eval_h(n,x,new_x,obj_factor,m,lambda,new_lambda,nele_hess,iRow,jCol,values);

First order derivative check gives no errors and optimization progress
fine.If I put derivative check to second order, then I get errors for
derivative check (which I should get as I am providing no hessian) but
after that optimization starts and finishes the job.

I am very much perplexed by these results and will be thankful if anybody
can put light on them.

sincerely,
Sourav Rakshit





-- 
S.Rakshit
PhD student
Mechanical Engg. Dept.
IISc

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the Ipopt mailing list