summaryrefslogtreecommitdiff
path: root/modules/optimization/tests
diff options
context:
space:
mode:
authorShashank2017-05-29 12:40:26 +0530
committerShashank2017-05-29 12:40:26 +0530
commit0345245e860375a32c9a437c4a9d9cae807134e9 (patch)
treead51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/optimization/tests
downloadscilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz
scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2
scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip
CMSCOPE changed
Diffstat (limited to 'modules/optimization/tests')
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_10269.dia.ref44
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_10269.tst53
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_11452.dia.ref28
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_11452.tst31
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12080.dia.ref69
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12080.tst72
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12111.dia.ref23
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12111.tst23
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12702.dia.ref2485
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12702.linux32.dia.ref2761
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12702.tst37
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_12702.win.dia.ref2485
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_13092.dia.ref31
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_13092.tst34
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_13116.dia.ref65
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_13116.tst74
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_13243.dia.ref69
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_13243.tst36
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_1456.dia.ref46
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_1456.tst43
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_2330.dia.ref32
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_2330.tst37
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_2435.dia.ref17
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_2435.tst26
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_244.dia.ref160
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_244.tst173
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_2573.dia.ref39
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_2573.tst47
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3056.dia.ref84
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3056.tst98
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3161.dia.ref30
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3161.tst41
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3244.dia.ref57
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3244.tst75
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3348.dia.ref27
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3348.tst33
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3770.dia.ref220
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_3770.tst190
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4083.dia.ref45
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4083.tst37
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4433.dia.ref20
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4433.tst23
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4638.dia.ref251
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4638.tst253
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4925.dia.ref54
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_4925.tst27
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_632.dia.ref51
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_632.tst61
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_6947.tst24
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_7093.dia.ref23
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_7093.tst24
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_7093_v5.dia.ref24
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_7093_v5.tst26
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8160.dia.ref52
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8160.tst40
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8546.dia.ref59
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8546.tst40
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8547.dia.ref52
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8547.tst54
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8549.dia.ref29
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8549.tst30
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8719.dia.ref31
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8719.tst34
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8720.dia.ref26
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8720.tst29
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8726.dia.ref27
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8726.tst31
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8727.dia.ref40
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8727.tst46
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8775.dia.ref26
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8775.tst30
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8777.dia.ref70
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8777.tst74
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8805.dia.ref98
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_8805.tst70
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9208.dia.ref348
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9208.tst61
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9537.dia.ref156
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9537.tst76
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9538.dia.ref233
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9538.tst81
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9566.dia.ref72
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9566.tst75
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9577.dia.ref26
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9577.tst27
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9627.dia.ref139
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9627.tst156
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9688.dia.ref41
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9688.tst42
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9690.dia.ref2487
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9690.linux32.dia.ref2763
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9690.tst39
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9690.win.dia.ref2487
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9697.dia.ref65
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9697.tst47
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9701.dia.ref36
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9701.tst40
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9788.dia.ref51
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9788.tst45
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9811.dia.ref40
-rwxr-xr-xmodules/optimization/tests/nonreg_tests/bug_9811.tst40
-rwxr-xr-xmodules/optimization/tests/unit_tests/25FV47.SIF6937
-rwxr-xr-xmodules/optimization/tests/unit_tests/colnew.dia.ref16
-rwxr-xr-xmodules/optimization/tests/unit_tests/colnew.tst25
-rwxr-xr-xmodules/optimization/tests/unit_tests/derivative.dia.ref214
-rwxr-xr-xmodules/optimization/tests/unit_tests/derivative.linux.dia.ref214
-rwxr-xr-xmodules/optimization/tests/unit_tests/derivative.tst135
-rwxr-xr-xmodules/optimization/tests/unit_tests/fsolve.dia.ref18
-rwxr-xr-xmodules/optimization/tests/unit_tests/fsolve.tst21
-rwxr-xr-xmodules/optimization/tests/unit_tests/karmarkar.dia.ref606
-rwxr-xr-xmodules/optimization/tests/unit_tests/karmarkar.tst620
-rwxr-xr-xmodules/optimization/tests/unit_tests/lmisolver.dia.ref60
-rwxr-xr-xmodules/optimization/tests/unit_tests/lmisolver.tst41
-rwxr-xr-xmodules/optimization/tests/unit_tests/lmitool.dia.ref65
-rwxr-xr-xmodules/optimization/tests/unit_tests/lmitool.tst47
-rwxr-xr-xmodules/optimization/tests/unit_tests/lsqrsolve.dia.ref30
-rwxr-xr-xmodules/optimization/tests/unit_tests/lsqrsolve.tst39
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/fminsearch.dia.ref294
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/fminsearch.tst177
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/fminsearch_output.dia.ref220
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/fminsearch_output.tst191
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.dia.ref36
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.tst37
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_configure.dia.ref217
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_configure.tst175
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.dia.ref86
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.tst34
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.dia.ref411
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.tst435
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.dia.ref378
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.tst387
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.dia.ref56
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.tst69
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.dia.ref75
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.tst77
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.dia.ref423
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.tst77
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.dia.ref157
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.tst180
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_restart.dia.ref67
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_restart.tst65
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.dia.ref595
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.tst358
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_search.dia.ref102
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_search.tst110
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.dia.ref97
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.tst114
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.dia.ref131
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.tst142
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.dia.ref316
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.tst116
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.dia.ref224
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.tst91
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.dia.ref268
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.tst82
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.dia.ref141
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.tst146
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.dia.ref30
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.tst36
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.dia.ref31
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.tst38
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.dia.ref64
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.tst72
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.dia.ref54
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.tst49
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_contour.dia.ref59
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_contour.tst70
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.tst51
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.unix.dia.ref56
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.win.dia.ref56
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.dia.ref80
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.tst86
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/optimget.dia.ref62
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/optimget.tst69
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/optimset.dia.ref101
-rwxr-xr-xmodules/optimization/tests/unit_tests/neldermead/optimset.tst106
-rwxr-xr-xmodules/optimization/tests/unit_tests/numderivative.dia.ref468
-rwxr-xr-xmodules/optimization/tests/unit_tests/numderivative.tst484
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_costflist.dia.ref59
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_costflist.tst66
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_matrix.dia.ref38
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_matrix.tst42
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_scilabscript.dia.ref1435
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_scilabscript.tst193
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_sourcec.dia.ref76
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_sourcec.tst81
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_sourcefortran1.dia.ref79
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_sourcefortran1.tst86
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_sourcefortran2.dia.ref167
-rwxr-xr-xmodules/optimization/tests/unit_tests/optim_sourcefortran2.tst174
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.dia.ref40
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.tst46
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.dia.ref231
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.tst246
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.dia.ref98
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.tst98
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_function.dia.ref328
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_function.tst351
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.dia.ref26
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.tst30
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.dia.ref135
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.tst133
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.dia.ref156
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.tst160
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.dia.ref132
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.tst132
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_log.dia.ref60
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_log.tst68
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.dia.ref361
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.tst292
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.dia.ref37
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.tst40
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.dia.ref94
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.tst104
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.dia.ref25
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.tst31
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.dia.ref169
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.tst174
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.dia.ref87
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.tst93
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.dia.ref41
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.tst45
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.dia.ref41
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.tst45
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.dia.ref38
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.tst43
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.dia.ref35
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.tst40
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.dia.ref34
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.tst38
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.dia.ref23
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.tst27
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.dia.ref256
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.tst256
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.dia.ref53
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.tst57
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.dia.ref185
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.tst157
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.dia.ref76
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.tst82
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.dia.ref68
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.tst77
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.dia.ref95
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.tst92
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.dia.ref87
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.tst95
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.dia.ref90
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.tst97
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.dia.ref63
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.tst69
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.dia.ref40
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.tst45
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.dia.ref57
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.tst67
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.dia.ref49
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.tst54
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.dia.ref73
-rwxr-xr-xmodules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.tst79
-rwxr-xr-xmodules/optimization/tests/unit_tests/pack.dia.ref82
-rwxr-xr-xmodules/optimization/tests/unit_tests/pack.tst86
-rwxr-xr-xmodules/optimization/tests/unit_tests/qld.dia.ref28
-rwxr-xr-xmodules/optimization/tests/unit_tests/qld.tst33
-rwxr-xr-xmodules/optimization/tests/unit_tests/qpsolve.dia.ref93
-rwxr-xr-xmodules/optimization/tests/unit_tests/qpsolve.tst107
-rwxr-xr-xmodules/optimization/tests/unit_tests/readmps.dia.ref107
-rwxr-xr-xmodules/optimization/tests/unit_tests/readmps.tst65
-rwxr-xr-xmodules/optimization/tests/unit_tests/semidef.dia.ref99
-rwxr-xr-xmodules/optimization/tests/unit_tests/semidef.tst92
-rwxr-xr-xmodules/optimization/tests/unit_tests/test1.mps25
-rwxr-xr-xmodules/optimization/tests/unit_tests/unpack.dia.ref37
-rwxr-xr-xmodules/optimization/tests/unit_tests/unpack.tst39
271 files changed, 50301 insertions, 0 deletions
diff --git a/modules/optimization/tests/nonreg_tests/bug_10269.dia.ref b/modules/optimization/tests/nonreg_tests/bug_10269.dia.ref
new file mode 100755
index 000000000..26d354bc2
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_10269.dia.ref
@@ -0,0 +1,44 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- Non-regression test for bug 10269 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10269
+//
+// <-- Short Description -->
+// qp_solve can now take up to 5 output arguments. The last one is an error flag,
+// if it is present, then the function will issue a warning instead of an error.
+// Run with test_run('optimization', 'bug_10269', ['no_check_error_output'])
+C1 = [1, -1, 2; -1, 0, 5; 1, -3, 3; 0, -4, 0; 3, 5, 1; 1, 6, 0];
+b1 = [1; 2; 3];
+// x'*C2 >= b2 (2 inequality constraints)
+C2 = [0 ,1; -1, 0; 0, -2; -1, -1; -2, -1; 1, 0];
+b2 = [1; -2.5];
+// and minimize 0.5*x'*Q*x - p'*x with
+p = [-1; -2; -3; -4; -5; -6]; Q = eye(6, 6);
+me = 3;
+// Normal behavior
+[x, iact, iter, f] = qp_solve(Q, p, [C1 C2], [b1; b2], me);
+assert_checkequal(iter, [5; 0]);
+assert_checkalmostequal(f, -14.843248, 1e-5);
+// Still normal, but with error flag
+[x, iact, iter, f, info] = qp_solve(Q, p, [C1 C2], [b1; b2], me);
+assert_checkequal(info, 0);
+assert_checkequal(iter, [5; 0]);
+assert_checkalmostequal(f, -14.843248, 1e-5);
+// Provoked error, without flag
+Q = rand(6, 6);
+refMsg = msprintf(_("%s: Q is not symmetric positive definite.\n"), "qp_solve");
+assert_checkerror("[x, iact, iter, f] = qp_solve(Q, p, [C1 C2], [b1; b2], me);", refMsg);
+// Provoked error, with flag
+[x, iact, iter, f, info] = qp_solve(Q, p, [C1 C2], [b1; b2], me);
+
+qp_solve: Warning: Q is not symmetric positive definite. The results may be inaccurate.
+
+assert_checkequal(info, 2);
diff --git a/modules/optimization/tests/nonreg_tests/bug_10269.tst b/modules/optimization/tests/nonreg_tests/bug_10269.tst
new file mode 100755
index 000000000..5fcc71f1a
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_10269.tst
@@ -0,0 +1,53 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// <-- Non-regression test for bug 10269 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=10269
+//
+// <-- Short Description -->
+// qp_solve can now take up to 5 output arguments. The last one is an error flag,
+// if it is present, then the function will issue a warning instead of an error.
+
+// Run with test_run('optimization', 'bug_10269', ['no_check_error_output'])
+
+C1 = [1, -1, 2; -1, 0, 5; 1, -3, 3; 0, -4, 0; 3, 5, 1; 1, 6, 0];
+b1 = [1; 2; 3];
+
+// x'*C2 >= b2 (2 inequality constraints)
+C2 = [0 ,1; -1, 0; 0, -2; -1, -1; -2, -1; 1, 0];
+b2 = [1; -2.5];
+
+// and minimize 0.5*x'*Q*x - p'*x with
+p = [-1; -2; -3; -4; -5; -6]; Q = eye(6, 6);
+me = 3;
+
+// Normal behavior
+[x, iact, iter, f] = qp_solve(Q, p, [C1 C2], [b1; b2], me);
+assert_checkequal(iter, [5; 0]);
+assert_checkalmostequal(f, -14.843248, 1e-5);
+
+// Still normal, but with error flag
+[x, iact, iter, f, info] = qp_solve(Q, p, [C1 C2], [b1; b2], me);
+assert_checkequal(info, 0);
+assert_checkequal(iter, [5; 0]);
+assert_checkalmostequal(f, -14.843248, 1e-5);
+
+// Provoked error, without flag
+Q = rand(6, 6);
+refMsg = msprintf(_("%s: Q is not symmetric positive definite.\n"), "qp_solve");
+assert_checkerror("[x, iact, iter, f] = qp_solve(Q, p, [C1 C2], [b1; b2], me);", refMsg);
+
+// Provoked error, with flag
+[x, iact, iter, f, info] = qp_solve(Q, p, [C1 C2], [b1; b2], me);
+assert_checkequal(info, 2);
+
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_11452.dia.ref b/modules/optimization/tests/nonreg_tests/bug_11452.dia.ref
new file mode 100755
index 000000000..b2c40a103
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_11452.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 11452 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11452
+//
+// <-- Short Description -->
+// diag optional argument in lsqrsolve cannot be used
+//
+a=[1,7;
+ 2,8
+ 4 3
+ -1 0.3];
+b=[10;11;-1;2];
+function y=f1(x, m)
+ y=a*x-b;
+endfunction
+stp=[1.d-10,1.d-10,1.d-5,100,0,100];
+Diag=[1;1];
+[xsol,v]=lsqrsolve([100;100],f1,4,stp,Diag);
+assert_checkalmostequal(xsol,a\b);
diff --git a/modules/optimization/tests/nonreg_tests/bug_11452.tst b/modules/optimization/tests/nonreg_tests/bug_11452.tst
new file mode 100755
index 000000000..fc8d2f20a
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_11452.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - INRIA - Serge Steer
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 11452 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11452
+//
+// <-- Short Description -->
+// diag optional argument in lsqrsolve cannot be used
+//
+
+a=[1,7;
+2,8
+4 3
+-1 0.3];
+b=[10;11;-1;2];
+function y=f1(x, m)
+ y=a*x-b;
+endfunction
+
+stp=[1.d-10,1.d-10,1.d-5,100,0,100];
+Diag=[1;1];
+[xsol,v]=lsqrsolve([100;100],f1,4,stp,Diag);
+
+assert_checkalmostequal(xsol,a\b);
diff --git a/modules/optimization/tests/nonreg_tests/bug_12080.dia.ref b/modules/optimization/tests/nonreg_tests/bug_12080.dia.ref
new file mode 100755
index 000000000..50e03d83e
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12080.dia.ref
@@ -0,0 +1,69 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 12080 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12080
+//
+// <-- Short Description -->
+// lsqrsolve always print messages
+clear;
+N=10;
+a=2;
+b=1;
+c=1;
+d=1;
+x=linspace(-2,4,N)';
+noise=0.1*grand(N,1,"nor",0,1);
+data=a./(b+c.*(x-d).^2)+noise;
+function y=model(p,m,x)
+ a=p(1);
+ b=p(2);
+ c=p(3);
+ d=p(4);
+ y=a./(b+c.*(x-d).^2);
+endfunction
+function y=modelDiff(p,m,x,data)
+ y=model(p,m,x)-data;
+endfunction
+m = size(data,"*");
+p=[1,1,1,1];
+y=model(p,m,x);
+y=modelDiff(p,m,x,data);
+p0=[1 1 1 1];
+lsqrsolve(p0,list(modelDiff,x),m); // No warning must be displayed
+clear;
+N=10;
+a=1;
+b=1;
+c=1;
+d=100000;
+x=linspace(-2,4,N)';
+noise=0.1*grand(N,1,"nor",0,1);
+data=a./(b+c.*(x-d).^2)+noise;
+function y=model(p,m,x)
+ a=p(1);
+ b=p(2);
+ c=p(3);
+ d=p(4);
+ y=a./(b+c.*(x-d).^-10);
+endfunction
+function y=modelDiff(p,m,x,data)
+ y=model(p,m,x)-data;
+endfunction
+m = size(data,"*");
+p=[1,1,1,1];
+y=model(p,m,x);
+y=modelDiff(p,m,x,data);
+p0=[1 1 1 1];
+[popt,diffopt]=lsqrsolve(p0,list(modelDiff,x),m,[1d-8,1d-8,1d-5,2,0,100]); // A warning must be displayed
+Warning: lsqrsolve: Number of calls to fct has reached or exceeded maxfev.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_12080.tst b/modules/optimization/tests/nonreg_tests/bug_12080.tst
new file mode 100755
index 000000000..4b19ea418
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12080.tst
@@ -0,0 +1,72 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 12080 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12080
+//
+// <-- Short Description -->
+// lsqrsolve always print messages
+
+clear;
+N=10;
+a=2;
+b=1;
+c=1;
+d=1;
+x=linspace(-2,4,N)';
+noise=0.1*grand(N,1,"nor",0,1);
+data=a./(b+c.*(x-d).^2)+noise;
+function y=model(p,m,x)
+ a=p(1);
+ b=p(2);
+ c=p(3);
+ d=p(4);
+ y=a./(b+c.*(x-d).^2);
+endfunction
+
+function y=modelDiff(p,m,x,data)
+ y=model(p,m,x)-data;
+endfunction
+m = size(data,"*");
+p=[1,1,1,1];
+y=model(p,m,x);
+y=modelDiff(p,m,x,data);
+p0=[1 1 1 1];
+lsqrsolve(p0,list(modelDiff,x),m); // No warning must be displayed
+
+clear;
+N=10;
+a=1;
+b=1;
+c=1;
+d=100000;
+x=linspace(-2,4,N)';
+noise=0.1*grand(N,1,"nor",0,1);
+data=a./(b+c.*(x-d).^2)+noise;
+
+function y=model(p,m,x)
+ a=p(1);
+ b=p(2);
+ c=p(3);
+ d=p(4);
+ y=a./(b+c.*(x-d).^-10);
+endfunction
+
+function y=modelDiff(p,m,x,data)
+ y=model(p,m,x)-data;
+endfunction
+m = size(data,"*");
+p=[1,1,1,1];
+y=model(p,m,x);
+y=modelDiff(p,m,x,data);
+p0=[1 1 1 1];
+[popt,diffopt]=lsqrsolve(p0,list(modelDiff,x),m,[1d-8,1d-8,1d-5,2,0,100]); // A warning must be displayed
diff --git a/modules/optimization/tests/nonreg_tests/bug_12111.dia.ref b/modules/optimization/tests/nonreg_tests/bug_12111.dia.ref
new file mode 100755
index 000000000..7f394e599
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12111.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12111 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12111
+//
+// <-- Short Description -->
+// karmarkar does not generate appropriate warnings
+//
+// <-- ENGLISH IMPOSED -->
+A=[-0.1548 -0.0909 -0.0014 -0.0001; 0.0989 -0.0884 0.0004 0];
+B=[0.1966354; 0.2167484];
+C=[0.2056; 0.0908; 0.0012; 0];
+lb=[0; 0; 0; 0];
+ub=[1; 1; 1; 1];
+assert_checktrue(execstr("xopt=karmarkar([],[],C,[],[],[],[],[],A,B,lb,ub)","errcatch")==0);
+WARNING: karmarkar: The algorithm did not converge (exitflag= -2).
diff --git a/modules/optimization/tests/nonreg_tests/bug_12111.tst b/modules/optimization/tests/nonreg_tests/bug_12111.tst
new file mode 100755
index 000000000..2d6864600
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12111.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12111 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12111
+//
+// <-- Short Description -->
+// karmarkar does not generate appropriate warnings
+//
+// <-- ENGLISH IMPOSED -->
+
+A=[-0.1548 -0.0909 -0.0014 -0.0001; 0.0989 -0.0884 0.0004 0];
+B=[0.1966354; 0.2167484];
+C=[0.2056; 0.0908; 0.0012; 0];
+lb=[0; 0; 0; 0];
+ub=[1; 1; 1; 1];
+assert_checktrue(execstr("xopt=karmarkar([],[],C,[],[],[],[],[],A,B,lb,ub)","errcatch")==0);
diff --git a/modules/optimization/tests/nonreg_tests/bug_12702.dia.ref b/modules/optimization/tests/nonreg_tests/bug_12702.dia.ref
new file mode 100755
index 000000000..34a1b2e22
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12702.dia.ref
@@ -0,0 +1,2485 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 12702 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12702
+//
+// <-- Short Description -->
+// When no extra parameters are needed in the cost function, NDcost does not work:
+//
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+x0 = [-1.2 1.0];
+lines(0);
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.806D-21
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+ nlis0 fpn=-0.470D-24 d2= 0.75D-26 tmin= 0.26D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.267D-21 -0.536D-27
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+ nlis0 fpn=-0.623D-30 d2= 0.68D-32 tmin= 0.38D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.375D+01 0.326D-23 0.187D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 4
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61628D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.806D-21
+ n1qn3: stopping criterion on g: 0.92929D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84645D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 75.5 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+ n1qn3: line search
+ nlis0 fpn=-0.470D-24 d2= 0.75D-26 tmin= 0.26D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.267D-21 -0.536D-27
+ n1qn3: stopping criterion on g: 0.10705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.55083D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.349D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+ n1qn3: line search
+ nlis0 fpn=-0.623D-30 d2= 0.68D-32 tmin= 0.38D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.375D+01 0.326D-23 0.187D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 5
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61628D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.806D-21
+ n1qn3: stopping criterion on g: 0.92929D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84645D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 75.5 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+ n1qn3: line search
+ nlis0 fpn=-0.470D-24 d2= 0.75D-26 tmin= 0.26D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.267D-21 -0.536D-27
+ n1qn3: stopping criterion on g: 0.10705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.55083D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.349D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+ n1qn3: line search
+ nlis0 fpn=-0.623D-30 d2= 0.68D-32 tmin= 0.38D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.375D+01 0.326D-23 0.187D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_12702.linux32.dia.ref b/modules/optimization/tests/nonreg_tests/bug_12702.linux32.dia.ref
new file mode 100755
index 000000000..4692f6ccc
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12702.linux32.dia.ref
@@ -0,0 +1,2761 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 12702 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12702
+//
+// <-- Short Description -->
+// When no extra parameters are needed in the cost function, NDcost does not work:
+//
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+x0 = [-1.2 1.0];
+lines(0);
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.965D-21
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+ nlis0 fpn=-0.472D-24 d2= 0.12D-25 tmin= 0.21D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.432D-21 0.118D-27
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+ nlis0 fpn=-0.250D-27 d2= 0.62D-27 tmin= 0.10D-01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.163D-21 -0.218D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+00 0.163D-22 -0.225D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.900D-01 0.147D-22 0.269D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.810D-01 0.130D-22 -0.230D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.729D-01 0.114D-22 0.155D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.656D-01 0.114D-22 0.191D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.590D-01 0.977D-23 -0.235D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.531D-01 0.814D-23 0.105D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.478D-01 0.814D-23 0.259D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.430D-01 0.651D-23 -0.488D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D-01 0.651D-23 -0.240D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.349D-01 0.489D-23 0.558D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.314D-01 0.489D-23 0.254D-27
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 4
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27052D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11217D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61636D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53527D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.965D-21
+ n1qn3: stopping criterion on g: 0.92949D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84653D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 78.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+ n1qn3: line search
+ nlis0 fpn=-0.472D-24 d2= 0.12D-25 tmin= 0.21D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.432D-21 0.118D-27
+ n1qn3: stopping criterion on g: 0.19705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.70730D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.351D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.209D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+ n1qn3: line search
+ nlis0 fpn=-0.250D-27 d2= 0.62D-27 tmin= 0.10D-01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.163D-21 -0.218D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+00 0.163D-22 -0.225D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.900D-01 0.147D-22 0.269D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.810D-01 0.130D-22 -0.230D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.729D-01 0.114D-22 0.155D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.656D-01 0.114D-22 0.191D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.590D-01 0.977D-23 -0.235D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.531D-01 0.814D-23 0.105D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.478D-01 0.814D-23 0.259D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.430D-01 0.651D-23 -0.488D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D-01 0.651D-23 -0.240D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.349D-01 0.489D-23 0.558D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.314D-01 0.489D-23 0.254D-27
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 5
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27052D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11217D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61636D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53527D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.965D-21
+ n1qn3: stopping criterion on g: 0.92949D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84653D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 78.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+ n1qn3: line search
+ nlis0 fpn=-0.472D-24 d2= 0.12D-25 tmin= 0.21D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.432D-21 0.118D-27
+ n1qn3: stopping criterion on g: 0.19705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.70730D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.351D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.209D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+ n1qn3: line search
+ nlis0 fpn=-0.250D-27 d2= 0.62D-27 tmin= 0.10D-01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.163D-21 -0.218D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+00 0.163D-22 -0.225D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.900D-01 0.147D-22 0.269D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.810D-01 0.130D-22 -0.230D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.729D-01 0.114D-22 0.155D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.656D-01 0.114D-22 0.191D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.590D-01 0.977D-23 -0.235D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.531D-01 0.814D-23 0.105D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.478D-01 0.814D-23 0.259D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.430D-01 0.651D-23 -0.488D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D-01 0.651D-23 -0.240D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.349D-01 0.489D-23 0.558D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.314D-01 0.489D-23 0.254D-27
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_12702.tst b/modules/optimization/tests/nonreg_tests/bug_12702.tst
new file mode 100755
index 000000000..45f02e9e9
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12702.tst
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 12702 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12702
+//
+// <-- Short Description -->
+// When no extra parameters are needed in the cost function, NDcost does not work:
+//
+
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+
+x0 = [-1.2 1.0];
+lines(0);
+
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
diff --git a/modules/optimization/tests/nonreg_tests/bug_12702.win.dia.ref b/modules/optimization/tests/nonreg_tests/bug_12702.win.dia.ref
new file mode 100755
index 000000000..0c4a6154c
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_12702.win.dia.ref
@@ -0,0 +1,2485 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 12702 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12702
+//
+// <-- Short Description -->
+// When no extra parameters are needed in the cost function, NDcost does not work:
+//
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+x0 = [-1.2 1.0];
+lines(0);
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.112D-20
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+ nlis0 fpn=-0.474D-24 d2= 0.19D-25 tmin= 0.17D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.599D-21 -0.107D-26
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+ nlis0 fpn=-0.248D-29 d2= 0.33D-32 tmin= 0.39D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D+01 0.326D-23 0.743D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 4
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61631D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.112D-20
+ n1qn3: stopping criterion on g: 0.92861D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84647D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 80.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+ n1qn3: line search
+ nlis0 fpn=-0.474D-24 d2= 0.19D-25 tmin= 0.17D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.599D-21 -0.107D-26
+ n1qn3: stopping criterion on g: 0.21365D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.86648D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.352D-02
+ Oren-Spedicato factor (not used) = 0.102D-02 diagonal: average value = 0.198D-02
+ n1qn3: descent direction d: angle(-g,d) = 29.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+ n1qn3: line search
+ nlis0 fpn=-0.248D-29 d2= 0.33D-32 tmin= 0.39D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D+01 0.326D-23 0.743D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 5
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61631D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.112D-20
+ n1qn3: stopping criterion on g: 0.92861D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84647D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 80.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+ n1qn3: line search
+ nlis0 fpn=-0.474D-24 d2= 0.19D-25 tmin= 0.17D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.599D-21 -0.107D-26
+ n1qn3: stopping criterion on g: 0.21365D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.86648D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.352D-02
+ Oren-Spedicato factor (not used) = 0.102D-02 diagonal: average value = 0.198D-02
+ n1qn3: descent direction d: angle(-g,d) = 29.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+ n1qn3: line search
+ nlis0 fpn=-0.248D-29 d2= 0.33D-32 tmin= 0.39D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D+01 0.326D-23 0.743D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_13092.dia.ref b/modules/optimization/tests/nonreg_tests/bug_13092.dia.ref
new file mode 100755
index 000000000..4f4d0a9f8
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_13092.dia.ref
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13092 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13092
+//
+// <-- Short Description -->
+// Wrong error message when user function returned a complex number
+function d = myf(x)
+ mu = 1e6
+ eVal_min = 0.4
+ A = [4*(x(1)**4 + x(2)**4), 2*x(2)**4; 2*x(2)**4, 4*x(2)**4]
+ B = [4*(x(1)**2 + x(2)**2), -3*x(2)**2; -3*x(2)**2, 4*x(2)**2]
+ eig = spec(A,B)
+ eig = gsort(eig, "g", "i")
+ eVal = eig(1)
+ d = x(1)**2 + x(2)**2 + mu * (eVal_min - eVal)**2
+endfunction
+xStart = [1 1];
+refMsg = msprintf(_("%s: Wrong type for user function output argument #%d: A real matrix expected."), "optimbase_function", 1);
+assert_checkerror("[x, fval] = fminsearch(myf, xStart);", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_13092.tst b/modules/optimization/tests/nonreg_tests/bug_13092.tst
new file mode 100755
index 000000000..536ce84b1
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_13092.tst
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13092 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13092
+//
+// <-- Short Description -->
+// Wrong error message when user function returned a complex number
+
+function d = myf(x)
+ mu = 1e6
+ eVal_min = 0.4
+ A = [4*(x(1)**4 + x(2)**4), 2*x(2)**4; 2*x(2)**4, 4*x(2)**4]
+ B = [4*(x(1)**2 + x(2)**2), -3*x(2)**2; -3*x(2)**2, 4*x(2)**2]
+ eig = spec(A,B)
+ eig = gsort(eig, "g", "i")
+ eVal = eig(1)
+ d = x(1)**2 + x(2)**2 + mu * (eVal_min - eVal)**2
+endfunction
+
+xStart = [1 1];
+
+refMsg = msprintf(_("%s: Wrong type for user function output argument #%d: A real matrix expected."), "optimbase_function", 1);
+assert_checkerror("[x, fval] = fminsearch(myf, xStart);", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_13116.dia.ref b/modules/optimization/tests/nonreg_tests/bug_13116.dia.ref
new file mode 100755
index 000000000..ede966c18
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_13116.dia.ref
@@ -0,0 +1,65 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+// Copyright (C) 2013 - Raise Partner - Mohamed Houacine
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13116 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13116
+//
+// <-- Short Description -->
+// qpsolve did not respect the constraints
+me = 1;
+// Constraints: ci <= x <= cs
+ci = [-0.5; -1; -1; -1; -1; -1; -1; -1; -1; -1];
+cs = [0.5; 1; 1; 1; 1; 1; 1; 1; 1; 1];
+b = 1;
+C = ones(1, 10);
+p = zeros(10, 1);
+Q = [1D-07 0 0 0 0 0 0 0 0 0;
+0 0.0000284 0.0000103 0.0000241 0.0000047 -0.0000031 -0.0000008 0.0000220 0.0000207 0.0000024;
+0 0.0000103 0.0000336 0.0000238 0.0000088 -0.0000022 -0.0000004 0.0000093 0.0000114 0.0000034;
+0 0.0000241 0.0000238 0.0000436 0.0000137 -0.0000005 -0.0000043 0.0000198 0.0000126 0.0000004;
+0 0.0000047 0.0000088 0.0000137 0.0000330 0.0000041 0.0000017 0.0000077 0.0000055 0.0000109;
+0 -0.0000031 -0.0000022 -0.0000005 0.0000041 0.0000269 0.0000003 -0.0000036 -0.0000054 0.0000094;
+0 -0.0000008 -0.0000004 -0.0000043 0.0000017 0.0000003 0.0000092 0.0000033 0.0000005 0.0000028;
+0 0.0000220 0.0000093 0.0000198 0.0000077 -0.0000036 0.0000033 0.0000497 0.0000218 0.0000018;
+0 0.0000207 0.0000114 0.0000126 0.0000055 -0.0000054 0.0000005 0.0000218 0.0000343 0.0000033;
+0 0.0000024 0.0000034 0.0000004 0.0000109 0.0000094 0.0000028 0.0000018 0.0000033 0.0000160 ];
+[x, iact, iter, f] = qpsolve(Q, p, C, b, ci, cs, me);
+assert_checktrue(abs(x(1)) <= 0.5);
+assert_checktrue(abs(x(2:$)) <= 1);
+// Example from the help page
+//Find x in R^6 such that:
+//C1*x = b1 (3 equality constraints i.e me=3)
+C1 = [1 -1 1 0 3 1;
+-1 0 -3 -4 5 6;
+2 5 3 0 1 0];
+b1 = [1; 2; 3];
+//C2*x <= b2 (2 inequality constraints)
+C2 = [0 1 0 1 2 -1;
+-1 0 2 1 1 0];
+b2 =[-1; 2.5];
+//with x between ci and cs:
+ci = [-1000; -10000; 0; -1000; -1000; -1000];
+cs = [10000; 100; 1.5; 100; 100; 1000];
+//and minimize 0.5*x'*Q*x + p'*x with
+p = [1; 2; 3; 4; 5; 6]; Q = eye(6, 6);
+//No initial point is given;
+C = [C1; C2];
+b = [b1; b2];
+me = 3;
+[x, iact, iter, f] = qpsolve(Q, p, C, b, ci, cs, me);
+//Only linear constraints (1 to 4) are active
+assert_checktrue(x(1) >= -1000 & x(1) <= 10000);
+assert_checktrue(x(2) >= -10000 & x(2) <= 100);
+assert_checktrue(x(3) >= 0 & x(3) <= 1.5);
+assert_checktrue(x(4) >= -1000 & x(4) <= 100);
+assert_checktrue(x(5) >= -1000 & x(5) <= 100);
+assert_checktrue(x(6) >= -1000 & x(6) <= 1000);
diff --git a/modules/optimization/tests/nonreg_tests/bug_13116.tst b/modules/optimization/tests/nonreg_tests/bug_13116.tst
new file mode 100755
index 000000000..578719d2b
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_13116.tst
@@ -0,0 +1,74 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+// Copyright (C) 2013 - Raise Partner - Mohamed Houacine
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 13116 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13116
+//
+// <-- Short Description -->
+// qpsolve did not respect the constraints
+
+me = 1;
+// Constraints: ci <= x <= cs
+ci = [-0.5; -1; -1; -1; -1; -1; -1; -1; -1; -1];
+cs = [0.5; 1; 1; 1; 1; 1; 1; 1; 1; 1];
+b = 1;
+C = ones(1, 10);
+p = zeros(10, 1);
+Q = [1D-07 0 0 0 0 0 0 0 0 0;
+0 0.0000284 0.0000103 0.0000241 0.0000047 -0.0000031 -0.0000008 0.0000220 0.0000207 0.0000024;
+0 0.0000103 0.0000336 0.0000238 0.0000088 -0.0000022 -0.0000004 0.0000093 0.0000114 0.0000034;
+0 0.0000241 0.0000238 0.0000436 0.0000137 -0.0000005 -0.0000043 0.0000198 0.0000126 0.0000004;
+0 0.0000047 0.0000088 0.0000137 0.0000330 0.0000041 0.0000017 0.0000077 0.0000055 0.0000109;
+0 -0.0000031 -0.0000022 -0.0000005 0.0000041 0.0000269 0.0000003 -0.0000036 -0.0000054 0.0000094;
+0 -0.0000008 -0.0000004 -0.0000043 0.0000017 0.0000003 0.0000092 0.0000033 0.0000005 0.0000028;
+0 0.0000220 0.0000093 0.0000198 0.0000077 -0.0000036 0.0000033 0.0000497 0.0000218 0.0000018;
+0 0.0000207 0.0000114 0.0000126 0.0000055 -0.0000054 0.0000005 0.0000218 0.0000343 0.0000033;
+0 0.0000024 0.0000034 0.0000004 0.0000109 0.0000094 0.0000028 0.0000018 0.0000033 0.0000160 ];
+
+[x, iact, iter, f] = qpsolve(Q, p, C, b, ci, cs, me);
+
+assert_checktrue(abs(x(1)) <= 0.5);
+assert_checktrue(abs(x(2:$)) <= 1);
+
+// Example from the help page
+//Find x in R^6 such that:
+//C1*x = b1 (3 equality constraints i.e me=3)
+C1 = [1 -1 1 0 3 1;
+-1 0 -3 -4 5 6;
+2 5 3 0 1 0];
+b1 = [1; 2; 3];
+
+//C2*x <= b2 (2 inequality constraints)
+C2 = [0 1 0 1 2 -1;
+-1 0 2 1 1 0];
+b2 =[-1; 2.5];
+
+//with x between ci and cs:
+ci = [-1000; -10000; 0; -1000; -1000; -1000];
+cs = [10000; 100; 1.5; 100; 100; 1000];
+
+//and minimize 0.5*x'*Q*x + p'*x with
+p = [1; 2; 3; 4; 5; 6]; Q = eye(6, 6);
+
+//No initial point is given;
+C = [C1; C2];
+b = [b1; b2];
+me = 3;
+[x, iact, iter, f] = qpsolve(Q, p, C, b, ci, cs, me);
+//Only linear constraints (1 to 4) are active
+
+assert_checktrue(x(1) >= -1000 & x(1) <= 10000);
+assert_checktrue(x(2) >= -10000 & x(2) <= 100);
+assert_checktrue(x(3) >= 0 & x(3) <= 1.5);
+assert_checktrue(x(4) >= -1000 & x(4) <= 100);
+assert_checktrue(x(5) >= -1000 & x(5) <= 100);
+assert_checktrue(x(6) >= -1000 & x(6) <= 1000);
diff --git a/modules/optimization/tests/nonreg_tests/bug_13243.dia.ref b/modules/optimization/tests/nonreg_tests/bug_13243.dia.ref
new file mode 100755
index 000000000..1b33ef561
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_13243.dia.ref
@@ -0,0 +1,69 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 13243 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13243
+//
+// <-- Short Description -->
+// optim() with "gc" option failed when imp<0.
+function f = problem1(x)
+ f = sum((x-(1:length(x))').^2);
+endfunction
+// Define the cost function:
+function [f, g, ind] = myoptfunc(x, ind)
+ f = problem1(x);
+ g = derivative(problem1, x, order=4);
+endfunction
+// Initial guess:
+x0 = 1*ones(5, 1);
+// Perform optimization:
+[fopt, xopt] = optim(myoptfunc, x0, "gc", imp=-1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+Norm of projected gradient lower than 0.0000000D+00.
+
+assert_checkequal(fopt, 0);
+assert_checkequal(xopt', 1:5);
diff --git a/modules/optimization/tests/nonreg_tests/bug_13243.tst b/modules/optimization/tests/nonreg_tests/bug_13243.tst
new file mode 100755
index 000000000..5d20a0151
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_13243.tst
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 13243 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13243
+//
+// <-- Short Description -->
+// optim() with "gc" option failed when imp<0.
+
+function f = problem1(x)
+ f = sum((x-(1:length(x))').^2);
+endfunction
+
+// Define the cost function:
+function [f, g, ind] = myoptfunc(x, ind)
+ f = problem1(x);
+ g = derivative(problem1, x, order=4);
+endfunction
+
+// Initial guess:
+x0 = 1*ones(5, 1);
+
+// Perform optimization:
+[fopt, xopt] = optim(myoptfunc, x0, "gc", imp=-1);
+
+assert_checkequal(fopt, 0);
+assert_checkequal(xopt', 1:5);
diff --git a/modules/optimization/tests/nonreg_tests/bug_1456.dia.ref b/modules/optimization/tests/nonreg_tests/bug_1456.dia.ref
new file mode 100755
index 000000000..4f69cf557
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_1456.dia.ref
@@ -0,0 +1,46 @@
+-->write(%io(2),tmpdirToPrint);
+TMPDIR1='/tmp/SD_7204_'
+-->// <-- HEADER END -->
+-->// =============================================================================
+-->// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+-->// Copyright (C) 2008 - INRIA - Vincent Couvert <vincent.couvert@inria.fr>
+-->//
+-->// This file is distributed under the same license as the Scilab package.
+-->// =============================================================================
+-->// <-- TEST WITH GRAPHIC @#>
+-->// <-- Non-regression test for bug 1456 @#>
+-->// NOT FIXED
+-->// <-- Bugzilla URL @#>
+-->// http://bugzilla.scilab.org/show_bug.cgi?id=1456
+-->//
+-->// <-- Short Description @#>
+-->// Detailed description of the problem
+-->// Numerical problem with lmisolver
+-->// Text of the scilab error message
+-->// Z0 does not satisfy equality conditions for dual feasibility.
+-->// !--error 230
+-->// semidef fails
+-->// at line 238 of function lmisolver called by :
+-->// [XLISTF,OPT]=lmisolver(list(eye(A)),fct)
+-->A=[1 -24 0 -240;1 -12 -60 -120;0 1 0 0;0 0 1 0];
+-->function [LME,LMI,OBJ]=fct(XLIST)
+-->T=XLIST(1);
+-->LME=T-T';
+-->LMI=-A*T-T*A'-eye();
+-->OBJ=[];
+-->endfunction
+-->[XLISTF,OPT]=lmisolver(list(eye(A)),fct);
+lmisolver: Construction of canonical representation.
+lmisolver: Basis Construction.
+lmisolver: FEASIBILITY PHASE.
+Z0 does not satisfy equality conditions for dual feasibility.
+-->// <-- FOOTER START -->
+-->catch
+--> errmsg = "<--"+"Error on the test script file"+"-->"
+ errmsg =
+
+ <--Error on the test script file-->
+--> printf("%s",errmsg)
+<--Error on the test script file-->-->end
+
+-->diary(0);
diff --git a/modules/optimization/tests/nonreg_tests/bug_1456.tst b/modules/optimization/tests/nonreg_tests/bug_1456.tst
new file mode 100755
index 000000000..69e8e17dc
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_1456.tst
@@ -0,0 +1,43 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent Couvert <vincent.couvert@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 1456 -->
+// NOT FIXED
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1456
+//
+// <-- Short Description -->
+// Detailed description of the problem
+// Numerical problem with lmisolver
+// Text of the scilab error message
+// Z0 does not satisfy equality conditions for dual feasibility.
+// !--error 230
+// semidef fails
+// at line 238 of function lmisolver called by :
+// [XLISTF,OPT]=lmisolver(list(eye(A)),fct)
+
+// <-- NOT FIXED -->
+
+A=[1 -24 0 -240;1 -12 -60 -120;0 1 0 0;0 0 1 0];
+
+function [LME,LMI,OBJ]=fct(XLIST)
+ T=XLIST(1);
+ LME=T-T';
+ LMI=-A*T-T*A'-eye();
+ OBJ=[];
+endfunction
+
+[XLISTF,OPT]=lmisolver(list(eye(A)),fct);
+Tcomputed = XLISTF(1);
+Texpected = [9.898862973943269 , -0.148040709667531 , 0.084466211100534 , 0.056050336743578 ;
+ -0.148040709667531 , 0.009915577328041 , -0.000240812494752 , -0.002102817295201 ;
+ 0.084466211100534 , -0.000240812494752 , 0.002102817295201 , -0.000240812494554 ;
+ 0.056050336743578 , -0.002102817295201 , -0.000240812494554 , 0.000795767345537];
+Texpected= 1.0e+08 * Texpected;
+if or(abs(Tcomputed-Texpected)>%eps) then bugmes();quit;end
diff --git a/modules/optimization/tests/nonreg_tests/bug_2330.dia.ref b/modules/optimization/tests/nonreg_tests/bug_2330.dia.ref
new file mode 100755
index 000000000..04a2151f5
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_2330.dia.ref
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2330 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2330
+//
+// <-- Short Description -->
+// datafit does not work equivalently on WinXP and Linux. With a given dataset and
+// same routines centered on datafit function, it works perfectly on Linux and
+// partially (some data are fitted some others not) on WinXP.
+//build the data to fit
+//---------------------
+function Xcalc=biexp(p,t)
+ Xcalc=p(1).*exp(-p(2).*t)+p(3).*exp(-p(4).*t)+p(5);
+endfunction;
+t=(0:100:36000)';
+p=[0.1;0.0001;0.2;0.0002;0.3];
+X=biexp(p,t);
+//try to fit the data
+//-------------------
+//the error function
+function e=myerf(p,X,t),e=X-biexp(p,t),endfunction
+// the initial point
+p0=[0.01;0.001;0.01;0.001;0.1];
+//call datafit
+[pr,err]=datafit(list(myerf,t),X,p0);
+if err>=5d-4 then bugmes();quit;end
diff --git a/modules/optimization/tests/nonreg_tests/bug_2330.tst b/modules/optimization/tests/nonreg_tests/bug_2330.tst
new file mode 100755
index 000000000..fffd5be2e
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_2330.tst
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2330 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2330
+//
+// <-- Short Description -->
+// datafit does not work equivalently on WinXP and Linux. With a given dataset and
+// same routines centered on datafit function, it works perfectly on Linux and
+// partially (some data are fitted some others not) on WinXP.
+
+//build the data to fit
+//---------------------
+function Xcalc=biexp(p,t)
+ Xcalc=p(1).*exp(-p(2).*t)+p(3).*exp(-p(4).*t)+p(5);
+endfunction;
+t=(0:100:36000)';
+p=[0.1;0.0001;0.2;0.0002;0.3];
+X=biexp(p,t);
+
+//try to fit the data
+//-------------------
+//the error function
+function e=myerf(p,X,t),e=X-biexp(p,t),endfunction
+// the initial point
+p0=[0.01;0.001;0.01;0.001;0.1];
+//call datafit
+[pr,err]=datafit(list(myerf,t),X,p0);
+if err>=5d-4 then pause,end
diff --git a/modules/optimization/tests/nonreg_tests/bug_2435.dia.ref b/modules/optimization/tests/nonreg_tests/bug_2435.dia.ref
new file mode 100755
index 000000000..01a83f0f4
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_2435.dia.ref
@@ -0,0 +1,17 @@
+// <-- Non-regression test for bug 2435 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2435
+//
+// <-- Short Description -->
+// The following "optim based" function mades scilab hangs
+// Scilab Project - Serge Steer
+// Copyright INRIA 2007
+// Date : June 2007
+function [f,g,ind]=cost(x,ind)
+ xref=[1;2;3];
+ f=0.5*norm(x-xref)^2
+ g=x-xref;
+endfunction
+x0=[1;-1;1];
+if execstr('[f,xopt]=optim(cost,,''b'',-2*ones(x0),2*ones(x0),x0);','errcatch') <> 54 then bugmes();quit;end
diff --git a/modules/optimization/tests/nonreg_tests/bug_2435.tst b/modules/optimization/tests/nonreg_tests/bug_2435.tst
new file mode 100755
index 000000000..b61678b97
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_2435.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2435 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2435
+//
+// <-- Short Description -->
+// The following "optim based" function mades scilab hangs
+
+function [f,g,ind]=cost(x,ind)
+ xref=[1;2;3];
+ f=0.5*norm(x-xref)^2
+ g=x-xref;
+endfunction
+
+x0=[1;-1;1];
+
+if execstr('[f,xopt]=optim(cost,,''b'',-2*ones(x0),2*ones(x0),x0);','errcatch') <> 54 then pause,end
diff --git a/modules/optimization/tests/nonreg_tests/bug_244.dia.ref b/modules/optimization/tests/nonreg_tests/bug_244.dia.ref
new file mode 100755
index 000000000..646282921
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_244.dia.ref
@@ -0,0 +1,160 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 244 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=244
+//
+// <-- Short Description -->
+// recursion problems with fsolve
+// Titration of a dibase with HCl (at the beginning, a little amount of NaOH was added)
+// parameters
+//C0=2.39e-4
+C0=2e-4;
+C02=0.02;
+na0=2e-7;
+v0=0.01;
+pK1=6.9;
+pK2=6.9;
+// function to get the calculated pH
+deff('[x]=f0(pH)','x=(10^(-pH-pK1)+2*10^(-2*pH))/(10^(-pK1-pK2)+10^(-pH-pK1)+10^(-2*pH))+((v0+v)*(10^(-pH)-10^(pH-14))+na0-C02*v)/(C0*v0)');
+deff('[pH]=fpH(p)','v=p;pH=fsolve(7,f0)');
+// data
+X=[];Y=[];
+X=[
+//0
+0.00001
+0.00002
+0.00003
+0.00004
+0.00005
+0.000055
+0.00006
+0.000065
+0.00007
+0.000075
+0.00008
+0.000085
+0.00009
+0.000095
+0.0001
+0.000105
+0.00011
+0.000115
+0.00012
+0.000125
+0.00013
+0.000135
+0.00014
+0.000145
+0.00015
+0.000155
+0.00016
+0.000165
+0.00017
+0.000175
+0.00018
+0.000185
+0.00019
+0.000195
+0.0002
+0.000205
+0.00021
+0.000215
+0.00022
+0.000225
+0.00023
+0.000235
+0.00024
+0.000245
+0.00025
+0.000255
+0.00026
+0.000265
+0.00027
+0.000275
+0.00028
+0.000285
+0.000295
+0.000305
+0.00032
+0.000345
+0.000395
+0.000445
+];
+Y=[
+//8.21
+7.82
+7.64
+7.48
+7.37
+7.22
+7.20
+7.17
+7.13
+7.12
+7.12
+7.10
+7.07
+7.04
+7.07
+7.04
+7.01
+6.98
+6.94
+6.91
+6.87
+6.84
+6.80
+6.76
+6.73
+6.68
+6.61
+6.57
+6.51
+6.45
+6.36
+6.27
+6.14
+6.02
+5.84
+5.64
+5.34
+5.00
+4.80
+4.59
+4.46
+4.40
+4.33
+4.24
+4.18
+4.11
+4.07
+4.02
+3.99
+3.95
+3.91
+3.88
+3.86
+3.80
+3.76
+3.69
+3.60
+3.47
+3.36
+];
+// fitting
+Z=[Y;X];
+deff('e=G(p,z)','pK1=p(1),pK2=p(2),v=z(2),pHexp=z(1),e=pHexp-fpH(v)');
+[p,err]=datafit(G,Z,[6;7]);
+// graphic part
+clf()
+//v=[0:1e-5:4.5e-4]
+v=X;
+fplot2d(v,fpH);
+plot2d(X,Y,[-2]);
diff --git a/modules/optimization/tests/nonreg_tests/bug_244.tst b/modules/optimization/tests/nonreg_tests/bug_244.tst
new file mode 100755
index 000000000..786c3ec45
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_244.tst
@@ -0,0 +1,173 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- Non-regression test for bug 244 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=244
+//
+// <-- Short Description -->
+// recursion problems with fsolve
+
+
+// Titration of a dibase with HCl (at the beginning, a little amount of NaOH was added)
+
+// parameters
+//C0=2.39e-4
+C0=2e-4;
+C02=0.02;
+na0=2e-7;
+v0=0.01;
+
+pK1=6.9;
+pK2=6.9;
+
+// function to get the calculated pH
+deff('[x]=f0(pH)','x=(10^(-pH-pK1)+2*10^(-2*pH))/(10^(-pK1-pK2)+10^(-pH-pK1)+10^(-2*pH))+((v0+v)*(10^(-pH)-10^(pH-14))+na0-C02*v)/(C0*v0)');
+deff('[pH]=fpH(p)','v=p;pH=fsolve(7,f0)');
+
+// data
+
+X=[];Y=[];
+
+X=[
+//0
+0.00001
+0.00002
+0.00003
+0.00004
+0.00005
+0.000055
+0.00006
+0.000065
+0.00007
+0.000075
+0.00008
+0.000085
+0.00009
+0.000095
+0.0001
+0.000105
+0.00011
+0.000115
+0.00012
+0.000125
+0.00013
+0.000135
+0.00014
+0.000145
+0.00015
+0.000155
+0.00016
+0.000165
+0.00017
+0.000175
+0.00018
+0.000185
+0.00019
+0.000195
+0.0002
+0.000205
+0.00021
+0.000215
+0.00022
+0.000225
+0.00023
+0.000235
+0.00024
+0.000245
+0.00025
+0.000255
+0.00026
+0.000265
+0.00027
+0.000275
+0.00028
+0.000285
+0.000295
+0.000305
+0.00032
+0.000345
+0.000395
+0.000445
+];
+
+Y=[
+//8.21
+7.82
+7.64
+7.48
+7.37
+7.22
+7.20
+7.17
+7.13
+7.12
+7.12
+7.10
+7.07
+7.04
+7.07
+7.04
+7.01
+6.98
+6.94
+6.91
+6.87
+6.84
+6.80
+6.76
+6.73
+6.68
+6.61
+6.57
+6.51
+6.45
+6.36
+6.27
+6.14
+6.02
+5.84
+5.64
+5.34
+5.00
+4.80
+4.59
+4.46
+4.40
+4.33
+4.24
+4.18
+4.11
+4.07
+4.02
+3.99
+3.95
+3.91
+3.88
+3.86
+3.80
+3.76
+3.69
+3.60
+3.47
+3.36
+];
+
+// fitting
+Z=[Y;X];
+deff('e=G(p,z)','pK1=p(1),pK2=p(2),v=z(2),pHexp=z(1),e=pHexp-fpH(v)');
+[p,err]=datafit(G,Z,[6;7]);
+
+// graphic part
+clf()
+//v=[0:1e-5:4.5e-4]
+v=X;
+fplot2d(v,fpH);
+plot2d(X,Y,[-2]);
diff --git a/modules/optimization/tests/nonreg_tests/bug_2573.dia.ref b/modules/optimization/tests/nonreg_tests/bug_2573.dia.ref
new file mode 100755
index 000000000..d8375276c
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_2573.dia.ref
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 2573 1949 and 2101 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2573
+//
+// <-- Short Description -->
+//qld gives erroneous answer
+Q=[52.260163 -92.994537; -92.994537 166.55854];
+p=[1.8641286;-8.1261342];
+C=zeros(1,2);b=0;me=1;
+ci=-%inf*ones(2,1);cs=%inf*ones(2,1);
+s1=qld(Q,p,C,b,ci,cs,me);
+if norm(s1-[7.89465359259093979;4.45660600662314366])>1d-10 then bugmes();quit;end
+//
+// Min 1/2 x^T [0.5 -1] x
+// [-1 3]
+//
+// with [1 1] x = 1
+// 0 <= x1 <= +8
+// 0 <= x2 <= +8
+//
+Q = [0.5 -1; -1 3]; //positive-defined
+p = [0; 0];
+C = [1 1];
+b = 1;
+ci = [0; 0];
+cs = [];
+me = 1;
+x0 = [0.5; 0.5];
+tol = 1e-8;
+[xcomputed,lagr_qld,info] = qld(Q,p,C,b,ci,cs,me,tol);
+xexpected = [8;3]/11;
+if norm(xcomputed-xexpected)>1d-10 then bugmes();quit;end
diff --git a/modules/optimization/tests/nonreg_tests/bug_2573.tst b/modules/optimization/tests/nonreg_tests/bug_2573.tst
new file mode 100755
index 000000000..6b1b3e42f
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_2573.tst
@@ -0,0 +1,47 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 2573 1949 and 2101 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=2573
+//
+// <-- Short Description -->
+//qld gives erroneous answer
+
+Q=[52.260163 -92.994537; -92.994537 166.55854];
+p=[1.8641286;-8.1261342];
+C=zeros(1,2);b=0;me=1;
+ci=-%inf*ones(2,1);cs=%inf*ones(2,1);
+
+s1=qld(Q,p,C,b,ci,cs,me);
+if norm(s1-[7.89465359259093979;4.45660600662314366])>1d-10 then pause,end
+
+
+//
+// Min 1/2 x^T [0.5 -1] x
+// [-1 3]
+//
+// with [1 1] x = 1
+// 0 <= x1 <= +8
+// 0 <= x2 <= +8
+//
+Q = [0.5 -1; -1 3]; //positive-defined
+p = [0; 0];
+C = [1 1];
+b = 1;
+ci = [0; 0];
+cs = [];
+me = 1;
+x0 = [0.5; 0.5];
+tol = 1e-8;
+
+[xcomputed,lagr_qld,info] = qld(Q,p,C,b,ci,cs,me,tol);
+xexpected = [8;3]/11;
+if norm(xcomputed-xexpected)>1d-10 then pause,end
diff --git a/modules/optimization/tests/nonreg_tests/bug_3056.dia.ref b/modules/optimization/tests/nonreg_tests/bug_3056.dia.ref
new file mode 100755
index 000000000..58ece862d
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3056.dia.ref
@@ -0,0 +1,84 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent Couvert <vincent.couvert@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 3056 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3056
+//
+// <-- Short Description -->
+// scilab crash with the following test and the nd algorithm.
+// <-- ENGLISH IMPOSED -->
+global xn_1;
+global fn_1;
+global gn_1;
+global iter;
+global to_record;
+// Rastrigin test function
+function [f,df,ind] = myf(x,ind)
+ global xn_1;
+ global iter;
+ global to_record;
+ global fn_1;
+ global gn_1;
+ if to_record then
+ xn_1($+1) = x;
+ printf("myf: ||xn(1) - xn_1(1)|| = %f - ||xn(2) - xn_1(2)|| = %f - iter = %d",norm(xn_1($)(1)-xn_1($-1)(1)),norm(xn_1($)(2)-xn_1($-1)(2)),iter);
+ end
+ iter = iter + 1;
+ f = x(1)^2+x(2)^2-cos(12*x(1))-cos(18*x(2));
+ df(1,1) = 2*x(1) - 12*sin(12*x(1));
+ df(2,1) = 2*x(2) - 18*sin(18*x(1));
+ if to_record then
+ fn_1($+1) = f;
+ gn_1($+1) = df;
+ printf(" - ||fn - fn_1|| = %f - ||gn - gn_1|| = %f\n",norm(fn_1($)-fn_1($-1)),norm(gn_1($)-gn_1($-1)));
+ end
+endfunction
+Min = [-1;-1];
+Max = [1;1];
+x0 = [0.25;-0.25];
+iter = 0;
+to_record = %F;
+xn_1 = list();
+xn_1($+1) = x0;
+fn_1 = list();
+gn_1 = list();
+[f_tmp, df_tmp, ind] = myf(x0,1);
+fn_1($+1) = f_tmp;
+gn_1($+1) = df_tmp
+ gn_1 =
+
+
+ gn_1(1)
+
+ - 1.1934401
+ 17.095542
+to_record = %f;
+[fopt,xopt,gopt]=optim(myf,x0,algo="nd","ar",nap=20,iter=10,epsg=1e-1,epsf=1e-1,epsx=[1e-2;1e-2],imp=0);
+list_to_plot = xn_1;
+xn_1 = list();
+to_record = %F;
+x = Min(1):(Max(1)-Min(1))/20:Max(1);
+y = Min(2):(Max(2)-Min(2))/20:Max(2);
+[X,Y]=meshgrid(x,y);
+for i=1:size(X,1)
+ for j=1:size(X,2)
+ [Z(i,j),tmp1,tmp2] = myf([X(i,j);Y(i,j)],1);
+ end
+end
+scf();
+drawlater;
+xset("fpf"," ");
+contour(x,y,Z', 10);
+_axes = get("current_axes");
+_axes.data_bounds = [Min(1) Max(1) Min(2) Max(2)];
+xtitle("myf","x1","x2");
+for i=1:length(list_to_plot)
+ plot(list_to_plot(i)(1),list_to_plot(i)(2),"ko");
+end
+drawnow;
diff --git a/modules/optimization/tests/nonreg_tests/bug_3056.tst b/modules/optimization/tests/nonreg_tests/bug_3056.tst
new file mode 100755
index 000000000..0665bd00e
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3056.tst
@@ -0,0 +1,98 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Vincent Couvert <vincent.couvert@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+
+// <-- Non-regression test for bug 3056 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3056
+//
+// <-- Short Description -->
+// scilab crash with the following test and the nd algorithm.
+
+// <-- ENGLISH IMPOSED -->
+
+global xn_1;
+global fn_1;
+global gn_1;
+global iter;
+global to_record;
+
+// Rastrigin test function
+
+function [f,df,ind] = myf(x,ind)
+ global xn_1;
+ global iter;
+ global to_record;
+ global fn_1;
+ global gn_1;
+
+ if to_record then
+ xn_1($+1) = x;
+ printf("myf: ||xn(1) - xn_1(1)|| = %f - ||xn(2) - xn_1(2)|| = %f - iter = %d",norm(xn_1($)(1)-xn_1($-1)(1)),norm(xn_1($)(2)-xn_1($-1)(2)),iter);
+ end
+
+ iter = iter + 1;
+ f = x(1)^2+x(2)^2-cos(12*x(1))-cos(18*x(2));
+ df(1,1) = 2*x(1) - 12*sin(12*x(1));
+ df(2,1) = 2*x(2) - 18*sin(18*x(1));
+ if to_record then
+ fn_1($+1) = f;
+ gn_1($+1) = df;
+ printf(" - ||fn - fn_1|| = %f - ||gn - gn_1|| = %f\n",norm(fn_1($)-fn_1($-1)),norm(gn_1($)-gn_1($-1)));
+ end
+endfunction
+
+Min = [-1;-1];
+Max = [1;1];
+
+x0 = [0.25;-0.25];
+
+iter = 0;
+
+to_record = %F;
+xn_1 = list();
+xn_1($+1) = x0;
+fn_1 = list();
+gn_1 = list();
+[f_tmp, df_tmp, ind] = myf(x0,1);
+fn_1($+1) = f_tmp;
+gn_1($+1) = df_tmp
+
+to_record = %f;
+
+[fopt,xopt,gopt]=optim(myf,x0,algo="nd","ar",nap=20,iter=10,epsg=1e-1,epsf=1e-1,epsx=[1e-2;1e-2],imp=0);
+
+list_to_plot = xn_1;
+xn_1 = list();
+to_record = %F;
+
+x = Min(1):(Max(1)-Min(1))/20:Max(1);
+y = Min(2):(Max(2)-Min(2))/20:Max(2);
+
+[X,Y]=meshgrid(x,y);
+
+for i=1:size(X,1)
+ for j=1:size(X,2)
+ [Z(i,j),tmp1,tmp2] = myf([X(i,j);Y(i,j)],1);
+ end
+end
+
+scf();
+drawlater;
+xset("fpf"," ");
+contour(x,y,Z', 10);
+_axes = get("current_axes");
+_axes.data_bounds = [Min(1) Max(1) Min(2) Max(2)];
+xtitle("myf","x1","x2");
+
+for i=1:length(list_to_plot)
+ plot(list_to_plot(i)(1),list_to_plot(i)(2),"ko");
+end
+
+drawnow;
diff --git a/modules/optimization/tests/nonreg_tests/bug_3161.dia.ref b/modules/optimization/tests/nonreg_tests/bug_3161.dia.ref
new file mode 100755
index 000000000..c12804d21
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3161.dia.ref
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 3161 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3161
+//
+// <-- Short Description -->
+// datafit crashes
+function y=FF(x,p),y=p(1)*(x-p(2))+p(3)*x.*x,endfunction
+X=[];Y=[];
+pg=[34;12;14]; //parameter used to generate data
+for x=0:.1:3, Y=[Y,FF(x,pg)+100*(rand()-.5)];X=[X,x];end
+Z=[Y;X];
+//The criterion function
+function e=G(p,z)
+ y=z(1),x=z(2);
+ e=y-FF(x,p);
+endfunction
+//Solve the problem
+p0=[3;5;10];
+p = [];
+err = [];
+[p,err]=datafit(G,Z,p0);
+if p == [] then bugmes();quit;end;
+if err == [] then bugmes();quit;end;
diff --git a/modules/optimization/tests/nonreg_tests/bug_3161.tst b/modules/optimization/tests/nonreg_tests/bug_3161.tst
new file mode 100755
index 000000000..cd8fd66a1
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3161.tst
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 3161 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3161
+//
+// <-- Short Description -->
+// datafit crashes
+
+function y=FF(x,p),y=p(1)*(x-p(2))+p(3)*x.*x,endfunction
+
+X=[];Y=[];
+
+pg=[34;12;14]; //parameter used to generate data
+for x=0:.1:3, Y=[Y,FF(x,pg)+100*(rand()-.5)];X=[X,x];end
+
+Z=[Y;X];
+
+//The criterion function
+function e=G(p,z)
+ y=z(1),x=z(2);
+ e=y-FF(x,p);
+endfunction
+
+//Solve the problem
+p0=[3;5;10];
+
+p = [];
+err = [];
+[p,err]=datafit(G,Z,p0);
+
+if p == [] then pause,end;
+if err == [] then pause,end; \ No newline at end of file
diff --git a/modules/optimization/tests/nonreg_tests/bug_3244.dia.ref b/modules/optimization/tests/nonreg_tests/bug_3244.dia.ref
new file mode 100755
index 000000000..1396913cc
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3244.dia.ref
@@ -0,0 +1,57 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 3244 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3244
+//
+// <-- Short Description -->
+// Bad outputs for the qpsolve/qp_solve functions
+// =============================================================================
+assert_checkfalse(execstr("qpsolve", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve", refMsg);
+assert_checkfalse(execstr("qpsolve(1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1)", refMsg);
+assert_checkfalse(execstr("qpsolve(1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1)", refMsg);
+assert_checkfalse(execstr("qpsolve(1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1)", refMsg);
+assert_checkfalse(execstr("qpsolve(1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1, 1)", refMsg);
+assert_checkfalse(execstr("qpsolve(1, 1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1, 1, 1)", refMsg);
+assert_checkfalse(execstr("qpsolve(1, 1, 1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1, 1, 1, 1)", refMsg);
+assert_checkfalse(execstr("qp_solve", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve", refMsg);
+assert_checkfalse(execstr("qp_solve(1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1)", refMsg);
+assert_checkfalse(execstr("qp_solve(1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1, 1)", refMsg);
+assert_checkfalse(execstr("qp_solve(1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1, 1, 1)", refMsg);
+assert_checkfalse(execstr("qp_solve(1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1, 1, 1, 1)", refMsg);
+assert_checkfalse(execstr("qp_solve(1, 1, [], 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong size for input argument #%d: %d column(s) expected for matrix %s.\n"), "qp_solve", 3, 1, "C");
+assert_checkerror("qp_solve(1, 1, [], 1, 1)", refMsg);
+assert_checkfalse(execstr("qp_solve(1, 2, 3, 4, 5)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong value for input argument #%d: %s must be an integer in the range 0 to %d.\n"), "qp_solve", 5, "me", 1);
+assert_checkerror("qp_solve(1, 2, 3, 4, 5)", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_3244.tst b/modules/optimization/tests/nonreg_tests/bug_3244.tst
new file mode 100755
index 000000000..c4eedfb11
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3244.tst
@@ -0,0 +1,75 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 3244 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3244
+//
+// <-- Short Description -->
+// Bad outputs for the qpsolve/qp_solve functions
+// =============================================================================
+
+assert_checkfalse(execstr("qpsolve", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve", refMsg);
+
+assert_checkfalse(execstr("qpsolve(1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1)", refMsg);
+
+assert_checkfalse(execstr("qpsolve(1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1)", refMsg);
+
+assert_checkfalse(execstr("qpsolve(1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1)", refMsg);
+
+assert_checkfalse(execstr("qpsolve(1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1, 1)", refMsg);
+
+assert_checkfalse(execstr("qpsolve(1, 1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1, 1, 1)", refMsg);
+
+assert_checkfalse(execstr("qpsolve(1, 1, 1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qpsolve", 7);
+assert_checkerror("qpsolve(1, 1, 1, 1, 1, 1)", refMsg);
+
+
+assert_checkfalse(execstr("qp_solve", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve", refMsg);
+
+assert_checkfalse(execstr("qp_solve(1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1)", refMsg);
+
+assert_checkfalse(execstr("qp_solve(1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1, 1)", refMsg);
+
+assert_checkfalse(execstr("qp_solve(1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1, 1, 1)", refMsg);
+
+assert_checkfalse(execstr("qp_solve(1, 1, 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"), "qp_solve", 5);
+assert_checkerror("qp_solve(1, 1, 1, 1)", refMsg);
+
+assert_checkfalse(execstr("qp_solve(1, 1, [], 1, 1)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong size for input argument #%d: %d column(s) expected for matrix %s.\n"), "qp_solve", 3, 1, "C");
+assert_checkerror("qp_solve(1, 1, [], 1, 1)", refMsg);
+
+assert_checkfalse(execstr("qp_solve(1, 2, 3, 4, 5)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong value for input argument #%d: %s must be an integer in the range 0 to %d.\n"), "qp_solve", 5, "me", 1);
+assert_checkerror("qp_solve(1, 2, 3, 4, 5)", refMsg);
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_3348.dia.ref b/modules/optimization/tests/nonreg_tests/bug_3348.dia.ref
new file mode 100755
index 000000000..6a4f2742c
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3348.dia.ref
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 3348 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3348
+//
+// <-- Short Description -->
+// Missing tests in lsqrsolve
+a=[1,2,4;
+ 7,8,3];
+b=[10;11];
+function y=f1(x,m),y=a*x+b;endfunction
+assert_checkfalse(execstr('[xsol,v]=lsqrsolve([100;100;100],f1,2)','errcatch') == 0);
+a=[1,7;
+ 2,8
+ 4,3];
+b=[10;11;-1];
+function y=f1(x,m),y=a*x+b;endfunction
+assert_checkfalse(execstr('[xsol,v]=lsqrsolve([100;100],f1,3,[-1.d-8,1.d-8,1.d-5,1000,0,100])','errcatch') == 0);
+assert_checkfalse(execstr('[xsol,v]=lsqrsolve([100;100],f1,3,[1.d-8,1.d-8,1.d-5,1000,0,100],[0 1])','errcatch') == 0);
diff --git a/modules/optimization/tests/nonreg_tests/bug_3348.tst b/modules/optimization/tests/nonreg_tests/bug_3348.tst
new file mode 100755
index 000000000..9ad2f4f3e
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3348.tst
@@ -0,0 +1,33 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2007-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 3348 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3348
+//
+// <-- Short Description -->
+// Missing tests in lsqrsolve
+
+
+a=[1,2,4;
+ 7,8,3];
+b=[10;11];
+function y=f1(x,m),y=a*x+b;endfunction
+assert_checkfalse(execstr('[xsol,v]=lsqrsolve([100;100;100],f1,2)','errcatch') == 0);
+
+a=[1,7;
+ 2,8
+ 4,3];
+b=[10;11;-1];
+function y=f1(x,m),y=a*x+b;endfunction
+
+assert_checkfalse(execstr('[xsol,v]=lsqrsolve([100;100],f1,3,[-1.d-8,1.d-8,1.d-5,1000,0,100])','errcatch') == 0);
+assert_checkfalse(execstr('[xsol,v]=lsqrsolve([100;100],f1,3,[1.d-8,1.d-8,1.d-5,1000,0,100],[0 1])','errcatch') == 0);
diff --git a/modules/optimization/tests/nonreg_tests/bug_3770.dia.ref b/modules/optimization/tests/nonreg_tests/bug_3770.dia.ref
new file mode 100755
index 000000000..246b88a34
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3770.dia.ref
@@ -0,0 +1,220 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- Non-regression test for bug 3770 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3770
+//
+// <-- Short Description -->
+// "qld" returns a error with scilab 5.0.2 and not with scilab 4.1.2
+// =============================================================================
+function [y]=cif4(x)
+ y(1)=127.d0-2.d0*x(1)^2-3.d0*x(2)^4-x(3)-4.d0*x(4)^2 -5.d0*x(5);
+ y(2)=282.d0-7.d0*x(1)-3.d0*x(2)-10.d0*x(3)^2-x(4)+x(5);
+ y(3)=196.d0-23.d0*x(1)-x(2)^2-6.d0*x(6)^2+8.d0*x(7);
+ y(4)=-4.d0*x(1)^2-x(2)^2+3.d0*x(1)*x(2)-2.d0*x(3)^2-5.d0*x(6) +11.d0*x(7);
+endfunction
+// =============================================================================
+function [y]=objf4(x)
+ y=(x(1)-10.d0)^2+5.d0*(x(2)-12.d0)^2+x(3)^4+3.d0*(x(4) ...
+ -11.d0)^2+10.d0*x(5)^6+7.d0*x(6)^2+x(7)^4-4.d0*x(6) ...
+ *x(7)-10.d0*x(6)-8.d0*x(7);
+endfunction
+// =============================================================================
+function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
+ n = length(x);
+ x = max(x,lb);
+ x = min(x,ub);
+ iter = 0;
+ fx = objf(x);
+ g = numdiff(objf,x)';
+ H = eye(n,n);
+ if (ni > 0) then
+ ci = cif(x)
+ if (length(ci) ~= ni) then
+ error("Ci pas de longueur ni")
+ end
+ A = numdiff(cif,x)
+ else
+ ci = [];
+ A = [];
+ end
+ [n1 n2] = size(A);
+ lambda = 100*ones(n1,1);
+ lambda = zeros(ni,1);
+ qp_iter = 1;
+ alpha = 1;
+ info = 0;
+ t0 = norm(g -A'*lambda); // t0 = norme du Langrangien df/dx - lambda*dc/dx
+ logic_t2 = and(ci >= -tol);
+ logic_t3 = and(lambda >=0);
+ t4 = norm(lambda .*ci);
+ if( logic_t2 & logic_t3 & max(t0,t4) < tol) then
+ break
+ end
+ eta = 0.25;
+ tau = 0.5;
+ for iter = 1:maxiter
+ dinf = lb-x;
+ dsup = ub-x;
+ [d,lambda_qp,info_qp]=qld(H,g,-A,ci,dinf,dsup,0,tol);
+ if (info_qp ~=0) then
+ info = 1000 + info_qp;
+ break
+ end
+ mu = 1/(sqrt(%eps) + norm(lambda,%inf));
+ cia = ci(ci < - tol );
+ phi = fx + norm(cia,1)/mu;
+ D_phi = g'*d - norm(cia,1)/mu;
+ alpha = 1;
+ while(1)
+ x_new = x + alpha*d;
+ obj_new = objf(x_new);
+ ci_new = cif(x_new);
+ cia_new = ci_new(ci_new < -tol);
+ phi_new = obj_new + norm(cia_new,1)/mu;
+ phi_armijo = phi + eta*alpha*D_phi;
+ if (phi_new <= phi_armijo) then
+ break
+ else
+ alpha = 0.45*alpha;
+ end
+ end
+ lambda = lambda + alpha*(lambda_qp(1:ni) - lambda);
+ g_new = numdiff(objf,x_new)';
+ if(ni>0) then
+ A_new = numdiff(cif,x_new);
+ else
+ A_new = [];
+ end
+ t0 = norm(g_new -A_new'*lambda); // t0 = norme du Langrangien df/dx - lambda*dc/dx
+ logic_t2 = and(ci_new >= -tol);
+ logic_t3 = and(lambda >=0);
+ t4 = norm(lambda .*ci);
+ if( logic_t2 & logic_t3 & max(t0,t4) < tol) then
+ break
+ end
+ y = g_new - g;
+ if(~isempty(A)) then
+ t = ((A_new-A)'*lambda);
+ y = y - t;
+ end
+ delx = x_new - x;
+ if (norm(delx) < tol*norm(x)) then
+ info = 101;
+ break
+ end
+ d1 = delx'*H*delx;
+ t1 = 0.2*d1;
+ t2 = delx'*y;
+ if (t2<t1) then
+ theta = 0.8*d1/(d1-t2);
+ else
+ theta = 1;
+ end
+ r = theta*y + (1-theta)*H*delx;
+ d2 = delx'*r;
+ if (d1==0 | d2 ==0) then
+ info = 102;
+ break
+ end
+ H = H -H*delx*delx'*H/d1 + r*r'/d2;
+ x = x_new;
+ fx = obj_new;
+ g = g_new;
+ ci = ci_new;
+ A = A_new;
+ end
+ if(iter>=maxiter)
+ info = 103;
+ end
+endfunction
+// =============================================================================
+n = 7;
+ni = 4;
+x = ones(n,1);
+ub = %inf*ones(x);
+lb = -ub;
+maxit = 20;
+tol = 1e-3;
+// =============================================================================
+[x,fx,ci,lambda_qp,info,iter]=sqp(x,objf4,cif4,lb,ub,ni,maxit,tol);
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+if size(x) <> [7 1] then bugmes();quit;end
+if size(fx) <> [1 1] then bugmes();quit;end
+if size(ci) <> [4 1] then bugmes();quit;end
+if size(lambda_qp) <> [4 1] then bugmes();quit;end
+if size(info) <> [1 1] then bugmes();quit;end
+if size(iter) <> [1 1] then bugmes();quit;end
+if info <> 101 then bugmes();quit;end
+if iter <> 7 then bugmes();quit;end
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_3770.tst b/modules/optimization/tests/nonreg_tests/bug_3770.tst
new file mode 100755
index 000000000..ff804bfc1
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_3770.tst
@@ -0,0 +1,190 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// <-- Non-regression test for bug 3770 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3770
+//
+// <-- Short Description -->
+// "qld" returns a error with scilab 5.0.2 and not with scilab 4.1.2
+// =============================================================================
+function [y]=cif4(x)
+ y(1)=127.d0-2.d0*x(1)^2-3.d0*x(2)^4-x(3)-4.d0*x(4)^2 -5.d0*x(5);
+ y(2)=282.d0-7.d0*x(1)-3.d0*x(2)-10.d0*x(3)^2-x(4)+x(5);
+ y(3)=196.d0-23.d0*x(1)-x(2)^2-6.d0*x(6)^2+8.d0*x(7);
+ y(4)=-4.d0*x(1)^2-x(2)^2+3.d0*x(1)*x(2)-2.d0*x(3)^2-5.d0*x(6) +11.d0*x(7);
+endfunction
+// =============================================================================
+function [y]=objf4(x)
+ y=(x(1)-10.d0)^2+5.d0*(x(2)-12.d0)^2+x(3)^4+3.d0*(x(4) ...
+ -11.d0)^2+10.d0*x(5)^6+7.d0*x(6)^2+x(7)^4-4.d0*x(6) ...
+ *x(7)-10.d0*x(6)-8.d0*x(7);
+endfunction
+// =============================================================================
+function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
+ n = length(x);
+ x = max(x,lb);
+ x = min(x,ub);
+ iter = 0;
+ fx = objf(x);
+ g = numdiff(objf,x)';
+ H = eye(n,n);
+ if (ni > 0) then
+ ci = cif(x)
+ if (length(ci) ~= ni) then
+ error("Ci pas de longueur ni")
+ end
+ A = numdiff(cif,x)
+ else
+ ci = [];
+ A = [];
+ end
+
+ [n1 n2] = size(A);
+
+ lambda = 100*ones(n1,1);
+ lambda = zeros(ni,1);
+
+ qp_iter = 1;
+ alpha = 1;
+
+ info = 0;
+
+ t0 = norm(g -A'*lambda); // t0 = norme du Langrangien df/dx - lambda*dc/dx
+ logic_t2 = and(ci >= -tol);
+ logic_t3 = and(lambda >=0);
+
+ t4 = norm(lambda .*ci);
+
+ if( logic_t2 & logic_t3 & max(t0,t4) < tol) then
+ break
+ end
+
+ eta = 0.25;
+ tau = 0.5;
+
+ for iter = 1:maxiter
+ dinf = lb-x;
+ dsup = ub-x;
+ [d,lambda_qp,info_qp]=qld(H,g,-A,ci,dinf,dsup,0,tol);
+
+ if (info_qp ~=0) then
+ info = 1000 + info_qp;
+ break
+ end
+
+ mu = 1/(sqrt(%eps) + norm(lambda,%inf));
+ cia = ci(ci < - tol );
+ phi = fx + norm(cia,1)/mu;
+ D_phi = g'*d - norm(cia,1)/mu;
+
+ alpha = 1;
+ while(1)
+ x_new = x + alpha*d;
+ obj_new = objf(x_new);
+ ci_new = cif(x_new);
+ cia_new = ci_new(ci_new < -tol);
+ phi_new = obj_new + norm(cia_new,1)/mu;
+ phi_armijo = phi + eta*alpha*D_phi;
+ if (phi_new <= phi_armijo) then
+ break
+ else
+ alpha = 0.45*alpha;
+ end
+ end
+
+ lambda = lambda + alpha*(lambda_qp(1:ni) - lambda);
+
+ g_new = numdiff(objf,x_new)';
+
+ if(ni>0) then
+ A_new = numdiff(cif,x_new);
+ else
+ A_new = [];
+ end
+
+ t0 = norm(g_new -A_new'*lambda); // t0 = norme du Langrangien df/dx - lambda*dc/dx
+
+ logic_t2 = and(ci_new >= -tol);
+ logic_t3 = and(lambda >=0);
+
+ t4 = norm(lambda .*ci);
+
+ if( logic_t2 & logic_t3 & max(t0,t4) < tol) then
+ break
+ end
+
+ y = g_new - g;
+
+ if(~isempty(A)) then
+ t = ((A_new-A)'*lambda);
+ y = y - t;
+ end
+
+ delx = x_new - x;
+
+ if (norm(delx) < tol*norm(x)) then
+ info = 101;
+ break
+ end
+
+ d1 = delx'*H*delx;
+
+ t1 = 0.2*d1;
+ t2 = delx'*y;
+
+ if (t2<t1) then
+ theta = 0.8*d1/(d1-t2);
+ else
+ theta = 1;
+ end
+
+ r = theta*y + (1-theta)*H*delx;
+ d2 = delx'*r;
+
+ if (d1==0 | d2 ==0) then
+ info = 102;
+ break
+ end
+
+ H = H -H*delx*delx'*H/d1 + r*r'/d2;
+
+ x = x_new;
+ fx = obj_new;
+ g = g_new;
+ ci = ci_new;
+ A = A_new;
+ end
+
+ if(iter>=maxiter)
+ info = 103;
+ end
+
+endfunction
+// =============================================================================
+n = 7;
+ni = 4;
+x = ones(n,1);
+ub = %inf*ones(x);
+lb = -ub;
+maxit = 20;
+tol = 1e-3;
+// =============================================================================
+[x,fx,ci,lambda_qp,info,iter]=sqp(x,objf4,cif4,lb,ub,ni,maxit,tol);
+if size(x) <> [7 1] then pause,end
+if size(fx) <> [1 1] then pause,end
+if size(ci) <> [4 1] then pause,end
+if size(lambda_qp) <> [4 1] then pause,end
+if size(info) <> [1 1] then pause,end
+if size(iter) <> [1 1] then pause,end
+if info <> 101 then pause,end
+if iter <> 7 then pause,end
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_4083.dia.ref b/modules/optimization/tests/nonreg_tests/bug_4083.dia.ref
new file mode 100755
index 000000000..27f8aa2ec
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4083.dia.ref
@@ -0,0 +1,45 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- Non-regression test for bug 4083 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4083
+//
+// <-- Short Description -->
+// The numderivative function is created, which replaces both derivative and
+// numdiff functions.
+// =============================================================================
+function y = myfunction(x)
+ y = x^3;
+endfunction
+x = 1;
+g = numdiff(myfunction, x);
+WARNING: Feature numdiff is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+expectedJ = 3;
+assert_checkalmostequal(g, expectedJ, [], 1.d-8);
+[J, H] = derivative(myfunction, x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+expectedH = 6;
+assert_checkalmostequal(J, expectedJ, [], 1.d-8);
+assert_checkequal(H, expectedH);
+[J,H] = numderivative(myfunction, x)
+ H =
+
+ 6.
+ J =
+
+ 3.
+assert_checkalmostequal(J, expectedJ, [], 1.d-8);
+assert_checkequal(H, expectedH);
diff --git a/modules/optimization/tests/nonreg_tests/bug_4083.tst b/modules/optimization/tests/nonreg_tests/bug_4083.tst
new file mode 100755
index 000000000..0074063fe
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4083.tst
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// <-- Non-regression test for bug 4083 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4083
+//
+// <-- Short Description -->
+// The numderivative function is created, which replaces both derivative and
+// numdiff functions.
+// =============================================================================
+
+function y = myfunction(x)
+ y = x^3;
+endfunction
+
+x = 1;
+g = numdiff(myfunction, x);
+expectedJ = 3;
+assert_checkalmostequal(g, expectedJ, [], 1.d-8);
+
+[J, H] = derivative(myfunction, x);
+expectedH = 6;
+assert_checkalmostequal(J, expectedJ, [], 1.d-8);
+assert_checkequal(H, expectedH);
+
+[J,H] = numderivative(myfunction, x)
+assert_checkalmostequal(J, expectedJ, [], 1.d-8);
+assert_checkequal(H, expectedH);
diff --git a/modules/optimization/tests/nonreg_tests/bug_4433.dia.ref b/modules/optimization/tests/nonreg_tests/bug_4433.dia.ref
new file mode 100755
index 000000000..72a3659c0
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4433.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 4433 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4433
+//
+// <-- Short Description -->
+// problem using optim. On some examples, the optim function makes scilab hangs.
+// =============================================================================
+for i=1:10
+ deff('[y,dy,imp] = testfunc(x,imp)','y=sum(x.^2); dy = 2*x;');
+ x0=40*ones(100,1);
+ [f,xo]=optim(testfunc,x0,algo='gc',imp=0);
+end
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_4433.tst b/modules/optimization/tests/nonreg_tests/bug_4433.tst
new file mode 100755
index 000000000..ecae4feeb
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4433.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4433 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4433
+//
+// <-- Short Description -->
+// problem using optim. On some examples, the optim function makes scilab hangs.
+// =============================================================================
+for i=1:10
+ deff('[y,dy,imp] = testfunc(x,imp)','y=sum(x.^2); dy = 2*x;');
+ x0=40*ones(100,1);
+ [f,xo]=optim(testfunc,x0,algo='gc',imp=0);
+end
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_4638.dia.ref b/modules/optimization/tests/nonreg_tests/bug_4638.dia.ref
new file mode 100755
index 000000000..e942d1ce3
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4638.dia.ref
@@ -0,0 +1,251 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 4638 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4638
+//
+// <-- Short Description -->
+// this example with optim freezes scilab
+// =============================================================================
+function A = build_matrix_A()
+A = spzeros(36,36);
+A( 1, 1) = 12.356155 ;
+A( 1, 2) = 1.8561553 ;
+A( 1, 5) = - 5.25 ;
+A( 1, 7) = - 1.8561553 ;
+A( 1, 8) = - 1.8561553 ;
+A( 2, 1) = 1.8561553 ;
+A( 2, 2) = 7.1061553 ;
+A( 2, 4) = - 5.25 ;
+A( 2, 7) = - 1.8561553 ;
+A( 2, 8) = - 1.8561553 ;
+A( 3, 3) = 8.9623106 ;
+A( 3, 5) = - 1.8561553 ;
+A( 3, 6) = 1.8561553 ;
+A( 3, 7) = - 5.25 ;
+A( 4, 2) = - 5.25 ;
+A( 4, 4) = 8.9623106 ;
+A( 4, 5) = 1.8561553 ;
+A( 4, 6) = - 1.8561553 ;
+A( 5, 1) = - 5.25 ;
+A( 5, 3) = - 1.8561553 ;
+A( 5, 4) = 1.8561553 ;
+A( 5, 5) = 14.212311 ;
+A( 5, 9) = - 5.25 ;
+A( 5, 11) = - 1.8561553 ;
+A( 5, 12) = - 1.8561553 ;
+A( 6, 3) = 1.8561553 ;
+A( 6, 4) = - 1.8561553 ;
+A( 6, 6) = 8.9623106 ;
+A( 6, 8) = - 5.25 ;
+A( 6, 11) = - 1.8561553 ;
+A( 6, 12) = - 1.8561553 ;
+A( 7, 1) = - 1.8561553 ;
+A( 7, 2) = - 1.8561553 ;
+A( 7, 3) = - 5.25 ;
+A( 7, 7) = 14.212311 ;
+A( 7, 9) = - 1.8561553 ;
+A( 7, 10) = 1.8561553 ;
+A( 7, 11) = - 5.25 ;
+A( 8, 1) = - 1.8561553 ;
+A( 8, 2) = - 1.8561553 ;
+A( 8, 6) = - 5.25 ;
+A( 8, 8) = 8.9623106 ;
+A( 8, 9) = 1.8561553 ;
+A( 8, 10) = - 1.8561553 ;
+A( 9, 5) = - 5.25 ;
+A( 9, 7) = - 1.8561553 ;
+A( 9, 8) = 1.8561553 ;
+A( 9, 9) = 14.212311 ;
+A( 9, 13) = - 5.25 ;
+A( 9, 15) = - 1.8561553 ;
+A( 9, 16) = - 1.8561553 ;
+A( 10, 7) = 1.8561553 ;
+A( 10, 8) = - 1.8561553 ;
+A( 10, 10) = 8.9623106 ;
+A( 10, 12) = - 5.25 ;
+A( 10, 15) = - 1.8561553 ;
+A( 10, 16) = - 1.8561553 ;
+A( 11, 5) = - 1.8561553 ;
+A( 11, 6) = - 1.8561553 ;
+A( 11, 7) = - 5.25 ;
+A( 11, 11) = 14.212311 ;
+A( 11, 13) = - 1.8561553 ;
+A( 11, 14) = 1.8561553 ;
+A( 11, 15) = - 5.25 ;
+A( 12, 5) = - 1.8561553 ;
+A( 12, 6) = - 1.8561553 ;
+A( 12, 10) = - 5.25 ;
+A( 12, 12) = 8.9623106 ;
+A( 12, 13) = 1.8561553 ;
+A( 12, 14) = - 1.8561553 ;
+A( 13, 9) = - 5.25 ;
+A( 13, 11) = - 1.8561553 ;
+A( 13, 12) = 1.8561553 ;
+A( 13, 13) = 14.212311 ;
+A( 13, 17) = - 5.25 ;
+A( 13, 19) = - 1.8561553 ;
+A( 13, 20) = - 1.8561553 ;
+A( 14, 11) = 1.8561553 ;
+A( 14, 12) = - 1.8561553 ;
+A( 14, 14) = 8.9623106 ;
+A( 14, 16) = - 5.25 ;
+A( 14, 19) = - 1.8561553 ;
+A( 14, 20) = - 1.8561553 ;
+A( 15, 9) = - 1.8561553 ;
+A( 15, 10) = - 1.8561553 ;
+A( 15, 11) = - 5.25 ;
+A( 15, 15) = 14.212311 ;
+A( 15, 17) = - 1.8561553 ;
+A( 15, 18) = 1.8561553 ;
+A( 15, 19) = - 5.25 ;
+A( 16, 9) = - 1.8561553 ;
+A( 16, 10) = - 1.8561553 ;
+A( 16, 14) = - 5.25 ;
+A( 16, 16) = 8.9623106 ;
+A( 16, 17) = 1.8561553 ;
+A( 16, 18) = - 1.8561553 ;
+A( 17, 13) = - 5.25 ;
+A( 17, 15) = - 1.8561553 ;
+A( 17, 16) = 1.8561553 ;
+A( 17, 17) = 14.212311 ;
+A( 17, 21) = - 5.25 ;
+A( 17, 23) = - 1.8561553 ;
+A( 17, 24) = - 1.8561553 ;
+A( 18, 15) = 1.8561553 ;
+A( 18, 16) = - 1.8561553 ;
+A( 18, 18) = 8.9623106 ;
+A( 18, 20) = - 5.25 ;
+A( 18, 23) = - 1.8561553 ;
+A( 18, 24) = - 1.8561553 ;
+A( 19, 13) = - 1.8561553 ;
+A( 19, 14) = - 1.8561553 ;
+A( 19, 15) = - 5.25 ;
+A( 19, 19) = 14.212311 ;
+A( 19, 21) = - 1.8561553 ;
+A( 19, 22) = 1.8561553 ;
+A( 19, 23) = - 5.25 ;
+A( 20, 13) = - 1.8561553 ;
+A( 20, 14) = - 1.8561553 ;
+A( 20, 18) = - 5.25 ;
+A( 20, 20) = 8.9623106 ;
+A( 20, 21) = 1.8561553 ;
+A( 20, 22) = - 1.8561553 ;
+A( 21, 17) = - 5.25 ;
+A( 21, 19) = - 1.8561553 ;
+A( 21, 20) = 1.8561553 ;
+A( 21, 21) = 14.212311 ;
+A( 21, 25) = - 5.25 ;
+A( 21, 27) = - 1.8561553 ;
+A( 21, 28) = - 1.8561553 ;
+A( 22, 19) = 1.8561553 ;
+A( 22, 20) = - 1.8561553 ;
+A( 22, 22) = 8.9623106 ;
+A( 22, 24) = - 5.25 ;
+A( 22, 27) = - 1.8561553 ;
+A( 22, 28) = - 1.8561553 ;
+A( 23, 17) = - 1.8561553 ;
+A( 23, 18) = - 1.8561553 ;
+A( 23, 19) = - 5.25 ;
+A( 23, 23) = 14.212311 ;
+A( 23, 25) = - 1.8561553 ;
+A( 23, 26) = 1.8561553 ;
+A( 23, 27) = - 5.25 ;
+A( 24, 17) = - 1.8561553 ;
+A( 24, 18) = - 1.8561553 ;
+A( 24, 22) = - 5.25 ;
+A( 24, 24) = 8.9623106 ;
+A( 24, 25) = 1.8561553 ;
+A( 24, 26) = - 1.8561553 ;
+A( 25, 21) = - 5.25 ;
+A( 25, 23) = - 1.8561553 ;
+A( 25, 24) = 1.8561553 ;
+A( 25, 25) = 14.212311 ;
+A( 25, 29) = - 5.25 ;
+A( 25, 31) = - 1.8561553 ;
+A( 25, 32) = - 1.8561553 ;
+A( 26, 23) = 1.8561553 ;
+A( 26, 24) = - 1.8561553 ;
+A( 26, 26) = 8.9623106 ;
+A( 26, 28) = - 5.25 ;
+A( 26, 31) = - 1.8561553 ;
+A( 26, 32) = - 1.8561553 ;
+A( 27, 21) = - 1.8561553 ;
+A( 27, 22) = - 1.8561553 ;
+A( 27, 23) = - 5.25 ;
+A( 27, 27) = 14.212311 ;
+A( 27, 29) = - 1.8561553 ;
+A( 27, 30) = 1.8561553 ;
+A( 27, 31) = - 5.25 ;
+A( 28, 21) = - 1.8561553 ;
+A( 28, 22) = - 1.8561553 ;
+A( 28, 26) = - 5.25 ;
+A( 28, 28) = 8.9623106 ;
+A( 28, 29) = 1.8561553 ;
+A( 28, 30) = - 1.8561553 ;
+A( 29, 25) = - 5.25 ;
+A( 29, 27) = - 1.8561553 ;
+A( 29, 28) = 1.8561553 ;
+A( 29, 29) = 14.212311 ;
+A( 29, 33) = - 5.25 ;
+A( 29, 35) = - 1.8561553 ;
+A( 29, 36) = - 1.8561553 ;
+A( 30, 27) = 1.8561553 ;
+A( 30, 28) = - 1.8561553 ;
+A( 30, 30) = 8.9623106 ;
+A( 30, 32) = - 5.25 ;
+A( 30, 35) = - 1.8561553 ;
+A( 30, 36) = - 1.8561553 ;
+A( 31, 25) = - 1.8561553 ;
+A( 31, 26) = - 1.8561553 ;
+A( 31, 27) = - 5.25 ;
+A( 31, 31) = 14.212311 ;
+A( 31, 33) = - 1.8561553 ;
+A( 31, 34) = 1.8561553 ;
+A( 31, 35) = - 5.25 ;
+A( 32, 25) = - 1.8561553 ;
+A( 32, 26) = - 1.8561553 ;
+A( 32, 30) = - 5.25 ;
+A( 32, 32) = 8.9623106 ;
+A( 32, 33) = 1.8561553 ;
+A( 32, 34) = - 1.8561553 ;
+A( 33, 29) = - 5.25 ;
+A( 33, 31) = - 1.8561553 ;
+A( 33, 32) = 1.8561553 ;
+A( 33, 33) = 12.356155 ;
+A( 33, 34) = - 1.8561553 ;
+A( 34, 31) = 1.8561553 ;
+A( 34, 32) = - 1.8561553 ;
+A( 34, 33) = - 1.8561553 ;
+A( 34, 34) = 7.1061553 ;
+A( 34, 36) = - 5.25 ;
+A( 35, 29) = - 1.8561553 ;
+A( 35, 30) = - 1.8561553 ;
+A( 35, 31) = - 5.25 ;
+A( 35, 35) = 8.9623106 ;
+A( 36, 29) = - 1.8561553 ;
+A( 36, 30) = - 1.8561553 ;
+A( 36, 34) = - 5.25 ;
+A( 36, 36) = 8.9623106 ;
+A = A * 1.0D+08;
+endfunction
+function [y, dy, ind] = optim_test(x,ind)
+ printf('hello from optim_test\n');
+ y = sum(x.^2);
+ dy = 2*x;
+ A = build_matrix_A();
+ Ainv = inv(A);
+endfunction
+[f_opt, x_opt] = optim(optim_test,ones(10,1));
+hellofromoptim_test
+
+hellofromoptim_test
+
+hellofromoptim_test
+
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_4638.tst b/modules/optimization/tests/nonreg_tests/bug_4638.tst
new file mode 100755
index 000000000..7c0717724
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4638.tst
@@ -0,0 +1,253 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 4638 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4638
+//
+// <-- Short Description -->
+// this example with optim freezes scilab
+// =============================================================================
+function A = build_matrix_A()
+
+A = spzeros(36,36);
+
+A( 1, 1) = 12.356155 ;
+A( 1, 2) = 1.8561553 ;
+A( 1, 5) = - 5.25 ;
+A( 1, 7) = - 1.8561553 ;
+A( 1, 8) = - 1.8561553 ;
+A( 2, 1) = 1.8561553 ;
+A( 2, 2) = 7.1061553 ;
+A( 2, 4) = - 5.25 ;
+A( 2, 7) = - 1.8561553 ;
+A( 2, 8) = - 1.8561553 ;
+A( 3, 3) = 8.9623106 ;
+A( 3, 5) = - 1.8561553 ;
+A( 3, 6) = 1.8561553 ;
+A( 3, 7) = - 5.25 ;
+A( 4, 2) = - 5.25 ;
+A( 4, 4) = 8.9623106 ;
+A( 4, 5) = 1.8561553 ;
+A( 4, 6) = - 1.8561553 ;
+A( 5, 1) = - 5.25 ;
+A( 5, 3) = - 1.8561553 ;
+A( 5, 4) = 1.8561553 ;
+A( 5, 5) = 14.212311 ;
+A( 5, 9) = - 5.25 ;
+A( 5, 11) = - 1.8561553 ;
+A( 5, 12) = - 1.8561553 ;
+A( 6, 3) = 1.8561553 ;
+A( 6, 4) = - 1.8561553 ;
+A( 6, 6) = 8.9623106 ;
+A( 6, 8) = - 5.25 ;
+A( 6, 11) = - 1.8561553 ;
+A( 6, 12) = - 1.8561553 ;
+A( 7, 1) = - 1.8561553 ;
+A( 7, 2) = - 1.8561553 ;
+A( 7, 3) = - 5.25 ;
+A( 7, 7) = 14.212311 ;
+A( 7, 9) = - 1.8561553 ;
+A( 7, 10) = 1.8561553 ;
+A( 7, 11) = - 5.25 ;
+A( 8, 1) = - 1.8561553 ;
+A( 8, 2) = - 1.8561553 ;
+A( 8, 6) = - 5.25 ;
+A( 8, 8) = 8.9623106 ;
+A( 8, 9) = 1.8561553 ;
+A( 8, 10) = - 1.8561553 ;
+A( 9, 5) = - 5.25 ;
+A( 9, 7) = - 1.8561553 ;
+A( 9, 8) = 1.8561553 ;
+A( 9, 9) = 14.212311 ;
+A( 9, 13) = - 5.25 ;
+A( 9, 15) = - 1.8561553 ;
+A( 9, 16) = - 1.8561553 ;
+A( 10, 7) = 1.8561553 ;
+A( 10, 8) = - 1.8561553 ;
+A( 10, 10) = 8.9623106 ;
+A( 10, 12) = - 5.25 ;
+A( 10, 15) = - 1.8561553 ;
+A( 10, 16) = - 1.8561553 ;
+A( 11, 5) = - 1.8561553 ;
+A( 11, 6) = - 1.8561553 ;
+A( 11, 7) = - 5.25 ;
+A( 11, 11) = 14.212311 ;
+A( 11, 13) = - 1.8561553 ;
+A( 11, 14) = 1.8561553 ;
+A( 11, 15) = - 5.25 ;
+A( 12, 5) = - 1.8561553 ;
+A( 12, 6) = - 1.8561553 ;
+A( 12, 10) = - 5.25 ;
+A( 12, 12) = 8.9623106 ;
+A( 12, 13) = 1.8561553 ;
+A( 12, 14) = - 1.8561553 ;
+A( 13, 9) = - 5.25 ;
+A( 13, 11) = - 1.8561553 ;
+A( 13, 12) = 1.8561553 ;
+A( 13, 13) = 14.212311 ;
+A( 13, 17) = - 5.25 ;
+A( 13, 19) = - 1.8561553 ;
+A( 13, 20) = - 1.8561553 ;
+A( 14, 11) = 1.8561553 ;
+A( 14, 12) = - 1.8561553 ;
+A( 14, 14) = 8.9623106 ;
+A( 14, 16) = - 5.25 ;
+A( 14, 19) = - 1.8561553 ;
+A( 14, 20) = - 1.8561553 ;
+A( 15, 9) = - 1.8561553 ;
+A( 15, 10) = - 1.8561553 ;
+A( 15, 11) = - 5.25 ;
+A( 15, 15) = 14.212311 ;
+A( 15, 17) = - 1.8561553 ;
+A( 15, 18) = 1.8561553 ;
+A( 15, 19) = - 5.25 ;
+A( 16, 9) = - 1.8561553 ;
+A( 16, 10) = - 1.8561553 ;
+A( 16, 14) = - 5.25 ;
+A( 16, 16) = 8.9623106 ;
+A( 16, 17) = 1.8561553 ;
+A( 16, 18) = - 1.8561553 ;
+A( 17, 13) = - 5.25 ;
+A( 17, 15) = - 1.8561553 ;
+A( 17, 16) = 1.8561553 ;
+A( 17, 17) = 14.212311 ;
+A( 17, 21) = - 5.25 ;
+A( 17, 23) = - 1.8561553 ;
+A( 17, 24) = - 1.8561553 ;
+A( 18, 15) = 1.8561553 ;
+A( 18, 16) = - 1.8561553 ;
+A( 18, 18) = 8.9623106 ;
+A( 18, 20) = - 5.25 ;
+A( 18, 23) = - 1.8561553 ;
+A( 18, 24) = - 1.8561553 ;
+A( 19, 13) = - 1.8561553 ;
+A( 19, 14) = - 1.8561553 ;
+A( 19, 15) = - 5.25 ;
+A( 19, 19) = 14.212311 ;
+A( 19, 21) = - 1.8561553 ;
+A( 19, 22) = 1.8561553 ;
+A( 19, 23) = - 5.25 ;
+A( 20, 13) = - 1.8561553 ;
+A( 20, 14) = - 1.8561553 ;
+A( 20, 18) = - 5.25 ;
+A( 20, 20) = 8.9623106 ;
+A( 20, 21) = 1.8561553 ;
+A( 20, 22) = - 1.8561553 ;
+A( 21, 17) = - 5.25 ;
+A( 21, 19) = - 1.8561553 ;
+A( 21, 20) = 1.8561553 ;
+A( 21, 21) = 14.212311 ;
+A( 21, 25) = - 5.25 ;
+A( 21, 27) = - 1.8561553 ;
+A( 21, 28) = - 1.8561553 ;
+A( 22, 19) = 1.8561553 ;
+A( 22, 20) = - 1.8561553 ;
+A( 22, 22) = 8.9623106 ;
+A( 22, 24) = - 5.25 ;
+A( 22, 27) = - 1.8561553 ;
+A( 22, 28) = - 1.8561553 ;
+A( 23, 17) = - 1.8561553 ;
+A( 23, 18) = - 1.8561553 ;
+A( 23, 19) = - 5.25 ;
+A( 23, 23) = 14.212311 ;
+A( 23, 25) = - 1.8561553 ;
+A( 23, 26) = 1.8561553 ;
+A( 23, 27) = - 5.25 ;
+A( 24, 17) = - 1.8561553 ;
+A( 24, 18) = - 1.8561553 ;
+A( 24, 22) = - 5.25 ;
+A( 24, 24) = 8.9623106 ;
+A( 24, 25) = 1.8561553 ;
+A( 24, 26) = - 1.8561553 ;
+A( 25, 21) = - 5.25 ;
+A( 25, 23) = - 1.8561553 ;
+A( 25, 24) = 1.8561553 ;
+A( 25, 25) = 14.212311 ;
+A( 25, 29) = - 5.25 ;
+A( 25, 31) = - 1.8561553 ;
+A( 25, 32) = - 1.8561553 ;
+A( 26, 23) = 1.8561553 ;
+A( 26, 24) = - 1.8561553 ;
+A( 26, 26) = 8.9623106 ;
+A( 26, 28) = - 5.25 ;
+A( 26, 31) = - 1.8561553 ;
+A( 26, 32) = - 1.8561553 ;
+A( 27, 21) = - 1.8561553 ;
+A( 27, 22) = - 1.8561553 ;
+A( 27, 23) = - 5.25 ;
+A( 27, 27) = 14.212311 ;
+A( 27, 29) = - 1.8561553 ;
+A( 27, 30) = 1.8561553 ;
+A( 27, 31) = - 5.25 ;
+A( 28, 21) = - 1.8561553 ;
+A( 28, 22) = - 1.8561553 ;
+A( 28, 26) = - 5.25 ;
+A( 28, 28) = 8.9623106 ;
+A( 28, 29) = 1.8561553 ;
+A( 28, 30) = - 1.8561553 ;
+A( 29, 25) = - 5.25 ;
+A( 29, 27) = - 1.8561553 ;
+A( 29, 28) = 1.8561553 ;
+A( 29, 29) = 14.212311 ;
+A( 29, 33) = - 5.25 ;
+A( 29, 35) = - 1.8561553 ;
+A( 29, 36) = - 1.8561553 ;
+A( 30, 27) = 1.8561553 ;
+A( 30, 28) = - 1.8561553 ;
+A( 30, 30) = 8.9623106 ;
+A( 30, 32) = - 5.25 ;
+A( 30, 35) = - 1.8561553 ;
+A( 30, 36) = - 1.8561553 ;
+A( 31, 25) = - 1.8561553 ;
+A( 31, 26) = - 1.8561553 ;
+A( 31, 27) = - 5.25 ;
+A( 31, 31) = 14.212311 ;
+A( 31, 33) = - 1.8561553 ;
+A( 31, 34) = 1.8561553 ;
+A( 31, 35) = - 5.25 ;
+A( 32, 25) = - 1.8561553 ;
+A( 32, 26) = - 1.8561553 ;
+A( 32, 30) = - 5.25 ;
+A( 32, 32) = 8.9623106 ;
+A( 32, 33) = 1.8561553 ;
+A( 32, 34) = - 1.8561553 ;
+A( 33, 29) = - 5.25 ;
+A( 33, 31) = - 1.8561553 ;
+A( 33, 32) = 1.8561553 ;
+A( 33, 33) = 12.356155 ;
+A( 33, 34) = - 1.8561553 ;
+A( 34, 31) = 1.8561553 ;
+A( 34, 32) = - 1.8561553 ;
+A( 34, 33) = - 1.8561553 ;
+A( 34, 34) = 7.1061553 ;
+A( 34, 36) = - 5.25 ;
+A( 35, 29) = - 1.8561553 ;
+A( 35, 30) = - 1.8561553 ;
+A( 35, 31) = - 5.25 ;
+A( 35, 35) = 8.9623106 ;
+A( 36, 29) = - 1.8561553 ;
+A( 36, 30) = - 1.8561553 ;
+A( 36, 34) = - 5.25 ;
+A( 36, 36) = 8.9623106 ;
+
+A = A * 1.0D+08;
+endfunction
+
+function [y, dy, ind] = optim_test(x,ind)
+ printf('hello from optim_test\n');
+ y = sum(x.^2);
+ dy = 2*x;
+ A = build_matrix_A();
+ Ainv = inv(A);
+endfunction
+
+[f_opt, x_opt] = optim(optim_test,ones(10,1));
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_4925.dia.ref b/modules/optimization/tests/nonreg_tests/bug_4925.dia.ref
new file mode 100755
index 000000000..854f8ddb9
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4925.dia.ref
@@ -0,0 +1,54 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+// <-- Non-regression test for bug 4925 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4925
+//
+// <-- Short Description -->
+// this example with optim crashs 'optim' on windows
+//
+// =============================================================================
+xref=[1;2;3];
+x0=[1;-1;1];
+function [f,g,ind] = cost(x,ind)
+ f=0.5*norm(x-xref)^2;
+ g=x-xref;
+endfunction
+[f,xopt]=optim(cost,x0,imp=3)
+
+***** enters -qn code- (without bound cstr)
+dimension= 3, epsq= 0.2220446049250313E-15, verbosity level: imp= 3
+max number of iterations allowed: iter= 100
+max number of calls to costf allowed: nap= 100
+------------------------------------------------
+ iter num 1, nb calls= 1, f= 6.500
+ linear search: initial derivative=-3.606
+ step length=0.1000E-01, df=-.4261 , derivative=-3.485
+ step length=0.1000 , df=-3.611 , derivative=-2.404
+ iter num 2, nb calls= 3, f= 2.889
+ linear search: initial derivative=-2.404
+ step length= 1.000 , df=-2.889 , derivative=0.3695E-15
+ iter num 3, nb calls= 4, f=0.9861E-30
+ linear search: initial derivative=-.1380E-14
+ step length= 1.000 , df=0.4142E-29, derivative=0.3192E-14
+ step length=0.2996 , df=-.9861E-30, derivative=0.0000E+00
+ iter num 4, nb calls= 6, f=0.0000E+00
+***** leaves -qn code-, gradient norm= 0.0000000000000000E+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+ xopt =
+
+ 1.
+ 2.
+ 3.
+ f =
+
+ 0.
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_4925.tst b/modules/optimization/tests/nonreg_tests/bug_4925.tst
new file mode 100755
index 000000000..5535e34fd
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_4925.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+
+// <-- Non-regression test for bug 4925 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4925
+//
+// <-- Short Description -->
+// this example with optim crashs 'optim' on windows (release mode)
+//
+// =============================================================================
+xref=[1;2;3];
+x0=[1;-1;1];
+function [f,g,ind] = cost(x,ind)
+ f=0.5*norm(x-xref)^2;
+ g=x-xref;
+endfunction
+[f,xopt]=optim(cost,x0,imp=3)
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_632.dia.ref b/modules/optimization/tests/nonreg_tests/bug_632.dia.ref
new file mode 100755
index 000000000..1a04dc852
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_632.dia.ref
@@ -0,0 +1,51 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 632 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=632
+//
+// <-- Short Description -->
+// The function "lsqrsolve" makes the whole Scilab crash.
+// It even does it with the example cited in the Scilab
+// documentation:
+//
+// // Data fitting problem
+// // 1 build the data
+// a=34;b=12;c=14;
+// deff('y=FF(x)','y=a*(x-b)+c*x.*x');
+// X=(0:.1:3)';Y=FF(X)+100*(rand()-.5);
+//
+// //solve
+// function e=f1(abc,m)
+// a=abc(1);b=abc(2),c=abc(3),
+// e=Y-(a*(X-b)+c*X.*X);
+// endfunction
+// [abc,v]=lsqrsolve([10;10;10],f1,size(X,1));
+// abc
+// norm(v)
+// Data fitting problem
+// 1 build the data
+//exec("632.sce");
+// this test will fail if scilab crashes
+a = 34;
+b = 12;
+c = 14;
+deff('y=FF(x)','y=a*(x-b)+c*x.*x');
+X=(0:.1:3)';
+Y=FF(X)+100*(rand()-.5);
+//solve
+function e=f1(abc,m)
+ a = abc(1);
+ b = abc(2);
+ c = abc(3);
+ e = Y-(a*(X-b)+c*X.*X);
+endfunction
+[abc,v] = lsqrsolve([10;10;10],f1,size(X,1));
+if norm(abc - [ 34. ; 12.849045 ; 14. ] ) > 0.1 then bugmes();quit;end
+if norm(v) - 2.814D-13 > 0.1 then bugmes();quit;end
diff --git a/modules/optimization/tests/nonreg_tests/bug_632.tst b/modules/optimization/tests/nonreg_tests/bug_632.tst
new file mode 100755
index 000000000..6d0d5ca56
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_632.tst
@@ -0,0 +1,61 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 632 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=632
+//
+// <-- Short Description -->
+// The function "lsqrsolve" makes the whole Scilab crash.
+// It even does it with the example cited in the Scilab
+// documentation:
+//
+// // Data fitting problem
+// // 1 build the data
+// a=34;b=12;c=14;
+// deff('y=FF(x)','y=a*(x-b)+c*x.*x');
+// X=(0:.1:3)';Y=FF(X)+100*(rand()-.5);
+//
+// //solve
+// function e=f1(abc,m)
+// a=abc(1);b=abc(2),c=abc(3),
+// e=Y-(a*(X-b)+c*X.*X);
+// endfunction
+// [abc,v]=lsqrsolve([10;10;10],f1,size(X,1));
+// abc
+// norm(v)
+
+
+// Data fitting problem
+// 1 build the data
+//exec("632.sce");
+
+// this test will fail if scilab crashes
+
+a = 34;
+b = 12;
+c = 14;
+
+deff('y=FF(x)','y=a*(x-b)+c*x.*x');
+X=(0:.1:3)';
+Y=FF(X)+100*(rand()-.5);
+
+//solve
+
+function e=f1(abc,m)
+ a = abc(1);
+ b = abc(2);
+ c = abc(3);
+ e = Y-(a*(X-b)+c*X.*X);
+endfunction
+
+[abc,v] = lsqrsolve([10;10;10],f1,size(X,1));
+if norm(abc - [ 34. ; 12.849045 ; 14. ] ) > 0.1 then pause,end
+if norm(v) - 2.814D-13 > 0.1 then pause,end
diff --git a/modules/optimization/tests/nonreg_tests/bug_6947.tst b/modules/optimization/tests/nonreg_tests/bug_6947.tst
new file mode 100755
index 000000000..4dca384ca
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_6947.tst
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 6947 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6947
+//
+// <-- Short Description -->
+// Some demos in "Optimization and Simulation" failed,
+// without write rights in SCI subdirectory.
+//
+// =============================================================================
+// Install Scilab in c:\Program files (on windows)
+// (a directory where you have not right in standard use)
+//
+// Launch Scilab
+// start demos "Optimization and Simulation"
+// =============================================================================
diff --git a/modules/optimization/tests/nonreg_tests/bug_7093.dia.ref b/modules/optimization/tests/nonreg_tests/bug_7093.dia.ref
new file mode 100755
index 000000000..79883fa07
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_7093.dia.ref
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7093 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7093
+//
+// <-- Short Description -->
+// The data structure generated by neldermead_new cannot be saved
+// and reloaded.
+//
+nm = neldermead_new ();
+save(fullfile(TMPDIR,"pb.dat"),"nm")
+clear
+load(fullfile(TMPDIR,"pb.dat"))
+computed = exists("nm");
+assert_checkequal(computed,1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_7093.tst b/modules/optimization/tests/nonreg_tests/bug_7093.tst
new file mode 100755
index 000000000..bb0763c8b
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_7093.tst
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7093 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7093
+//
+// <-- Short Description -->
+// The data structure generated by neldermead_new cannot be saved
+// and reloaded.
+//
+
+nm = neldermead_new ();
+save(fullfile(TMPDIR,"pb.dat"),"nm")
+clear
+load(fullfile(TMPDIR,"pb.dat"))
+computed = exists("nm");
+assert_checkequal(computed,1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_7093_v5.dia.ref b/modules/optimization/tests/nonreg_tests/bug_7093_v5.dia.ref
new file mode 100755
index 000000000..54101db82
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_7093_v5.dia.ref
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7093 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7093
+//
+// <-- Short Description -->
+// The data structure generated by neldermead_new cannot be saved
+// and reloaded.
+//
+warning("off");
+nm = neldermead_new ();
+save(fullfile(TMPDIR,"pb.dat"),nm)
+clear
+load(fullfile(TMPDIR,"pb.dat"))
+computed = exists("nm");
+assert_checkequal(computed,1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_7093_v5.tst b/modules/optimization/tests/nonreg_tests/bug_7093_v5.tst
new file mode 100755
index 000000000..3bf71116c
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_7093_v5.tst
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7093 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7093
+//
+// <-- Short Description -->
+// The data structure generated by neldermead_new cannot be saved
+// and reloaded.
+//
+
+warning("off");
+
+nm = neldermead_new ();
+save(fullfile(TMPDIR,"pb.dat"),nm)
+clear
+load(fullfile(TMPDIR,"pb.dat"))
+computed = exists("nm");
+assert_checkequal(computed,1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8160.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8160.dia.ref
new file mode 100755
index 000000000..75b7b121b
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8160.dia.ref
@@ -0,0 +1,52 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 8160 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8160
+//
+// <-- Short Description -->
+// The derivative function did not check for input argument #1, if it is a list.
+//
+x=[1;2;3];
+assert_checkfalse(execstr("derivative(list(),x)", "errcatch") == 0);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+refMsg = msprintf(_("%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n"), "derivative", 1, 2, 0);
+assert_checkerror("derivative(list(),x)", refMsg);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkfalse(execstr("derivative(list(""foo""),x)", "errcatch") == 0);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+refMsg = msprintf(_("%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n"), "derivative", 1, 2, 1);
+assert_checkerror("derivative(list(""foo""),x)", refMsg);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkfalse(execstr("derivative(list(""foo"",""aa""),x)", "errcatch") == 0);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+refMsg = msprintf(_("%s: Wrong type for element #%d in input argument #%d: A function is expected, but current type is %s.\n"), "derivative", 1, 1, typeof("a"));
+assert_checkerror("derivative(list(""foo"",""aa""),x)", refMsg);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8160.tst b/modules/optimization/tests/nonreg_tests/bug_8160.tst
new file mode 100755
index 000000000..1d07e8a4b
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8160.tst
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 8160 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8160
+//
+// <-- Short Description -->
+// The derivative function did not check for input argument #1, if it is a list.
+//
+
+
+
+x=[1;2;3];
+
+assert_checkfalse(execstr("derivative(list(),x)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n"), "derivative", 1, 2, 0);
+assert_checkerror("derivative(list(),x)", refMsg);
+
+assert_checkfalse(execstr("derivative(list(""foo""),x)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n"), "derivative", 1, 2, 1);
+assert_checkerror("derivative(list(""foo""),x)", refMsg);
+
+
+assert_checkfalse(execstr("derivative(list(""foo"",""aa""),x)", "errcatch") == 0);
+refMsg = msprintf(_("%s: Wrong type for element #%d in input argument #%d: A function is expected, but current type is %s.\n"), "derivative", 1, 1, typeof("a"));
+assert_checkerror("derivative(list(""foo"",""aa""),x)", refMsg);
+
+
+
+
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8546.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8546.dia.ref
new file mode 100755
index 000000000..f24b6501d
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8546.dia.ref
@@ -0,0 +1,59 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8546 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8546
+//
+// <-- Short Description -->
+// The neldermead function may call f outside the bounds.
+//
+function [ f , index ] = myquad ( x , index )
+ mprintf("index=%d, x=[%.2f %.2f]\n",index,x(1),x(2))
+ if ( or(x < 1) | or(x > 2) ) then
+ error("Point not in bounds")
+ end
+ f = x(1)^2 + x(2)^2
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[1 1]);
+nm = neldermead_configure(nm,"-boundsmax",[2 2]);
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+nm = neldermead_search(nm);
+index=1, x=[1.20 1.90]
+index=2, x=[1.20 1.90]
+index=2, x=[1.20 1.90]
+index=2, x=[1.30 1.90]
+index=2, x=[1.20 2.00]
+index=2, x=[1.31 1.77]
+index=2, x=[1.20 1.75]
+index=2, x=[1.33 1.58]
+index=2, x=[1.21 1.53]
+index=2, x=[1.36 1.30]
+index=2, x=[1.22 1.20]
+index=2, x=[1.40 1.00]
+index=2, x=[1.24 1.00]
+index=2, x=[1.01 1.22]
+index=2, x=[1.00 1.00]
+index=2, x=[1.00 1.26]
+index=2, x=[1.00 1.19]
+index=2, x=[1.00 1.00]
+index=2, x=[1.00 1.00]
+index=2, x=[1.00 1.00]
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal(xopt,[1;1],1.e-6);
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal(fopt,2,1.e-4);
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8546.tst b/modules/optimization/tests/nonreg_tests/bug_8546.tst
new file mode 100755
index 000000000..308a84682
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8546.tst
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8546 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8546
+//
+// <-- Short Description -->
+// The neldermead function may call f outside the bounds.
+//
+
+function [ f , index ] = myquad ( x , index )
+ mprintf("index=%d, x=[%.2f %.2f]\n",index,x(1),x(2))
+ if ( or(x < 1) | or(x > 2) ) then
+ error("Point not in bounds")
+ end
+ f = x(1)^2 + x(2)^2
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[1 1]);
+nm = neldermead_configure(nm,"-boundsmax",[2 2]);
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal(xopt,[1;1],1.e-6);
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal(fopt,2,1.e-4);
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8547.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8547.dia.ref
new file mode 100755
index 000000000..e486381b8
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8547.dia.ref
@@ -0,0 +1,52 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8547 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8547
+//
+// <-- Short Description -->
+// The neldermead function may call f outside the constraints.
+//
+function [ f , c , index ] = myquad ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ if ( or(x < 1) | or(x > 2) ) then
+ error("Point not in bounds")
+ end
+ f = x(1)^2 + x(2)^2
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1)-1
+ c2 = x(2)-1
+ c3 = 2-x(1)
+ c4 = 2-x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9].';
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",myquad);
+nm = nmplot_configure(nm,"-x0",x0);
+nm = nmplot_configure(nm,"-method","box");
+nm = nmplot_configure(nm,"-boundsmin",[0 0]);
+nm = nmplot_configure(nm,"-boundsmax",[3 3]);
+nm = nmplot_configure(nm,"-nbineqconst",4);
+nm = nmplot_configure(nm,"-simplex0method","randbounds");
+nm = nmplot_configure(nm,"-maxiter",200);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_search(nm);
+xopt = nmplot_get(nm,"-xopt");
+assert_checkalmostequal(xopt,[1;1],1.d-2);
+fopt = nmplot_get(nm,"-fopt");
+assert_checkalmostequal(fopt,2,1.d-2);
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8547.tst b/modules/optimization/tests/nonreg_tests/bug_8547.tst
new file mode 100755
index 000000000..b7f53dad5
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8547.tst
@@ -0,0 +1,54 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8547 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8547
+//
+// <-- Short Description -->
+// The neldermead function may call f outside the constraints.
+//
+
+function [ f , c , index ] = myquad ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ if ( or(x < 1) | or(x > 2) ) then
+ error("Point not in bounds")
+ end
+ f = x(1)^2 + x(2)^2
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1)-1
+ c2 = x(2)-1
+ c3 = 2-x(1)
+ c4 = 2-x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+
+rand("seed" , 0)
+x0 = [1.2 1.9].';
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",myquad);
+nm = nmplot_configure(nm,"-x0",x0);
+nm = nmplot_configure(nm,"-method","box");
+nm = nmplot_configure(nm,"-boundsmin",[0 0]);
+nm = nmplot_configure(nm,"-boundsmax",[3 3]);
+nm = nmplot_configure(nm,"-nbineqconst",4);
+nm = nmplot_configure(nm,"-simplex0method","randbounds");
+nm = nmplot_configure(nm,"-maxiter",200);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_search(nm);
+xopt = nmplot_get(nm,"-xopt");
+assert_checkalmostequal(xopt,[1;1],1.d-2);
+fopt = nmplot_get(nm,"-fopt");
+assert_checkalmostequal(fopt,2,1.d-2);
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8549.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8549.dia.ref
new file mode 100755
index 000000000..e276e9644
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8549.dia.ref
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8549 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8549
+//
+// <-- Short Description -->
+// The neldermead function does not help to debug the cost function.
+//
+function [ f , index ] = myquad ( x , index )
+ f = x(1)^2 + x(2)^2 + x(3)^2
+endfunction
+x0 = [1.2 1.9].';
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",myquad);
+nm = nmplot_configure(nm,"-x0",x0);
+instr = "nm = nmplot_search(nm)";
+lclmsg = gettext ( "%s: Cannot evaluate cost function with ""%s"": %s" );
+scimsg = msprintf(_("Invalid index.\n"));
+assert_checkerror(instr, lclmsg , [], "optimbase_checkcostfun", "[f,index]=costf(x0,1)", scimsg);
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8549.tst b/modules/optimization/tests/nonreg_tests/bug_8549.tst
new file mode 100755
index 000000000..abf59501c
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8549.tst
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8549 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8549
+//
+// <-- Short Description -->
+// The neldermead function does not help to debug the cost function.
+//
+
+function [ f , index ] = myquad ( x , index )
+ f = x(1)^2 + x(2)^2 + x(3)^2
+endfunction
+x0 = [1.2 1.9].';
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",myquad);
+nm = nmplot_configure(nm,"-x0",x0);
+instr = "nm = nmplot_search(nm)";
+lclmsg = gettext ( "%s: Cannot evaluate cost function with ""%s"": %s" );
+scimsg = msprintf(_("Invalid index.\n"));
+assert_checkerror(instr, lclmsg , [], "optimbase_checkcostfun", "[f,index]=costf(x0,1)", scimsg);
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8719.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8719.dia.ref
new file mode 100755
index 000000000..fdb3545e3
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8719.dia.ref
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8719 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8719
+//
+// <-- Short Description -->
+// The karmarkar function prints unwanted messages.
+//
+c = [-20 -24 0 0]';
+a = [
+3 6 1 0
+4 2 0 1
+];
+b = [60 32]';
+expected = [4 8 0 0]';
+x0 = [
+4.1128205
+7.7333333
+1.2615385
+0.0820513
+];
+xopt=karmarkar(a,b,c,x0);
+assert_checkalmostequal ( xopt , expected , 1.e-3, 1.e-3 );
diff --git a/modules/optimization/tests/nonreg_tests/bug_8719.tst b/modules/optimization/tests/nonreg_tests/bug_8719.tst
new file mode 100755
index 000000000..7e59a25b0
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8719.tst
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8719 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8719
+//
+// <-- Short Description -->
+// The karmarkar function prints unwanted messages.
+//
+
+
+c = [-20 -24 0 0]';
+a = [
+3 6 1 0
+4 2 0 1
+];
+b = [60 32]';
+expected = [4 8 0 0]';
+x0 = [
+4.1128205
+7.7333333
+1.2615385
+0.0820513
+];
+xopt=karmarkar(a,b,c,x0);
+assert_checkalmostequal ( xopt , expected , 1.e-3, 1.e-3 );
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8720.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8720.dia.ref
new file mode 100755
index 000000000..7c4825281
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8720.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8720 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8720
+//
+// <-- Short Description -->
+// The karmarkar function may stop too early in the iterations.
+//
+c = 1.e-20 * [-20 -24 0 0]';
+a = [
+3 6 1 0
+4 2 0 1
+];
+b = [60 32]';
+x0 = [4.1128205 7.7333333 1.2615385 0.0820513]';
+expected = [4 8 0 0]';
+xopt = karmarkar(a,b,c,x0);
+assert_checkalmostequal ( xopt , expected , 1.e-4, 1.e-3);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8720.tst b/modules/optimization/tests/nonreg_tests/bug_8720.tst
new file mode 100755
index 000000000..54ef2d02f
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8720.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8720 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8720
+//
+// <-- Short Description -->
+// The karmarkar function may stop too early in the iterations.
+//
+
+
+c = 1.e-20 * [-20 -24 0 0]';
+a = [
+3 6 1 0
+4 2 0 1
+];
+b = [60 32]';
+x0 = [4.1128205 7.7333333 1.2615385 0.0820513]';
+expected = [4 8 0 0]';
+xopt = karmarkar(a,b,c,x0);
+assert_checkalmostequal ( xopt , expected , 1.e-4, 1.e-3);
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8726.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8726.dia.ref
new file mode 100755
index 000000000..dfb181472
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8726.dia.ref
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- Non-regression test for bug 8726 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8726
+//
+// <-- Short Description -->
+// The karmarkar function may produce a division-by-zero error.
+//
+Aeq = [
+1 -1 0
+1 1 1
+];
+beq = [0;2];
+c = [-1;-1;0];
+x0 = [1;1;0];
+xopt=karmarkar(Aeq,beq,c,x0);
+WARNING: karmarkar: The algorithm did not converge (exitflag= -3).
+xexpected = [1;1;0];
+assert_checkequal ( xopt , xexpected );
diff --git a/modules/optimization/tests/nonreg_tests/bug_8726.tst b/modules/optimization/tests/nonreg_tests/bug_8726.tst
new file mode 100755
index 000000000..03d8e0fdf
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8726.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- Non-regression test for bug 8726 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8726
+//
+// <-- Short Description -->
+// The karmarkar function may produce a division-by-zero error.
+//
+
+
+
+Aeq = [
+1 -1 0
+1 1 1
+];
+beq = [0;2];
+c = [-1;-1;0];
+x0 = [1;1;0];
+xopt=karmarkar(Aeq,beq,c,x0);
+xexpected = [1;1;0];
+assert_checkequal ( xopt , xexpected );
+
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8727.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8727.dia.ref
new file mode 100755
index 000000000..88aa418bd
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8727.dia.ref
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8727 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8727
+//
+// <-- Short Description -->
+// The karmarkar function requires the initial guess x0.
+//
+n=11;
+Aeq = zeros(n,n+2);
+Aeq(:,1) = 2*linspace(0,1,n)';
+Aeq(:,2) = ones(11,1);
+Aeq(1:n,3:n+2) = eye(n,n);
+beq = 1 + linspace(0,1,n)'.^2;
+c=[-1;-1;zeros(n,1)];
+xopt=karmarkar(Aeq,beq,c);
+xstar = [
+ 0.5041940
+ 0.7457937
+ 0.2542063
+ 0.1633675
+ 0.0925287
+ 0.0416899
+ 0.0108511
+ 0.0000123
+ 0.0091735
+ 0.0383347
+ 0.0874959
+ 0.1566571
+ 0.2458183
+];
+assert_checkalmostequal ( xopt , xstar , 1.e-6, 1.e-6 );
diff --git a/modules/optimization/tests/nonreg_tests/bug_8727.tst b/modules/optimization/tests/nonreg_tests/bug_8727.tst
new file mode 100755
index 000000000..08e5d4407
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8727.tst
@@ -0,0 +1,46 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8727 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8727
+//
+// <-- Short Description -->
+// The karmarkar function requires the initial guess x0.
+//
+
+
+
+
+n=11;
+Aeq = zeros(n,n+2);
+Aeq(:,1) = 2*linspace(0,1,n)';
+Aeq(:,2) = ones(11,1);
+Aeq(1:n,3:n+2) = eye(n,n);
+beq = 1 + linspace(0,1,n)'.^2;
+c=[-1;-1;zeros(n,1)];
+xopt=karmarkar(Aeq,beq,c);
+
+xstar = [
+ 0.5041940
+ 0.7457937
+ 0.2542063
+ 0.1633675
+ 0.0925287
+ 0.0416899
+ 0.0108511
+ 0.0000123
+ 0.0091735
+ 0.0383347
+ 0.0874959
+ 0.1566571
+ 0.2458183
+];
+assert_checkalmostequal ( xopt , xstar , 1.e-6, 1.e-6 );
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8775.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8775.dia.ref
new file mode 100755
index 000000000..04a9c09b6
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8775.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8775 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8775
+//
+// <-- Short Description -->
+// The karmarkar function might diverge toward a non-optimal point.
+//
+// An unbounded problem.
+Aeq = [
+ 2 -2 -1 1 0
+-1 -4 1 0 1
+];
+beq = [-1;-1];
+c = [2;9;3;0;0];
+x0 = [0.2;0.7;1;1;1];
+[xopt,fopt,exitflag]=karmarkar(Aeq,beq,c,x0,0,0.999);
+assert_checkequal ( exitflag , -2 );
diff --git a/modules/optimization/tests/nonreg_tests/bug_8775.tst b/modules/optimization/tests/nonreg_tests/bug_8775.tst
new file mode 100755
index 000000000..7238215c1
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8775.tst
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8775 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8775
+//
+// <-- Short Description -->
+// The karmarkar function might diverge toward a non-optimal point.
+//
+
+
+
+// An unbounded problem.
+Aeq = [
+ 2 -2 -1 1 0
+-1 -4 1 0 1
+];
+beq = [-1;-1];
+c = [2;9;3;0;0];
+x0 = [0.2;0.7;1;1;1];
+[xopt,fopt,exitflag]=karmarkar(Aeq,beq,c,x0,0,0.999);
+assert_checkequal ( exitflag , -2 );
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8777.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8777.dia.ref
new file mode 100755
index 000000000..08c2355ae
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8777.dia.ref
@@ -0,0 +1,70 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8777 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8777
+//
+// <-- Short Description -->
+// The neldermead function may fail to restart with bounds.
+//
+// Script #1
+function [ f , index ] = myquad ( x , index )
+ f = x(1)^2 + x(2)^2 + x(3)^2
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9,1.5].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",3);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[1 1 1]);
+nm = neldermead_configure(nm,"-boundsmax",[2 2 2]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+instr = "nm = neldermead_restart(nm)";
+lclmsg = gettext("%s: The initial simplex method ""%s"" is not compatible with the restart simplex method ""%s""");
+assert_checkerror( instr, lclmsg , [], "neldermead_updatesimp", "randbounds" ,"oriented");
+nm = neldermead_destroy(nm);
+// Script #2
+function [ f , index ] = myquad ( x , index )
+ f = x(1)^2 + x(2)^2 + x(3)^2
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9,1.5].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",3);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[1 1 1]);
+nm = neldermead_configure(nm,"-boundsmax",[2 2 2]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_configure(nm,"-restartsimplexmethod","randbounds");
+nm = neldermead_restart(nm);
+//
+xopt = neldermead_get(nm,"-xopt");
+xstar = [1;1;1];
+assert_checkalmostequal(xopt,xstar,1.e-4);
+//
+fopt = neldermead_get(nm,"-fopt");
+fstar = 3;
+assert_checkalmostequal(fopt,fstar,1.e-4);
+//
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8777.tst b/modules/optimization/tests/nonreg_tests/bug_8777.tst
new file mode 100755
index 000000000..dbcd6fbdc
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8777.tst
@@ -0,0 +1,74 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8777 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8777
+//
+// <-- Short Description -->
+// The neldermead function may fail to restart with bounds.
+//
+
+// Script #1
+
+function [ f , index ] = myquad ( x , index )
+ f = x(1)^2 + x(2)^2 + x(3)^2
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9,1.5].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",3);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[1 1 1]);
+nm = neldermead_configure(nm,"-boundsmax",[2 2 2]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm);
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+instr = "nm = neldermead_restart(nm)";
+lclmsg = gettext("%s: The initial simplex method ""%s"" is not compatible with the restart simplex method ""%s""");
+assert_checkerror( instr, lclmsg , [], "neldermead_updatesimp", "randbounds" ,"oriented");
+nm = neldermead_destroy(nm);
+
+// Script #2
+
+function [ f , index ] = myquad ( x , index )
+ f = x(1)^2 + x(2)^2 + x(3)^2
+endfunction
+rand("seed" , 0)
+x0 = [1.2 1.9,1.5].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",3);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[1 1 1]);
+nm = neldermead_configure(nm,"-boundsmax",[2 2 2]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm);
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_configure(nm,"-restartsimplexmethod","randbounds");
+nm = neldermead_restart(nm);
+//
+xopt = neldermead_get(nm,"-xopt");
+xstar = [1;1;1];
+assert_checkalmostequal(xopt,xstar,1.e-4);
+//
+fopt = neldermead_get(nm,"-fopt");
+fstar = 3;
+assert_checkalmostequal(fopt,fstar,1.e-4);
+//
+nm = neldermead_destroy(nm);
+
+
+
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_8805.dia.ref b/modules/optimization/tests/nonreg_tests/bug_8805.dia.ref
new file mode 100755
index 000000000..81de19749
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8805.dia.ref
@@ -0,0 +1,98 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8805 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8805
+//
+// <-- Short Description -->
+// The neldermead function, algorithm box, wrongly used
+// the output function.
+// Manually check that the .ref contains the good values for f and x.
+//
+function [ f , index ] = costf ( x , index )
+ f = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2
+endfunction
+function stop = myoutputcmd(state, data)
+ iter = data.iteration
+ if ( state == "init" ) then
+ mprintf ( "=================================\n");
+ mprintf ( "Initialization\n");
+ elseif ( state == "done" ) then
+ mprintf ( "=================================\n");
+ mprintf ( "End of Optimization\n");
+ end
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ simplex = data.simplex
+ // Simplex is a data structure, which can be managed
+ // by the optimsimplex class.
+ ssize = optimsimplex_size ( simplex )
+ if ( modulo(iter,10)==0 ) then
+ mprintf ( "Iteration #%d, Feval #%d, Fval = %s, x = %s, Size = %s\n", ..
+ iter,fc, string(fval), strcat(string(x)," "), string(ssize));
+ end
+ stop = %f
+endfunction
+xopt = [1;1]
+ xopt =
+
+ 1.
+ 1.
+fopt = 0
+ fopt =
+
+ 0.
+x0 = [-1.2 1.0];
+lower_bounds = [-2 -2];
+upper_bounds = [2. 2.];
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",costf);
+nm = neldermead_configure(nm,"-x0",x0');
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",lower_bounds);
+nm = neldermead_configure(nm,"-boundsmax",upper_bounds);
+nm = neldermead_configure(nm,"-maxfunevals",400);
+nm = neldermead_configure(nm,"-maxiter",250);
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm);
+=================================
+Initialization
+Iteration #0, Feval #5, Fval = 24.2, x = -1.2 1, Size = 1
+Iteration #10, Feval #21, Fval = 7.9162551, x = -1.0888039 0.9969959, Size = 0.4763039
+Iteration #20, Feval #38, Fval = 3.5785663, x = -0.7469755 0.4854023, Size = 0.3143594
+Iteration #30, Feval #58, Fval = 2.8441192, x = -0.6293793 0.4396203, Size = 0.0448992
+Iteration #40, Feval #68, Fval = 1.4592158, x = -0.2023866 0.0293490, Size = 0.1593684
+Iteration #50, Feval #87, Fval = 1.4248557, x = -0.1760318 0.0105409, Size = 0.0139912
+Iteration #60, Feval #97, Fval = 1.2862472, x = -0.1287556 0.0055517, Size = 0.0280765
+Iteration #70, Feval #110, Fval = 0.9998833, x = 0.0380809 -0.0258619, Size = 0.0603288
+Iteration #80, Feval #123, Fval = 0.5295656, x = 0.2750716 0.0693048, Size = 0.1059773
+Iteration #90, Feval #137, Fval = 0.3227594, x = 0.4479052 0.1872210, Size = 0.0543941
+Iteration #100, Feval #151, Fval = 0.2460534, x = 0.5394682 0.2725966, Size = 0.0972132
+Iteration #110, Feval #164, Fval = 0.0712614, x = 0.7533294 0.5572998, Size = 0.1683063
+Iteration #120, Feval #178, Fval = 0.0241643, x = 0.8601955 0.7331400, Size = 0.1201279
+Iteration #130, Feval #194, Fval = 0.0006215, x = 0.9932147 0.9888743, Size = 0.0910561
+Iteration #140, Feval #213, Fval = 0.0000914, x = 0.9907809 0.9818993, Size = 0.0191679
+Iteration #150, Feval #231, Fval = 0.0000080, x = 0.9973005 0.9945266, Size = 0.0036059
+Iteration #160, Feval #247, Fval = 0.0000018, x = 1.0006153 1.0013496, Size = 0.0024367
+Iteration #170, Feval #262, Fval = 0.0000001, x = 0.9997092 0.9993959, Size = 0.0014992
+Iteration #180, Feval #285, Fval = 7.121D-08, x = 1.0000349 1.0000433, Size = 0.0001173
+Iteration #190, Feval #296, Fval = 3.730D-08, x = 1.0001101 1.0002043, Size = 0.0002640
+Iteration #200, Feval #310, Fval = 8.015D-09, x = 1.0000652 1.0001242, Size = 0.0001581
+Iteration #210, Feval #325, Fval = 1.036D-09, x = 0.9999743 0.9999467, Size = 0.0001415
+Iteration #220, Feval #342, Fval = 6.061D-11, x = 1.0000017 1.0000041, Size = 0.0000291
+Iteration #230, Feval #360, Fval = 1.459D-11, x = 0.9999963 0.9999928, Size = 0.0000039
+Iteration #240, Feval #380, Fval = 1.048D-12, x = 0.9999990 0.9999980, Size = 0.0000005
+=================================
+End of Optimization
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal(xopt,[1;1],1.d-1);
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_8805.tst b/modules/optimization/tests/nonreg_tests/bug_8805.tst
new file mode 100755
index 000000000..cfa1522ff
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_8805.tst
@@ -0,0 +1,70 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 8805 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8805
+//
+// <-- Short Description -->
+// The neldermead function, algorithm box, wrongly used
+// the output function.
+// Manually check that the .ref contains the good values for f and x.
+//
+
+function [ f , index ] = costf ( x , index )
+ f = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2
+endfunction
+
+
+function stop = myoutputcmd(state, data)
+ iter = data.iteration
+ if ( state == "init" ) then
+ mprintf ( "=================================\n");
+ mprintf ( "Initialization\n");
+ elseif ( state == "done" ) then
+ mprintf ( "=================================\n");
+ mprintf ( "End of Optimization\n");
+ end
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ simplex = data.simplex
+ // Simplex is a data structure, which can be managed
+ // by the optimsimplex class.
+ ssize = optimsimplex_size ( simplex )
+ if ( modulo(iter,10)==0 ) then
+ mprintf ( "Iteration #%d, Feval #%d, Fval = %s, x = %s, Size = %s\n", ..
+ iter,fc, string(fval), strcat(string(x)," "), string(ssize));
+ end
+ stop = %f
+endfunction
+
+
+xopt = [1;1]
+fopt = 0
+x0 = [-1.2 1.0];
+lower_bounds = [-2 -2];
+upper_bounds = [2. 2.];
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",costf);
+nm = neldermead_configure(nm,"-x0",x0');
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",lower_bounds);
+nm = neldermead_configure(nm,"-boundsmax",upper_bounds);
+nm = neldermead_configure(nm,"-maxfunevals",400);
+nm = neldermead_configure(nm,"-maxiter",250);
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal(xopt,[1;1],1.d-1);
+nm = neldermead_destroy(nm);
+
+
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_9208.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9208.dia.ref
new file mode 100755
index 000000000..bcfa4a031
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9208.dia.ref
@@ -0,0 +1,348 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9208 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9208
+//
+// <-- Short Description -->
+// Added three optional output arguments to optim(), to retrieve #iterations,
+// #evaluations and a termination flag.
+//
+// Example 1
+a = 1.0;
+b = 2.0;
+c = 3.0;
+d = 4.0;
+x0 = [1 1];
+function [f, g, ind] = costfunction(x, ind, a, b, c, d)
+ f = a * ( x(1) - c ) ^2 + b * ( x(2) - d )^2;
+ g(1) = 2 * a * ( x(1) - c );
+ g(2) = 2 * b * ( x(2) - d );
+endfunction
+costf = list ( costfunction , a , b , c, d );
+[fopt, xopt, w, g, iters, evals, err] = optim ( costf , x0 );
+assert_checkequal([iters evals err], [10 11 1]);
+[fopt, xopt, w, g, iters, evals, err] = optim ( costf , x0 , "ar",nap=5 );
+assert_checkequal([iters evals err], [4 5 4]);
+[fopt, xopt, w, g, iters, evals, err] = optim ( costf , x0 , "ar",nap=100,iter=5 );
+assert_checkequal([iters evals err], [6 7 5]);
+// Example 2
+x0 = [-1.2 1.0];
+function f = rosenbrock(x)
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost2(x, ind)
+ f = rosenbrock ( x );
+ g = derivative ( rosenbrock , x.' , order = 4 );
+endfunction
+[fopt, xopt, w, g, iters, evals, err] = optim ( rosenbrockCost2 , x0 );
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkequal([iters evals err], [37 50 9]);
+[fopt, xopt, w, g, iters, evals, err] = optim ( rosenbrockCost2 , x0 , "ar",nap=10 );
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkequal([iters evals err], [8 10 4]);
+[fopt, xopt, w, g, iters, evals, err] = optim ( rosenbrockCost2 , x0 , "ar",nap=100,iter=10 );
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkequal([iters evals err], [11 14 5]);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9208.tst b/modules/optimization/tests/nonreg_tests/bug_9208.tst
new file mode 100755
index 000000000..2c4def14b
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9208.tst
@@ -0,0 +1,61 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9208 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9208
+//
+// <-- Short Description -->
+// Added three optional output arguments to optim(), to retrieve #iterations,
+// #evaluations and a termination flag.
+//
+
+// Example 1
+a = 1.0;
+b = 2.0;
+c = 3.0;
+d = 4.0;
+x0 = [1 1];
+function [f, g, ind] = costfunction(x, ind, a, b, c, d)
+ f = a * ( x(1) - c ) ^2 + b * ( x(2) - d )^2;
+ g(1) = 2 * a * ( x(1) - c );
+ g(2) = 2 * b * ( x(2) - d );
+endfunction
+costf = list ( costfunction , a , b , c, d );
+
+[fopt, xopt, w, g, iters, evals, err] = optim ( costf , x0 );
+assert_checkequal([iters evals err], [10 11 1]);
+
+[fopt, xopt, w, g, iters, evals, err] = optim ( costf , x0 , "ar",nap=5 );
+assert_checkequal([iters evals err], [4 5 4]);
+
+[fopt, xopt, w, g, iters, evals, err] = optim ( costf , x0 , "ar",nap=100,iter=5 );
+assert_checkequal([iters evals err], [6 7 5]);
+
+
+// Example 2
+x0 = [-1.2 1.0];
+function f = rosenbrock(x)
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost2(x, ind)
+ f = rosenbrock ( x );
+ g = derivative ( rosenbrock , x.' , order = 4 );
+endfunction
+
+[fopt, xopt, w, g, iters, evals, err] = optim ( rosenbrockCost2 , x0 );
+assert_checkequal([iters evals err], [37 50 9]);
+
+[fopt, xopt, w, g, iters, evals, err] = optim ( rosenbrockCost2 , x0 , "ar",nap=10 );
+assert_checkequal([iters evals err], [8 10 4]);
+
+[fopt, xopt, w, g, iters, evals, err] = optim ( rosenbrockCost2 , x0 , "ar",nap=100,iter=10 );
+assert_checkequal([iters evals err], [11 14 5]);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9537.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9537.dia.ref
new file mode 100755
index 000000000..bc07c4f18
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9537.dia.ref
@@ -0,0 +1,156 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9537 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9537
+//
+// <-- Short Description -->
+// optimbase_configure() only allowed row vector as initial value.
+// Allowed column vector by transposing it.
+//
+// Load the program as it used to work. The fix for this bug does not apply to polygon.sce as it is.
+exec("SCI/modules/optimization/demos/neldermead/polygon.sce", -1);
+Finds the largest n-polygon with diameter smaller than 1.
+Area =0.649519 (expected = 0.649519)
+Maximum diameter=1.000000 (expected = 1.000000)
+Minimum diameter=0.500000 (expected=0.500000)
+Current area = 0.526110
+Constraint satisfaction = 0.100000 (expected positive)
+=================================
+Initialization
+Iter. # 0, Feval #117, Fval = -0.526110, S = 3.3e+00
+Iter. # 10, Feval #149, Fval = -0.571672, S = 9.8e-01
+Iter. # 20, Feval #176, Fval = -0.584718, S = 7.3e-01
+Iter. # 30, Feval #205, Fval = -0.592284, S = 7.2e-01
+Iter. # 40, Feval #233, Fval = -0.610004, S = 8.8e-01
+Iter. # 50, Feval #257, Fval = -0.612820, S = 7.0e-01
+Iter. # 60, Feval #288, Fval = -0.623092, S = 5.3e-01
+Iter. # 70, Feval #320, Fval = -0.632069, S = 5.1e-01
+Iter. # 80, Feval #348, Fval = -0.635569, S = 4.4e-01
+Iter. # 90, Feval #379, Fval = -0.636657, S = 4.9e-01
+Iter. #100, Feval #411, Fval = -0.639412, S = 4.5e-01
+Iter. #110, Feval #440, Fval = -0.639412, S = 3.2e-01
+Iter. #120, Feval #466, Fval = -0.640097, S = 3.5e-01
+Iter. #130, Feval #495, Fval = -0.640335, S = 2.5e-01
+Iter. #140, Feval #521, Fval = -0.641007, S = 2.5e-01
+Iter. #150, Feval #548, Fval = -0.644861, S = 2.4e-01
+Iter. #160, Feval #572, Fval = -0.646347, S = 2.7e-01
+Iter. #170, Feval #603, Fval = -0.646644, S = 2.1e-01
+Iter. #180, Feval #636, Fval = -0.646644, S = 2.1e-01
+Iter. #190, Feval #662, Fval = -0.646644, S = 2.1e-01
+Iter. #200, Feval #689, Fval = -0.647695, S = 1.9e-01
+Iter. #210, Feval #714, Fval = -0.648022, S = 1.9e-01
+Iter. #220, Feval #748, Fval = -0.648301, S = 1.2e-01
+Iter. #230, Feval #778, Fval = -0.648713, S = 1.8e-01
+Iter. #240, Feval #804, Fval = -0.649005, S = 1.3e-01
+Iter. #250, Feval #831, Fval = -0.649595, S = 1.0e-01
+Iter. #260, Feval #856, Fval = -0.650127, S = 1.0e-01
+Iter. #270, Feval #886, Fval = -0.650340, S = 1.4e-01
+Iter. #280, Feval #920, Fval = -0.650416, S = 1.0e-01
+Iter. #290, Feval #950, Fval = -0.650418, S = 9.0e-02
+Iter. #300, Feval #976, Fval = -0.650418, S = 7.3e-02
+Iter. #310, Feval #1004, Fval = -0.650660, S = 6.5e-02
+Iter. #320, Feval #1028, Fval = -0.650867, S = 1.1e-01
+Iter. #330, Feval #1053, Fval = -0.650968, S = 6.3e-02
+Iter. #340, Feval #1075, Fval = -0.651196, S = 1.1e-01
+Iter. #350, Feval #1098, Fval = -0.651548, S = 9.0e-02
+Iter. #360, Feval #1118, Fval = -0.651910, S = 1.2e-01
+Iter. #370, Feval #1139, Fval = -0.652586, S = 1.2e-01
+Iter. #380, Feval #1159, Fval = -0.653251, S = 1.4e-01
+Iter. #390, Feval #1180, Fval = -0.654245, S = 1.8e-01
+Iter. #400, Feval #1202, Fval = -0.654807, S = 1.6e-01
+Iter. #410, Feval #1228, Fval = -0.656402, S = 1.6e-01
+Iter. #420, Feval #1258, Fval = -0.656840, S = 9.0e-02
+Iter. #430, Feval #1282, Fval = -0.658177, S = 1.0e-01
+Iter. #440, Feval #1304, Fval = -0.658639, S = 1.3e-01
+Iter. #450, Feval #1328, Fval = -0.660199, S = 9.9e-02
+Iter. #460, Feval #1357, Fval = -0.661001, S = 1.2e-01
+Iter. #470, Feval #1388, Fval = -0.661446, S = 1.1e-01
+Iter. #480, Feval #1411, Fval = -0.662733, S = 1.3e-01
+Iter. #490, Feval #1432, Fval = -0.663961, S = 1.5e-01
+Iter. #500, Feval #1461, Fval = -0.664566, S = 1.3e-01
+Iter. #510, Feval #1492, Fval = -0.664737, S = 1.5e-01
+Iter. #520, Feval #1523, Fval = -0.664981, S = 1.2e-01
+Iter. #530, Feval #1552, Fval = -0.665215, S = 7.5e-02
+Iter. #540, Feval #1577, Fval = -0.665463, S = 1.2e-01
+Iter. #550, Feval #1602, Fval = -0.665827, S = 1.3e-01
+Iter. #560, Feval #1632, Fval = -0.665933, S = 1.0e-01
+Iter. #570, Feval #1667, Fval = -0.666014, S = 9.1e-02
+Iter. #580, Feval #1692, Fval = -0.666103, S = 8.3e-02
+Iter. #590, Feval #1718, Fval = -0.666253, S = 6.6e-02
+Iter. #600, Feval #1745, Fval = -0.666335, S = 6.1e-02
+Iter. #610, Feval #1773, Fval = -0.666591, S = 7.3e-02
+Iter. #620, Feval #1801, Fval = -0.666626, S = 4.6e-02
+Iter. #630, Feval #1832, Fval = -0.666725, S = 2.9e-02
+Iter. #640, Feval #1861, Fval = -0.666726, S = 4.9e-02
+Iter. #650, Feval #1897, Fval = -0.666808, S = 2.0e-02
+Iter. #660, Feval #1925, Fval = -0.666819, S = 1.9e-02
+Iter. #670, Feval #1949, Fval = -0.666878, S = 1.6e-02
+Iter. #680, Feval #1972, Fval = -0.666962, S = 2.3e-02
+Iter. #690, Feval #1994, Fval = -0.667053, S = 2.1e-02
+=================================
+End of Optimization
+Maximum Area =0.667053 (expected = 0.677981)
+// Now redefine largesmallpolygon() without transposing x0 in neldermead_configure(nm,"-x0",x0');
+// and check that we get the same result as before.
+function [A,r,t] = findlargestpolygon (nv)
+ // Finds the largest smallest polygon with nv vertices
+ // A : a 1-by-1 matrix of doubles, the area
+ // r : a nv-by-1 matrix of doubles, the radius
+ // t : a nv-by-1 matrix of doubles, the angle
+ radius = 0.45;
+ [r,t] = polygon_regular (nv);
+ r = radius*r;
+ x0 = [r;t];
+ index = 6;
+ [ f0 , c0 , index ] = largesmallpolygon ( x0 , index );
+ mprintf("Current area = %f\n",-f0);
+ mprintf("Constraint satisfaction = %f (expected positive)\n",min(c0));
+ //
+ // Setup bounds
+ rmin = zeros(nv,1);
+ rmax = ones(nv,1);
+ tmin = -ones(nv,1)*%pi;
+ tmax = ones(nv,1)*%pi;
+ xmin=[rmin;tmin];
+ xmax=[rmax;tmax];
+ //
+ nm = neldermead_new ();
+ nm = neldermead_configure(nm,"-numberofvariables",2*nv);
+ nm = neldermead_configure(nm,"-function",largesmallpolygon);
+ nm = neldermead_configure(nm,"-x0",x0);
+ nm = neldermead_configure(nm,"-maxiter",2000);
+ nm = neldermead_configure(nm,"-maxfunevals",2000);
+ nm = neldermead_configure(nm,"-method","box");
+ nm = neldermead_configure(nm,"-boundsmin",xmin);
+ nm = neldermead_configure(nm,"-boundsmax",xmax);
+ nm = neldermead_configure(nm,"-nbineqconst",nv^2+nv-1);
+ //
+ // Check that the cost function is correctly connected.
+ [ nm , result ] = neldermead_function ( nm , x0 );
+ //
+ // Perform optimization
+ nm = neldermead_search(nm, "off");
+ fopt = neldermead_get(nm,"-fopt")
+ A = -fopt
+ xopt = neldermead_get(nm,"-xopt")
+ r = xopt(1:nv)
+ t = xopt(nv+1:$)
+ nm = neldermead_destroy(nm)
+endfunction
+Warning : redefining function: findlargestpolygon . Use funcprot(0) to avoid this message
+
+nv = 6;
+rand("seed" , 0);
+[A,r,t] = findlargestpolygon (nv);
+Current area = 0.526110
+Constraint satisfaction = 0.100000 (expected positive)
+assert_checkalmostequal(A, 0.677981, [], 1e-1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9537.tst b/modules/optimization/tests/nonreg_tests/bug_9537.tst
new file mode 100755
index 000000000..552ae412a
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9537.tst
@@ -0,0 +1,76 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9537 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9537
+//
+// <-- Short Description -->
+// optimbase_configure() only allowed row vector as initial value.
+// Allowed column vector by transposing it.
+//
+
+// Load the program as it used to work. The fix for this bug does not apply to polygon.sce as it is.
+
+exec("SCI/modules/optimization/demos/neldermead/polygon.sce", -1);
+
+// Now redefine largesmallpolygon() without transposing x0 in neldermead_configure(nm,"-x0",x0');
+// and check that we get the same result as before.
+function [A,r,t] = findlargestpolygon (nv)
+ // Finds the largest smallest polygon with nv vertices
+ // A : a 1-by-1 matrix of doubles, the area
+ // r : a nv-by-1 matrix of doubles, the radius
+ // t : a nv-by-1 matrix of doubles, the angle
+ radius = 0.45;
+ [r,t] = polygon_regular (nv);
+ r = radius*r;
+ x0 = [r;t];
+ index = 6;
+ [ f0 , c0 , index ] = largesmallpolygon ( x0 , index );
+ mprintf("Current area = %f\n",-f0);
+ mprintf("Constraint satisfaction = %f (expected positive)\n",min(c0));
+ //
+ // Setup bounds
+ rmin = zeros(nv,1);
+ rmax = ones(nv,1);
+ tmin = -ones(nv,1)*%pi;
+ tmax = ones(nv,1)*%pi;
+ xmin=[rmin;tmin];
+ xmax=[rmax;tmax];
+ //
+ nm = neldermead_new ();
+ nm = neldermead_configure(nm,"-numberofvariables",2*nv);
+ nm = neldermead_configure(nm,"-function",largesmallpolygon);
+ nm = neldermead_configure(nm,"-x0",x0);
+ nm = neldermead_configure(nm,"-maxiter",2000);
+ nm = neldermead_configure(nm,"-maxfunevals",2000);
+ nm = neldermead_configure(nm,"-method","box");
+ nm = neldermead_configure(nm,"-boundsmin",xmin);
+ nm = neldermead_configure(nm,"-boundsmax",xmax);
+ nm = neldermead_configure(nm,"-nbineqconst",nv^2+nv-1);
+ //
+ // Check that the cost function is correctly connected.
+ [ nm , result ] = neldermead_function ( nm , x0 );
+ //
+ // Perform optimization
+ nm = neldermead_search(nm, "off");
+ fopt = neldermead_get(nm,"-fopt")
+ A = -fopt
+ xopt = neldermead_get(nm,"-xopt")
+ r = xopt(1:nv)
+ t = xopt(nv+1:$)
+ nm = neldermead_destroy(nm)
+endfunction
+
+
+nv = 6;
+rand("seed" , 0);
+[A,r,t] = findlargestpolygon (nv);
+assert_checkalmostequal(A, 0.677981, [], 1e-1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9538.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9538.dia.ref
new file mode 100755
index 000000000..1bdae061d
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9538.dia.ref
@@ -0,0 +1,233 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9538 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9538
+//
+// <-- Short Description -->
+// optimbase_checkshape() only allowed row vectors as return from the cost function.
+// Allowed column vectors.
+//
+// Load the program as it used to work. The fix for this bug does not apply to polygon.sce as it is.
+exec("SCI/modules/optimization/demos/neldermead/polygon.sce", -1);
+Finds the largest n-polygon with diameter smaller than 1.
+Area =0.649519 (expected = 0.649519)
+Maximum diameter=1.000000 (expected = 1.000000)
+Minimum diameter=0.500000 (expected=0.500000)
+Current area = 0.526110
+Constraint satisfaction = 0.100000 (expected positive)
+=================================
+Initialization
+Iter. # 0, Feval #117, Fval = -0.526110, S = 3.3e+00
+Iter. # 10, Feval #149, Fval = -0.571672, S = 9.8e-01
+Iter. # 20, Feval #176, Fval = -0.584718, S = 7.3e-01
+Iter. # 30, Feval #205, Fval = -0.592284, S = 7.2e-01
+Iter. # 40, Feval #233, Fval = -0.610004, S = 8.8e-01
+Iter. # 50, Feval #257, Fval = -0.612820, S = 7.0e-01
+Iter. # 60, Feval #288, Fval = -0.623092, S = 5.3e-01
+Iter. # 70, Feval #320, Fval = -0.632069, S = 5.1e-01
+Iter. # 80, Feval #348, Fval = -0.635569, S = 4.4e-01
+Iter. # 90, Feval #379, Fval = -0.636657, S = 4.9e-01
+Iter. #100, Feval #411, Fval = -0.639412, S = 4.5e-01
+Iter. #110, Feval #440, Fval = -0.639412, S = 3.2e-01
+Iter. #120, Feval #466, Fval = -0.640097, S = 3.5e-01
+Iter. #130, Feval #495, Fval = -0.640335, S = 2.5e-01
+Iter. #140, Feval #521, Fval = -0.641007, S = 2.5e-01
+Iter. #150, Feval #548, Fval = -0.644861, S = 2.4e-01
+Iter. #160, Feval #572, Fval = -0.646347, S = 2.7e-01
+Iter. #170, Feval #603, Fval = -0.646644, S = 2.1e-01
+Iter. #180, Feval #636, Fval = -0.646644, S = 2.1e-01
+Iter. #190, Feval #662, Fval = -0.646644, S = 2.1e-01
+Iter. #200, Feval #689, Fval = -0.647695, S = 1.9e-01
+Iter. #210, Feval #714, Fval = -0.648022, S = 1.9e-01
+Iter. #220, Feval #748, Fval = -0.648301, S = 1.2e-01
+Iter. #230, Feval #778, Fval = -0.648713, S = 1.8e-01
+Iter. #240, Feval #804, Fval = -0.649005, S = 1.3e-01
+Iter. #250, Feval #831, Fval = -0.649595, S = 1.0e-01
+Iter. #260, Feval #856, Fval = -0.650127, S = 1.0e-01
+Iter. #270, Feval #886, Fval = -0.650340, S = 1.4e-01
+Iter. #280, Feval #920, Fval = -0.650416, S = 1.0e-01
+Iter. #290, Feval #950, Fval = -0.650418, S = 9.0e-02
+Iter. #300, Feval #976, Fval = -0.650418, S = 7.3e-02
+Iter. #310, Feval #1004, Fval = -0.650660, S = 6.5e-02
+Iter. #320, Feval #1028, Fval = -0.650867, S = 1.1e-01
+Iter. #330, Feval #1053, Fval = -0.650968, S = 6.3e-02
+Iter. #340, Feval #1075, Fval = -0.651196, S = 1.1e-01
+Iter. #350, Feval #1098, Fval = -0.651548, S = 9.0e-02
+Iter. #360, Feval #1118, Fval = -0.651910, S = 1.2e-01
+Iter. #370, Feval #1139, Fval = -0.652586, S = 1.2e-01
+Iter. #380, Feval #1159, Fval = -0.653251, S = 1.4e-01
+Iter. #390, Feval #1180, Fval = -0.654245, S = 1.8e-01
+Iter. #400, Feval #1202, Fval = -0.654807, S = 1.6e-01
+Iter. #410, Feval #1228, Fval = -0.656402, S = 1.6e-01
+Iter. #420, Feval #1258, Fval = -0.656840, S = 9.0e-02
+Iter. #430, Feval #1282, Fval = -0.658177, S = 1.0e-01
+Iter. #440, Feval #1304, Fval = -0.658639, S = 1.3e-01
+Iter. #450, Feval #1328, Fval = -0.660199, S = 9.9e-02
+Iter. #460, Feval #1357, Fval = -0.661001, S = 1.2e-01
+Iter. #470, Feval #1388, Fval = -0.661446, S = 1.1e-01
+Iter. #480, Feval #1411, Fval = -0.662733, S = 1.3e-01
+Iter. #490, Feval #1432, Fval = -0.663961, S = 1.5e-01
+Iter. #500, Feval #1461, Fval = -0.664566, S = 1.3e-01
+Iter. #510, Feval #1492, Fval = -0.664737, S = 1.5e-01
+Iter. #520, Feval #1523, Fval = -0.664981, S = 1.2e-01
+Iter. #530, Feval #1552, Fval = -0.665215, S = 7.5e-02
+Iter. #540, Feval #1577, Fval = -0.665463, S = 1.2e-01
+Iter. #550, Feval #1602, Fval = -0.665827, S = 1.3e-01
+Iter. #560, Feval #1632, Fval = -0.665933, S = 1.0e-01
+Iter. #570, Feval #1667, Fval = -0.666014, S = 9.1e-02
+Iter. #580, Feval #1692, Fval = -0.666103, S = 8.3e-02
+Iter. #590, Feval #1718, Fval = -0.666253, S = 6.6e-02
+Iter. #600, Feval #1745, Fval = -0.666335, S = 6.1e-02
+Iter. #610, Feval #1773, Fval = -0.666591, S = 7.3e-02
+Iter. #620, Feval #1801, Fval = -0.666626, S = 4.6e-02
+Iter. #630, Feval #1832, Fval = -0.666725, S = 2.9e-02
+Iter. #640, Feval #1861, Fval = -0.666726, S = 4.9e-02
+Iter. #650, Feval #1897, Fval = -0.666808, S = 2.0e-02
+Iter. #660, Feval #1925, Fval = -0.666819, S = 1.9e-02
+Iter. #670, Feval #1949, Fval = -0.666878, S = 1.6e-02
+Iter. #680, Feval #1972, Fval = -0.666962, S = 2.3e-02
+Iter. #690, Feval #1994, Fval = -0.667053, S = 2.1e-02
+=================================
+End of Optimization
+Maximum Area =0.667053 (expected = 0.677981)
+// Now redefine largesmallpolygon() without the "transposition for neldermead"
+// and check that we get the same result as before.
+function [ f , c , index ] = largesmallpolygon ( x , index )
+ // Bibliography
+ // "Benchmarking Optimization Software with Cops"
+ // Dolan, Moré, 2001
+ // Section 1, "Largest Small Polygon"
+ //
+ // "Biggest Little Polygon"
+ // http://mathworld.wolfram.com/BiggestLittlePolygon.html
+ //
+ // Audet, C. "Optimisation globale structurée: propriétés, équivalences et résolution."
+ // Thèse de Doctorat. Montréal, Canada: École Polytechnique de Montréal, 1997.
+ // http://www.gerad.ca/Charles.Audet.
+ //
+ // Known optimal values are
+ // A6 = 0.677981 (Wolfram Mathworld)
+ // A8 = 0.726869 (Wolfram Mathworld)
+ // A25 = 0.77974 (Dolan & Moré - SNOPT)
+ // A50 = 0.784016 (Dolan & Moré - SNOPT)
+ // A75 = 0.784769 (Dolan & Moré - SNOPT)
+ // A100 = 0.785040 (Dolan & Moré - SNOPT)
+ //
+ nv = size(x,"*")/2
+ f = []
+ c = []
+ // nv: number of vertices
+ // x : a (2*nv)-by-1 matrix of doubles, where
+ // r is in [0,1]
+ // t is in [0,pi]
+ r = x(1:nv)
+ t = x(nv+1:2*nv)
+ //polygon_draw(r ,t , nv);
+ //pause
+ if ( index == 2 | index == 6 ) then
+ f = polygon_area(r ,t , nv)
+ f = -f
+ end
+ if ( index == 5 | index == 6 ) then
+ c = zeros(nv^2+nv-1,1)
+ // Set the diameters
+ d = polygon_diameters(r ,t , nv)
+ d = matrix(d,nv^2,1)
+ c(1:nv^2) = 1-d
+ // Set the angles
+ c(nv^2+1:nv^2+nv-1) = t(2:nv)-t(1:nv-1)
+ // Transpose for neldermead
+ //c = c'
+ end
+endfunction
+Warning : redefining function: largesmallpolygon . Use funcprot(0) to avoid this message
+
+nv = 6;
+rand("seed" , 0);
+[A,r,t] = findlargestpolygon (nv);
+Current area = 0.526110
+Constraint satisfaction = 0.100000 (expected positive)
+=================================
+Initialization
+Iter. # 0, Feval #117, Fval = -0.526110, S = 3.3e+00
+Iter. # 10, Feval #149, Fval = -0.571672, S = 9.8e-01
+Iter. # 20, Feval #176, Fval = -0.584718, S = 7.3e-01
+Iter. # 30, Feval #205, Fval = -0.592284, S = 7.2e-01
+Iter. # 40, Feval #233, Fval = -0.610004, S = 8.8e-01
+Iter. # 50, Feval #257, Fval = -0.612820, S = 7.0e-01
+Iter. # 60, Feval #288, Fval = -0.623092, S = 5.3e-01
+Iter. # 70, Feval #320, Fval = -0.632069, S = 5.1e-01
+Iter. # 80, Feval #348, Fval = -0.635569, S = 4.4e-01
+Iter. # 90, Feval #379, Fval = -0.636657, S = 4.9e-01
+Iter. #100, Feval #411, Fval = -0.639412, S = 4.5e-01
+Iter. #110, Feval #440, Fval = -0.639412, S = 3.2e-01
+Iter. #120, Feval #466, Fval = -0.640097, S = 3.5e-01
+Iter. #130, Feval #495, Fval = -0.640335, S = 2.5e-01
+Iter. #140, Feval #521, Fval = -0.641007, S = 2.5e-01
+Iter. #150, Feval #548, Fval = -0.644861, S = 2.4e-01
+Iter. #160, Feval #572, Fval = -0.646347, S = 2.7e-01
+Iter. #170, Feval #603, Fval = -0.646644, S = 2.1e-01
+Iter. #180, Feval #636, Fval = -0.646644, S = 2.1e-01
+Iter. #190, Feval #662, Fval = -0.646644, S = 2.1e-01
+Iter. #200, Feval #689, Fval = -0.647695, S = 1.9e-01
+Iter. #210, Feval #714, Fval = -0.648022, S = 1.9e-01
+Iter. #220, Feval #748, Fval = -0.648301, S = 1.2e-01
+Iter. #230, Feval #778, Fval = -0.648713, S = 1.8e-01
+Iter. #240, Feval #804, Fval = -0.649005, S = 1.3e-01
+Iter. #250, Feval #831, Fval = -0.649595, S = 1.0e-01
+Iter. #260, Feval #856, Fval = -0.650127, S = 1.0e-01
+Iter. #270, Feval #886, Fval = -0.650340, S = 1.4e-01
+Iter. #280, Feval #920, Fval = -0.650416, S = 1.0e-01
+Iter. #290, Feval #950, Fval = -0.650418, S = 9.0e-02
+Iter. #300, Feval #976, Fval = -0.650418, S = 7.3e-02
+Iter. #310, Feval #1004, Fval = -0.650660, S = 6.5e-02
+Iter. #320, Feval #1028, Fval = -0.650867, S = 1.1e-01
+Iter. #330, Feval #1053, Fval = -0.650968, S = 6.3e-02
+Iter. #340, Feval #1075, Fval = -0.651196, S = 1.1e-01
+Iter. #350, Feval #1098, Fval = -0.651548, S = 9.0e-02
+Iter. #360, Feval #1118, Fval = -0.651910, S = 1.2e-01
+Iter. #370, Feval #1139, Fval = -0.652586, S = 1.2e-01
+Iter. #380, Feval #1159, Fval = -0.653251, S = 1.4e-01
+Iter. #390, Feval #1180, Fval = -0.654245, S = 1.8e-01
+Iter. #400, Feval #1202, Fval = -0.654807, S = 1.6e-01
+Iter. #410, Feval #1228, Fval = -0.656402, S = 1.6e-01
+Iter. #420, Feval #1258, Fval = -0.656840, S = 9.0e-02
+Iter. #430, Feval #1282, Fval = -0.658177, S = 1.0e-01
+Iter. #440, Feval #1304, Fval = -0.658639, S = 1.3e-01
+Iter. #450, Feval #1328, Fval = -0.660199, S = 9.9e-02
+Iter. #460, Feval #1357, Fval = -0.661001, S = 1.2e-01
+Iter. #470, Feval #1388, Fval = -0.661446, S = 1.1e-01
+Iter. #480, Feval #1411, Fval = -0.662733, S = 1.3e-01
+Iter. #490, Feval #1432, Fval = -0.663961, S = 1.5e-01
+Iter. #500, Feval #1461, Fval = -0.664566, S = 1.3e-01
+Iter. #510, Feval #1492, Fval = -0.664737, S = 1.5e-01
+Iter. #520, Feval #1523, Fval = -0.664981, S = 1.2e-01
+Iter. #530, Feval #1552, Fval = -0.665215, S = 7.5e-02
+Iter. #540, Feval #1577, Fval = -0.665463, S = 1.2e-01
+Iter. #550, Feval #1602, Fval = -0.665827, S = 1.3e-01
+Iter. #560, Feval #1632, Fval = -0.665933, S = 1.0e-01
+Iter. #570, Feval #1667, Fval = -0.666014, S = 9.1e-02
+Iter. #580, Feval #1692, Fval = -0.666103, S = 8.3e-02
+Iter. #590, Feval #1718, Fval = -0.666253, S = 6.6e-02
+Iter. #600, Feval #1745, Fval = -0.666335, S = 6.1e-02
+Iter. #610, Feval #1773, Fval = -0.666591, S = 7.3e-02
+Iter. #620, Feval #1801, Fval = -0.666626, S = 4.6e-02
+Iter. #630, Feval #1832, Fval = -0.666725, S = 2.9e-02
+Iter. #640, Feval #1861, Fval = -0.666726, S = 4.9e-02
+Iter. #650, Feval #1897, Fval = -0.666808, S = 2.0e-02
+Iter. #660, Feval #1925, Fval = -0.666819, S = 1.9e-02
+Iter. #670, Feval #1949, Fval = -0.666878, S = 1.6e-02
+Iter. #680, Feval #1972, Fval = -0.666962, S = 2.3e-02
+Iter. #690, Feval #1994, Fval = -0.667053, S = 2.1e-02
+=================================
+End of Optimization
+assert_checkalmostequal(A, 0.677981, [], 1e-1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9538.tst b/modules/optimization/tests/nonreg_tests/bug_9538.tst
new file mode 100755
index 000000000..bf84b9675
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9538.tst
@@ -0,0 +1,81 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9538 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9538
+//
+// <-- Short Description -->
+// optimbase_checkshape() only allowed row vectors as return from the cost function.
+// Allowed column vectors.
+//
+
+// Load the program as it used to work. The fix for this bug does not apply to polygon.sce as it is.
+exec("SCI/modules/optimization/demos/neldermead/polygon.sce", -1);
+
+// Now redefine largesmallpolygon() without the "transposition for neldermead"
+// and check that we get the same result as before.
+function [ f , c , index ] = largesmallpolygon ( x , index )
+ // Bibliography
+ // "Benchmarking Optimization Software with Cops"
+ // Dolan, Moré, 2001
+ // Section 1, "Largest Small Polygon"
+ //
+ // "Biggest Little Polygon"
+ // http://mathworld.wolfram.com/BiggestLittlePolygon.html
+ //
+ // Audet, C. "Optimisation globale structurée: propriétés, équivalences et résolution."
+ // Thèse de Doctorat. Montréal, Canada: École Polytechnique de Montréal, 1997.
+ // http://www.gerad.ca/Charles.Audet.
+ //
+ // Known optimal values are
+ // A6 = 0.677981 (Wolfram Mathworld)
+ // A8 = 0.726869 (Wolfram Mathworld)
+ // A25 = 0.77974 (Dolan & Moré - SNOPT)
+ // A50 = 0.784016 (Dolan & Moré - SNOPT)
+ // A75 = 0.784769 (Dolan & Moré - SNOPT)
+ // A100 = 0.785040 (Dolan & Moré - SNOPT)
+ //
+ nv = size(x,"*")/2
+ f = []
+ c = []
+ // nv: number of vertices
+ // x : a (2*nv)-by-1 matrix of doubles, where
+ // r is in [0,1]
+ // t is in [0,pi]
+ r = x(1:nv)
+ t = x(nv+1:2*nv)
+
+ //polygon_draw(r ,t , nv);
+ //pause
+
+ if ( index == 2 | index == 6 ) then
+ f = polygon_area(r ,t , nv)
+ f = -f
+ end
+ if ( index == 5 | index == 6 ) then
+ c = zeros(nv^2+nv-1,1)
+ // Set the diameters
+ d = polygon_diameters(r ,t , nv)
+ d = matrix(d,nv^2,1)
+ c(1:nv^2) = 1-d
+ // Set the angles
+ c(nv^2+1:nv^2+nv-1) = t(2:nv)-t(1:nv-1)
+ // Transpose for neldermead
+ //c = c'
+ end
+endfunction
+
+
+nv = 6;
+rand("seed" , 0);
+[A,r,t] = findlargestpolygon (nv);
+
+assert_checkalmostequal(A, 0.677981, [], 1e-1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9566.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9566.dia.ref
new file mode 100755
index 000000000..5fe4fb56f
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9566.dia.ref
@@ -0,0 +1,72 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9566 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9566
+//
+// <-- Short Description -->
+// The tolvarianceflag, tolabsolutevariance, tolrelativevariance options of
+// neldermead are unnecessary.
+//
+function stop = myoutputcmd ( state, data, tolrelativevariance, tolabsolutevariance, variancesimplex0 )
+ simplex = data.simplex
+ stop = %f
+ if ( state == "iter") then
+ var = optimsimplex_fvvariance ( simplex )
+ if ( var < tolrelativevariance * variancesimplex0 + tolabsolutevariance ) then
+ stop = %t;
+ end
+ end
+endfunction
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test with my own termination criteria
+//
+x0 = [1.1 1.1]';
+simplex0 = optimsimplex_new ( "axes" , x0.' );
+coords0 = optimsimplex_getallx(simplex0);
+variancesimplex0 = optimsimplex_fvvariance ( simplex0 );
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+// Disable default terminations
+nm = neldermead_configure(nm,"-maxiter",%inf);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+tolabsolutevariance = 1.e-6;
+tolrelativevariance = 1.e-6;
+stopfun = list(myoutputcmd, tolrelativevariance, tolabsolutevariance, variancesimplex0);
+nm = neldermead_configure(nm,"-outputcommand",stopfun);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-3 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "userstop" );
+// Check simplex variance
+simplex = neldermead_get(nm,"-simplexopt");
+var = optimsimplex_fvvariance ( simplex );
+ssize = optimsimplex_size ( simplex , "sigmaplus" );
+assert_checktrue ( var < tolrelativevariance * variancesimplex0 + tolabsolutevariance );
+// Check function evaluations
+funevals = neldermead_get(nm,"-funevals");
+assert_checkequal ( funevals<200 , %t );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9566.tst b/modules/optimization/tests/nonreg_tests/bug_9566.tst
new file mode 100755
index 000000000..135958fb5
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9566.tst
@@ -0,0 +1,75 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9566 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9566
+//
+// <-- Short Description -->
+// The tolvarianceflag, tolabsolutevariance, tolrelativevariance options of
+// neldermead are unnecessary.
+//
+
+function stop = myoutputcmd ( state, data, tolrelativevariance, tolabsolutevariance, variancesimplex0 )
+ simplex = data.simplex
+ stop = %f
+ if ( state == "iter") then
+ var = optimsimplex_fvvariance ( simplex )
+ if ( var < tolrelativevariance * variancesimplex0 + tolabsolutevariance ) then
+ stop = %t;
+ end
+ end
+endfunction
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test with my own termination criteria
+//
+x0 = [1.1 1.1]';
+simplex0 = optimsimplex_new ( "axes" , x0.' );
+coords0 = optimsimplex_getallx(simplex0);
+variancesimplex0 = optimsimplex_fvvariance ( simplex0 );
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+// Disable default terminations
+nm = neldermead_configure(nm,"-maxiter",%inf);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+tolabsolutevariance = 1.e-6;
+tolrelativevariance = 1.e-6;
+stopfun = list(myoutputcmd, tolrelativevariance, tolabsolutevariance, variancesimplex0);
+nm = neldermead_configure(nm,"-outputcommand",stopfun);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-3 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "userstop" );
+// Check simplex variance
+simplex = neldermead_get(nm,"-simplexopt");
+var = optimsimplex_fvvariance ( simplex );
+ssize = optimsimplex_size ( simplex , "sigmaplus" );
+assert_checktrue ( var < tolrelativevariance * variancesimplex0 + tolabsolutevariance );
+// Check function evaluations
+funevals = neldermead_get(nm,"-funevals");
+assert_checkequal ( funevals<200 , %t );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9577.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9577.dia.ref
new file mode 100755
index 000000000..7f62ffaf0
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9577.dia.ref
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9577 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9577
+//
+// <-- Short Description -->
+// neldermead_configure(): if -x0 is set, -numberofvariables is now optional.
+// It was redundant to call neldermead_configure(nm, "-numberofvariables", X) if
+// neldermead_configure(nm, "-x0", x0) had been set beforehand.
+//
+x0 = [1.2 1.9,1.5]';
+nm = neldermead_new ();
+nm = neldermead_configure(nm, "-x0", x0);
+numberOfVar = neldermead_cget(nm, "-numberofvariables");
+assert_checkequal(numberOfVar, 3);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9577.tst b/modules/optimization/tests/nonreg_tests/bug_9577.tst
new file mode 100755
index 000000000..9e93969d6
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9577.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9577 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9577
+//
+// <-- Short Description -->
+// neldermead_configure(): if -x0 is set, -numberofvariables is now optional.
+// It was redundant to call neldermead_configure(nm, "-numberofvariables", X) if
+// neldermead_configure(nm, "-x0", x0) had been set beforehand.
+//
+
+x0 = [1.2 1.9,1.5]';
+nm = neldermead_new ();
+nm = neldermead_configure(nm, "-x0", x0);
+numberOfVar = neldermead_cget(nm, "-numberofvariables");
+assert_checkequal(numberOfVar, 3);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9627.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9627.dia.ref
new file mode 100755
index 000000000..e98210222
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9627.dia.ref
@@ -0,0 +1,139 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9627 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9627
+//
+// <-- Short Description -->
+// The optimsimplex_set*() functions did not check any arguments:
+//
+// optimsimplex_check
+s1 = optimsimplex_new ();
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_check", 1);
+assert_checkerror("s1 = optimsimplex_check(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_check(%t);",refMsg);
+// optimsimplex_getall
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getall", 1);
+assert_checkerror("s1 = optimsimplex_getall(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getall(%t);",refMsg);
+// optimsimplex_getallfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getallfv", 1);
+assert_checkerror("s1 = optimsimplex_getallfv(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getallfv(%t);",refMsg);
+// optimsimplex_getallx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getallx", 1);
+assert_checkerror("s1 = optimsimplex_getallx(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getallx(%t);",refMsg);
+// optimsimplex_getfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getfv", 1);
+assert_checkerror("s1 = optimsimplex_getfv(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getfv(%t);",refMsg);
+// optimsimplex_getn
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getn", 1);
+assert_checkerror("s1 = optimsimplex_getn(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getn(%t);",refMsg);
+// optimsimplex_getnbve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getnbve", 1);
+assert_checkerror("s1 = optimsimplex_getnbve(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getnbve(%t);",refMsg);
+// optimsimplex_getve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getve", 1);
+assert_checkerror("s1 = optimsimplex_getve(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getve(%t);",refMsg);
+// optimsimplex_getx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getx", 1);
+assert_checkerror("s1 = optimsimplex_getx(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getx(%t);",refMsg);
+// optimsimplex_setall
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setall", 2);
+assert_checkerror("s1 = optimsimplex_setall(1, s1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setall(""s1"", s1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setall(s1, %i);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setall(s1, ""s1"");",refMsg2);
+// optimsimplex_setallfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setallfv", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setallfv", 2);
+assert_checkerror("s1 = optimsimplex_setallfv(1, [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallfv(""s1"", [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallfv(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setallfv(s1, %t);",refMsg2);
+// optimsimplex_setallx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setallx", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setallx", 2);
+assert_checkerror("s1 = optimsimplex_setallx(1, [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallx(""s1"", [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallx(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setallx(s1, %t);",refMsg2);
+// optimsimplex_setfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setfv", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setfv", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setfv", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setfv", 2);
+refMsg5 = msprintf(_("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setfv", 3);
+assert_checkerror("s1 = optimsimplex_setfv(1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setfv(""s1"", 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setfv(s1, ""1"", 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setfv(s1, [1 1], 1);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setfv(s1, 1.5, 1);",refMsg4);
+assert_checkerror("s1 = optimsimplex_setfv(s1, 1, ""1"");",refMsg5);
+assert_checkerror("s1 = optimsimplex_setfv(s1, 1, %t);",refMsg5);
+// optimsimplex_setn
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setn", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setn", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setn", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setn", 2);
+assert_checkerror("s1 = optimsimplex_setn(1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setn(""s1"", 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setn(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setn(s1, [1 1]);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setn(s1, 1.5);",refMsg4);
+// optimsimplex_setnbve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setnbve", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setnbve", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setnbve", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setnbve", 2);
+assert_checkerror("s1 = optimsimplex_setnbve(1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setnbve(""s1"", 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setnbve(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setnbve(s1, [1 1]);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setnbve(s1, 1.5);",refMsg4);
+// optimsimplex_setve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setve", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setve", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setve", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setve", 2);
+refMsg5 = msprintf(_("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setve", 3);
+refMsg6 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setve", 4);
+assert_checkerror("s1 = optimsimplex_setve(1, 1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setve(""s1"", 1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setve(s1, ""1"", 1, 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setve(s1, [1 1], 1, 1);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1.5, 1, 1);",refMsg4);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, ""1"", 1);",refMsg5);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, %t, 1);",refMsg5);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, 1, ""1"");",refMsg6);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, 1, %t);",refMsg6);
+// optimsimplex_setx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setx", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setx", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setx", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setx", 2);
+refMsg5 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setx", 3);
+assert_checkerror("s1 = optimsimplex_setx(1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setx(""s1"", 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setx(s1, ""1"", 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setx(s1, [1 1], 1);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setx(s1, 1.5, 1);",refMsg4);
+assert_checkerror("s1 = optimsimplex_setx(s1, 1, ""1"");",refMsg5);
+assert_checkerror("s1 = optimsimplex_setx(s1, 1, %t);",refMsg5);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9627.tst b/modules/optimization/tests/nonreg_tests/bug_9627.tst
new file mode 100755
index 000000000..fcd9c9c3f
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9627.tst
@@ -0,0 +1,156 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9627 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9627
+//
+// <-- Short Description -->
+// The optimsimplex_set*() functions did not check any arguments:
+//
+
+// optimsimplex_check
+s1 = optimsimplex_new ();
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_check", 1);
+assert_checkerror("s1 = optimsimplex_check(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_check(%t);",refMsg);
+
+// optimsimplex_getall
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getall", 1);
+assert_checkerror("s1 = optimsimplex_getall(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getall(%t);",refMsg);
+
+// optimsimplex_getallfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getallfv", 1);
+assert_checkerror("s1 = optimsimplex_getallfv(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getallfv(%t);",refMsg);
+
+// optimsimplex_getallx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getallx", 1);
+assert_checkerror("s1 = optimsimplex_getallx(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getallx(%t);",refMsg);
+
+// optimsimplex_getfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getfv", 1);
+assert_checkerror("s1 = optimsimplex_getfv(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getfv(%t);",refMsg);
+
+// optimsimplex_getn
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getn", 1);
+assert_checkerror("s1 = optimsimplex_getn(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getn(%t);",refMsg);
+
+// optimsimplex_getnbve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getnbve", 1);
+assert_checkerror("s1 = optimsimplex_getnbve(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getnbve(%t);",refMsg);
+
+// optimsimplex_getve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getve", 1);
+assert_checkerror("s1 = optimsimplex_getve(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getve(%t);",refMsg);
+
+// optimsimplex_getx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_getx", 1);
+assert_checkerror("s1 = optimsimplex_getx(""1"");",refMsg);
+assert_checkerror("s1 = optimsimplex_getx(%t);",refMsg);
+
+// optimsimplex_setall
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setall", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setall", 2);
+assert_checkerror("s1 = optimsimplex_setall(1, s1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setall(""s1"", s1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setall(s1, %i);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setall(s1, ""s1"");",refMsg2);
+
+// optimsimplex_setallfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setallfv", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setallfv", 2);
+assert_checkerror("s1 = optimsimplex_setallfv(1, [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallfv(""s1"", [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallfv(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setallfv(s1, %t);",refMsg2);
+
+// optimsimplex_setallx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setallx", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setallx", 2);
+assert_checkerror("s1 = optimsimplex_setallx(1, [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallx(""s1"", [1 2]);",refMsg);
+assert_checkerror("s1 = optimsimplex_setallx(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setallx(s1, %t);",refMsg2);
+
+// optimsimplex_setfv
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setfv", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setfv", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setfv", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setfv", 2);
+refMsg5 = msprintf(_("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setfv", 3);
+assert_checkerror("s1 = optimsimplex_setfv(1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setfv(""s1"", 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setfv(s1, ""1"", 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setfv(s1, [1 1], 1);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setfv(s1, 1.5, 1);",refMsg4);
+assert_checkerror("s1 = optimsimplex_setfv(s1, 1, ""1"");",refMsg5);
+assert_checkerror("s1 = optimsimplex_setfv(s1, 1, %t);",refMsg5);
+
+// optimsimplex_setn
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setn", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setn", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setn", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setn", 2);
+assert_checkerror("s1 = optimsimplex_setn(1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setn(""s1"", 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setn(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setn(s1, [1 1]);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setn(s1, 1.5);",refMsg4);
+
+// optimsimplex_setnbve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setnbve", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setnbve", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setnbve", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setnbve", 2);
+assert_checkerror("s1 = optimsimplex_setnbve(1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setnbve(""s1"", 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setnbve(s1, ""1"");",refMsg2);
+assert_checkerror("s1 = optimsimplex_setnbve(s1, [1 1]);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setnbve(s1, 1.5);",refMsg4);
+
+// optimsimplex_setve
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setve", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setve", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setve", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setve", 2);
+refMsg5 = msprintf(_("%s: Wrong type for input argument #%d: A real vector expected.\n"), "optimsimplex_setve", 3);
+refMsg6 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setve", 4);
+assert_checkerror("s1 = optimsimplex_setve(1, 1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setve(""s1"", 1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setve(s1, ""1"", 1, 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setve(s1, [1 1], 1, 1);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1.5, 1, 1);",refMsg4);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, ""1"", 1);",refMsg5);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, %t, 1);",refMsg5);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, 1, ""1"");",refMsg6);
+assert_checkerror("s1 = optimsimplex_setve(s1, 1, 1, %t);",refMsg6);
+
+// optimsimplex_setx
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: TSIMPLEX expected.\n"), "optimsimplex_setx", 1);
+refMsg2 = msprintf(_("%s: Wrong type for input argument #%d: A real scalar expected.\n"), "optimsimplex_setx", 2);
+refMsg3 = msprintf(_("%s: Wrong size for input argument #%d: A real scalar expected.\n"), "optimsimplex_setx", 2);
+refMsg4 = msprintf(_("%s: Wrong value for input argument #%d: An integer expected.\n"), "optimsimplex_setx", 2);
+refMsg5 = msprintf(_("%s: Wrong type for input argument #%d: A real matrix expected.\n"), "optimsimplex_setx", 3);
+assert_checkerror("s1 = optimsimplex_setx(1, 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setx(""s1"", 1, 1);",refMsg);
+assert_checkerror("s1 = optimsimplex_setx(s1, ""1"", 1);",refMsg2);
+assert_checkerror("s1 = optimsimplex_setx(s1, [1 1], 1);",refMsg3);
+assert_checkerror("s1 = optimsimplex_setx(s1, 1.5, 1);",refMsg4);
+assert_checkerror("s1 = optimsimplex_setx(s1, 1, ""1"");",refMsg5);
+assert_checkerror("s1 = optimsimplex_setx(s1, 1, %t);",refMsg5);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9688.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9688.dia.ref
new file mode 100755
index 000000000..65cb1c034
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9688.dia.ref
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9688 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9688
+//
+// <-- Short Description -->
+// optim could crash when "imp" option was < 0
+//
+function [ f , g , ind ] = woodFG ( x , ind )
+ f = []
+ g = []
+ if ind == 2 | ind == 3 | ind == 4 then
+ A = x(2)-x(1)^2
+ B = x(4)-x(3)^2
+ end
+ if ind == 2 | ind == 4 then
+ f = 100*A^2+(1-x(1))^2+90*B^2+(1-x(3))^2+...
+ 10.1*((x(2)-1)^2+(x(4)-1)^2)+19.8*(x(2)-1)*(x(4)-1)
+ end
+ if ind == 3 | ind == 4 then
+ g(1) = -2*(200*x(1)*A+1-x(1))
+ g(2) = 2*(100*A+10.1*(x(2)-1)+9.9*(x(4)-1))
+ g(3) = -2*(180*x(3)*B+1.-x(3))
+ g(4) = 2*(90*B+10.1*(x(4)-1)+9.9*(x(2)-1))
+ end
+endfunction
+x0 = [-3 -1 -3 -1];
+refMsg = msprintf(_("Variable returned by scilab argument function is incorrect."));
+assert_checkerror("[ fopt, xopt, gopt ] = optim ( woodFG, x0, ""qn"", imp=-1);", refMsg);
+assert_checkerror("[ fopt, xopt, gopt ] = optim ( woodFG, x0, ""gc"", imp=-1);", refMsg);
+assert_checkerror("[ fopt, xopt, gopt ] = optim ( woodFG, x0, ""nd"", imp=-1);", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9688.tst b/modules/optimization/tests/nonreg_tests/bug_9688.tst
new file mode 100755
index 000000000..3e6a5904f
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9688.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9688 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9688
+//
+// <-- Short Description -->
+// optim could crash when "imp" option was < 0
+//
+function [ f , g , ind ] = woodFG ( x , ind )
+ f = []
+ g = []
+ if ind == 2 | ind == 3 | ind == 4 then
+ A = x(2)-x(1)^2
+ B = x(4)-x(3)^2
+ end
+ if ind == 2 | ind == 4 then
+ f = 100*A^2+(1-x(1))^2+90*B^2+(1-x(3))^2+...
+ 10.1*((x(2)-1)^2+(x(4)-1)^2)+19.8*(x(2)-1)*(x(4)-1)
+ end
+ if ind == 3 | ind == 4 then
+ g(1) = -2*(200*x(1)*A+1-x(1))
+ g(2) = 2*(100*A+10.1*(x(2)-1)+9.9*(x(4)-1))
+ g(3) = -2*(180*x(3)*B+1.-x(3))
+ g(4) = 2*(90*B+10.1*(x(4)-1)+9.9*(x(2)-1))
+ end
+endfunction
+x0 = [-3 -1 -3 -1];
+
+refMsg = msprintf(_("Variable returned by scilab argument function is incorrect."));
+assert_checkerror("[ fopt, xopt, gopt ] = optim ( woodFG, x0, ""qn"", imp=-1);", refMsg);
+assert_checkerror("[ fopt, xopt, gopt ] = optim ( woodFG, x0, ""gc"", imp=-1);", refMsg);
+assert_checkerror("[ fopt, xopt, gopt ] = optim ( woodFG, x0, ""nd"", imp=-1);", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9690.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9690.dia.ref
new file mode 100755
index 000000000..390b154aa
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9690.dia.ref
@@ -0,0 +1,2487 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9690 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9690
+//
+// <-- Short Description -->
+// optim(): option "imp"=5 could crash Scilab
+//
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+x0 = [-1.2 1.0];
+lines(0);
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.806D-21
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+ nlis0 fpn=-0.470D-24 d2= 0.75D-26 tmin= 0.26D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.267D-21 -0.536D-27
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+ nlis0 fpn=-0.623D-30 d2= 0.68D-32 tmin= 0.38D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.375D+01 0.326D-23 0.187D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 4
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61628D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.806D-21
+ n1qn3: stopping criterion on g: 0.92929D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84645D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 75.5 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+ n1qn3: line search
+ nlis0 fpn=-0.470D-24 d2= 0.75D-26 tmin= 0.26D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.267D-21 -0.536D-27
+ n1qn3: stopping criterion on g: 0.10705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.55083D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.349D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+ n1qn3: line search
+ nlis0 fpn=-0.623D-30 d2= 0.68D-32 tmin= 0.38D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.375D+01 0.326D-23 0.187D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 5
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394213D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247218D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635824D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312383D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115836D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628305D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777622D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293786D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527539D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73398571D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61628D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622707D-15, h'(0)=-0.99085D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.806D-21
+ n1qn3: stopping criterion on g: 0.92929D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84645D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 75.5 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783589D-16, h'(0)=-0.47026D-24
+ n1qn3: line search
+ nlis0 fpn=-0.470D-24 d2= 0.75D-26 tmin= 0.26D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.267D-21 -0.536D-27
+ n1qn3: stopping criterion on g: 0.10705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.55083D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.349D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783322D-16, h'(0)=-0.62345D-30
+ n1qn3: line search
+ nlis0 fpn=-0.623D-30 d2= 0.68D-32 tmin= 0.38D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.375D+01 0.326D-23 0.187D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783322D-16 -0.623D-30
+ nlis0 0.37536580D+01 0.53783325D-16 0.187D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.11D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783322D-16
+ norm of x = 0.74770897D-13
+Optimization stops because too small variations for x.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_9690.linux32.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9690.linux32.dia.ref
new file mode 100755
index 000000000..fcd26e147
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9690.linux32.dia.ref
@@ -0,0 +1,2763 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9690 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9690
+//
+// <-- Short Description -->
+// optim(): option "imp"=5 could crash Scilab
+//
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+x0 = [-1.2 1.0];
+lines(0);
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.965D-21
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+ nlis0 fpn=-0.472D-24 d2= 0.12D-25 tmin= 0.21D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.432D-21 0.118D-27
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+ nlis0 fpn=-0.250D-27 d2= 0.62D-27 tmin= 0.10D-01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.163D-21 -0.218D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+00 0.163D-22 -0.225D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.900D-01 0.147D-22 0.269D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.810D-01 0.130D-22 -0.230D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.729D-01 0.114D-22 0.155D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.656D-01 0.114D-22 0.191D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.590D-01 0.977D-23 -0.235D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.531D-01 0.814D-23 0.105D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.478D-01 0.814D-23 0.259D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.430D-01 0.651D-23 -0.488D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D-01 0.651D-23 -0.240D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.349D-01 0.489D-23 0.558D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.314D-01 0.489D-23 0.254D-27
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 4
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27052D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11217D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61636D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53527D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.965D-21
+ n1qn3: stopping criterion on g: 0.92949D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84653D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 78.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+ n1qn3: line search
+ nlis0 fpn=-0.472D-24 d2= 0.12D-25 tmin= 0.21D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.432D-21 0.118D-27
+ n1qn3: stopping criterion on g: 0.19705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.70730D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.351D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.209D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+ n1qn3: line search
+ nlis0 fpn=-0.250D-27 d2= 0.62D-27 tmin= 0.10D-01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.163D-21 -0.218D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+00 0.163D-22 -0.225D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.900D-01 0.147D-22 0.269D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.810D-01 0.130D-22 -0.230D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.729D-01 0.114D-22 0.155D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.656D-01 0.114D-22 0.191D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.590D-01 0.977D-23 -0.235D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.531D-01 0.814D-23 0.105D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.478D-01 0.814D-23 0.259D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.430D-01 0.651D-23 -0.488D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D-01 0.651D-23 -0.240D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.349D-01 0.489D-23 0.558D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.314D-01 0.489D-23 0.254D-27
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 5
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394210D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247216D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926692D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768989D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635822D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210317D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312377D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115840D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628279D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596352D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777570D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65292577D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527840D-06, h'(0)=-0.97037D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27052D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11217D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73389661D-12, h'(0)=-0.14313D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61636D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53527D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20623400D-15, h'(0)=-0.99092D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.965D-21
+ n1qn3: stopping criterion on g: 0.92949D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84653D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 78.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53783590D-16, h'(0)=-0.47240D-24
+ n1qn3: line search
+ nlis0 fpn=-0.472D-24 d2= 0.12D-25 tmin= 0.21D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.432D-21 0.118D-27
+ n1qn3: stopping criterion on g: 0.19705D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.70730D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.351D-02
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.209D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783159D-16, h'(0)=-0.24956D-27
+ n1qn3: line search
+ nlis0 fpn=-0.250D-27 d2= 0.62D-27 tmin= 0.10D-01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.163D-21 -0.218D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+00 0.163D-22 -0.225D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.900D-01 0.147D-22 0.269D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.810D-01 0.130D-22 -0.230D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.729D-01 0.114D-22 0.155D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.656D-01 0.114D-22 0.191D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.590D-01 0.977D-23 -0.235D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.531D-01 0.814D-23 0.105D-28
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.478D-01 0.814D-23 0.259D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.430D-01 0.651D-23 -0.488D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D-01 0.651D-23 -0.240D-27
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.349D-01 0.489D-23 0.558D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.314D-01 0.489D-23 0.254D-27
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783159D-16 -0.250D-27
+ nlis0 0.31381060D-01 0.53783164D-16 0.254D-27
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 65
+ realized relative precision on g: 0.20D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783159D-16
+ norm of x = 0.11121981D-13
+Optimization stops because too small variations for x.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_9690.tst b/modules/optimization/tests/nonreg_tests/bug_9690.tst
new file mode 100755
index 000000000..86ff3513c
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9690.tst
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9690 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9690
+//
+// <-- Short Description -->
+// optim(): option "imp"=5 could crash Scilab
+//
+
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+
+x0 = [-1.2 1.0];
+lines(0);
+
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
diff --git a/modules/optimization/tests/nonreg_tests/bug_9690.win.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9690.win.dia.ref
new file mode 100755
index 000000000..1d34a6ad2
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9690.win.dia.ref
@@ -0,0 +1,2487 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9690 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9690
+//
+// <-- Short Description -->
+// optim(): option "imp"=5 could crash Scilab
+//
+function f = rosenbrock(x)
+ f = 100.0 * (x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+function [f, g, ind] = rosenbrockCost(x, ind)
+ if ((ind == 1) | (ind == 4)) then
+ f = rosenbrock ( x );
+ end
+ if ((ind == 1) | (ind == 4)) then
+ g = derivative ( rosenbrock , x(:) );
+ end
+endfunction
+x0 = [-1.2 1.0];
+lines(0);
+for impval = 1:5
+ [ fopt , xopt ] = optim ( rosenbrockCost , x0 , "gc" , imp=impval);
+end
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.112D-20
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+ nlis0 fpn=-0.474D-24 d2= 0.19D-25 tmin= 0.17D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.599D-21 -0.107D-26
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+ nlis0 fpn=-0.248D-29 d2= 0.33D-32 tmin= 0.39D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D+01 0.326D-23 0.743D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 4
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61631D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.112D-20
+ n1qn3: stopping criterion on g: 0.92861D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84647D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 80.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+ n1qn3: line search
+ nlis0 fpn=-0.474D-24 d2= 0.19D-25 tmin= 0.17D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.599D-21 -0.107D-26
+ n1qn3: stopping criterion on g: 0.21365D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.86648D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.352D-02
+ Oren-Spedicato factor (not used) = 0.102D-02 diagonal: average value = 0.198D-02
+ n1qn3: descent direction d: angle(-g,d) = 29.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+ n1qn3: line search
+ nlis0 fpn=-0.248D-29 d2= 0.33D-32 tmin= 0.39D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D+01 0.326D-23 0.743D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 5
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ n1qn3a: descent direction -g: precon = 0.369D-04
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: line search
+ nlis0 fpn=-0.200D+01 d2= 0.74D-04 tmin= 0.28D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.194D+01 -0.189D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.147D+02 -0.973D+00
+ n1qn3: stopping criterion on g: 0.48674D+00
+ n1qn3: matrix update:
+ Oren-Spedicato factor (not used) = 0.718D-03 diagonal: average value = 0.718D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: line search
+ nlis0 fpn=-0.924D+01 d2= 0.66D-02 tmin= 0.30D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.520D+01 -0.138D+01
+ n1qn3: stopping criterion on g: 0.73079D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.94908D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.118D+01
+ Oren-Spedicato factor (not used) = 0.846D-03 diagonal: average value = 0.846D-03
+ n1qn3: descent direction d: angle(-g,d) = 0.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: line search
+ nlis0 fpn=-0.245D+00 d2= 0.21D-03 tmin= 0.16D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.135D+00 -0.256D-01
+ n1qn3: stopping criterion on g: 0.10270D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.17647D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.111D+01
+ Oren-Spedicato factor (not used) = 0.935D-03 diagonal: average value = 0.942D-03
+ n1qn3: descent direction d: angle(-g,d) = 1.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: line search
+ nlis0 fpn=-0.581D-02 d2= 0.59D-05 tmin= 0.98D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.435D-02 -0.290D-02
+ n1qn3: stopping criterion on g: 0.76379D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.16885D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.969D+00
+ Oren-Spedicato factor (not used) = 0.952D-03 diagonal: average value = 0.915D-03
+ n1qn3: descent direction d: angle(-g,d) = 23.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: line search
+ nlis0 fpn=-0.833D-02 d2= 0.26D-04 tmin= 0.61D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.690D-02 -0.549D-02
+ n1qn3: stopping criterion on g: 0.11072D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.21032D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.985D+00
+ Oren-Spedicato factor (not used) = 0.954D-03 diagonal: average value = 0.102D-02
+ n1qn3: descent direction d: angle(-g,d) = 56.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: line search
+ nlis0 fpn=-0.278D-01 d2= 0.37D-03 tmin= 0.14D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.228D-01 -0.180D-01
+ n1qn3: stopping criterion on g: 0.23226D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.37768D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.113D+01
+ Oren-Spedicato factor (not used) = 0.941D-03 diagonal: average value = 0.127D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: line search
+ nlis0 fpn=-0.828D-01 d2= 0.40D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.713D-01 -0.624D-01
+ n1qn3: stopping criterion on g: 0.44894D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.32918D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.817D+00
+ Oren-Spedicato factor (not used) = 0.762D-03 diagonal: average value = 0.106D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: line search
+ nlis0 fpn=-0.405D+00 d2= 0.11D+00 tmin= 0.79D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.531D+00 -0.721D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 0.500D+03 0.222D+03
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.398D+01 0.333D+01 0.774D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.249D+01 -0.140D+01 0.190D+00
+ n1qn3: stopping criterion on g: 0.60049D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.12764D+02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.287D+01
+ Oren-Spedicato factor (not used) = 0.248D-02 diagonal: average value = 0.292D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: line search
+ nlis0 fpn=-0.161D+00 d2= 0.57D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.285D+00 0.571D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.140D+00 -0.107D-01 0.342D-02
+ n1qn3: stopping criterion on g: 0.48319D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41360D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.102D+01
+ Oren-Spedicato factor (not used) = 0.293D-02 diagonal: average value = 0.285D-02
+ n1qn3: descent direction d: angle(-g,d) = 76.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: line search
+ nlis0 fpn=-0.384D-01 d2= 0.21D-03 tmin= 0.21D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.376D-01 -0.369D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+02 -0.318D+00 -0.257D-01
+ n1qn3: stopping criterion on g: 0.41045D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43358D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.193D+02
+ Oren-Spedicato factor (not used) = 0.403D-01 diagonal: average value = 0.645D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.7 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.627D+00 d2= 0.71D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.315D+00 0.212D+00
+ n1qn3: stopping criterion on g: 0.60708D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.18312D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.259D+00
+ Oren-Spedicato factor (not used) = 0.251D-01 diagonal: average value = 0.248D-01
+ n1qn3: descent direction d: angle(-g,d) = 15.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: line search
+ nlis0 fpn=-0.707D+00 d2= 0.27D-02 tmin= 0.52D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.402D+00 -0.117D+00
+ n1qn3: stopping criterion on g: 0.11240D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.19476D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.190D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.468D-02
+ n1qn3: descent direction d: angle(-g,d) = 33.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: line search
+ nlis0 fpn=-0.499D+00 d2= 0.52D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.225D+00 0.427D+00
+ n1qn3: stopping criterion on g: 0.43961D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43931D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.364D+01
+ Oren-Spedicato factor (not used) = 0.102D-01 diagonal: average value = 0.311D-01
+ n1qn3: descent direction d: angle(-g,d) = 56.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 14, simul 20, f= 0.13542804D+01, h'(0)=-0.33867D+00
+ n1qn3: line search
+ nlis0 fpn=-0.339D+00 d2= 0.36D-02 tmin= 0.47D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.151D+00 0.252D-01
+ n1qn3: stopping criterion on g: 0.12127D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.26394D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.759D+00
+ Oren-Spedicato factor (not used) = 0.522D-02 diagonal: average value = 0.235D-01
+ n1qn3: descent direction d: angle(-g,d) = 36.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 15, simul 21, f= 0.12033041D+01, h'(0)=-0.20678D+00
+ n1qn3: line search
+ nlis0 fpn=-0.207D+00 d2= 0.84D-02 tmin= 0.24D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.186D+00 -0.162D+00
+ n1qn3: stopping criterion on g: 0.11958D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.15231D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.493D+01
+ Oren-Spedicato factor (not used) = 0.996D-01 diagonal: average value = 0.118D+00
+ n1qn3: descent direction d: angle(-g,d) = 47.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: line search
+ nlis0 fpn=-0.650D+00 d2= 0.12D+00 tmin= 0.64D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.169D+01 0.738D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.374D+00 -0.132D+00 0.166D+00
+ n1qn3: stopping criterion on g: 0.29691D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14137D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.211D+00
+ Oren-Spedicato factor (not used) = 0.105D-01 diagonal: average value = 0.372D-01
+ n1qn3: descent direction d: angle(-g,d) = 53.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 17, simul 24, f= 0.88479943D+00, h'(0)=-0.18657D+00
+ n1qn3: line search
+ nlis0 fpn=-0.187D+00 d2= 0.20D-02 tmin= 0.62D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.149D+00 -0.115D+00
+ n1qn3: stopping criterion on g: 0.15621D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.34738D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.123D+01
+ Oren-Spedicato factor (not used) = 0.634D-02 diagonal: average value = 0.386D-01
+ n1qn3: descent direction d: angle(-g,d) = 62.6 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 18, simul 25, f= 0.73594993D+00, h'(0)=-0.31085D+00
+ n1qn3: line search
+ nlis0 fpn=-0.311D+00 d2= 0.34D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.102D+00 0.268D+00
+ n1qn3: stopping criterion on g: 0.42709D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.41295D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.285D+00
+ Oren-Spedicato factor (not used) = 0.108D-01 diagonal: average value = 0.841D-02
+ n1qn3: descent direction d: angle(-g,d) = 17.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 19, simul 26, f= 0.63444382D+00, h'(0)=-0.42075D+00
+ n1qn3: line search
+ nlis0 fpn=-0.421D+00 d2= 0.20D-02 tmin= 0.51D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.181D+00 0.576D-01
+ n1qn3: stopping criterion on g: 0.94247D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23849D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.526D+00
+ Oren-Spedicato factor (not used) = 0.345D-02 diagonal: average value = 0.461D-02
+ n1qn3: descent direction d: angle(-g,d) = 57.2 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 20, simul 27, f= 0.45317916D+00, h'(0)=-0.12594D+00
+ n1qn3: line search
+ nlis0 fpn=-0.126D+00 d2= 0.11D-01 tmin= 0.25D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.110D+00 -0.725D-01
+ n1qn3: stopping criterion on g: 0.67714D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.23948D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.105D+01
+ Oren-Spedicato factor (not used) = 0.489D-02 diagonal: average value = 0.547D-02
+ n1qn3: descent direction d: angle(-g,d) = 59.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 21, simul 28, f= 0.34356278D+00, h'(0)=-0.22838D+00
+ n1qn3: line search
+ nlis0 fpn=-0.228D+00 d2= 0.83D-01 tmin= 0.95D-15 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.601D+00 0.234D+01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.321D+00 -0.373D-01 0.472D-01
+ n1qn3: stopping criterion on g: 0.24287D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.87291D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.807D+00
+ Oren-Spedicato factor (not used) = 0.458D-02 diagonal: average value = 0.431D-02
+ n1qn3: descent direction d: angle(-g,d) = 73.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 22, simul 30, f= 0.30624976D+00, h'(0)=-0.55446D-01
+ n1qn3: line search
+ nlis0 fpn=-0.554D-01 d2= 0.12D-02 tmin= 0.80D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.477D-01 -0.406D-01
+ n1qn3: stopping criterion on g: 0.15832D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.36912D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.894D+00
+ Oren-Spedicato factor (not used) = 0.380D-02 diagonal: average value = 0.392D-02
+ n1qn3: descent direction d: angle(-g,d) = 77.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 23, simul 31, f= 0.25851794D+00, h'(0)=-0.14344D+00
+ n1qn3: line search
+ nlis0 fpn=-0.143D+00 d2= 0.30D-01 tmin= 0.17D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.878D-01 -0.226D-01
+ n1qn3: stopping criterion on g: 0.23266D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.51063D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.865D+01
+ Oren-Spedicato factor (not used) = 0.318D-01 diagonal: average value = 0.403D-01
+ n1qn3: descent direction d: angle(-g,d) = 75.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 24, simul 32, f= 0.17073490D+00, h'(0)=-0.12793D+00
+ n1qn3: line search
+ nlis0 fpn=-0.128D+00 d2= 0.84D-02 tmin= 0.27D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.619D-01 -0.487D-02
+ n1qn3: stopping criterion on g: 0.10083D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.52582D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.572D-01
+ Oren-Spedicato factor (not used) = 0.208D-02 diagonal: average value = 0.227D-02
+ n1qn3: descent direction d: angle(-g,d) = 78.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: line search
+ nlis0 fpn=-0.100D+00 d2= 0.49D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.155D-01 0.179D+00
+ n1qn3: stopping criterion on g: 0.37918D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.24062D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.120D+01
+ Oren-Spedicato factor (not used) = 0.224D-02 diagonal: average value = 0.267D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 26, simul 34, f= 0.93394212D-01, h'(0)=-0.12026D+00
+ n1qn3: line search
+ nlis0 fpn=-0.120D+00 d2= 0.12D-01 tmin= 0.26D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.251D-01 0.437D-01
+ n1qn3: stopping criterion on g: 0.43947D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.50600D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.757D+00
+ Oren-Spedicato factor (not used) = 0.170D-02 diagonal: average value = 0.201D-02
+ n1qn3: descent direction d: angle(-g,d) = 72.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 27, simul 35, f= 0.68247217D-01, h'(0)=-0.20762D-01
+ n1qn3: line search
+ nlis0 fpn=-0.208D-01 d2= 0.45D-02 tmin= 0.41D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.183D-01 -0.148D-01
+ n1qn3: stopping criterion on g: 0.21889D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.59772D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.170D+01
+ Oren-Spedicato factor (not used) = 0.290D-02 diagonal: average value = 0.351D-02
+ n1qn3: descent direction d: angle(-g,d) = 63.1 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 28, simul 36, f= 0.49926693D-01, h'(0)=-0.55493D-01
+ n1qn3: line search
+ nlis0 fpn=-0.555D-01 d2= 0.58D-01 tmin= 0.11D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.507D-01 0.260D+00
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.413D+00 -0.132D-01 0.278D-02
+ n1qn3: stopping criterion on g: 0.14651D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.14924D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.980D+00
+ Oren-Spedicato factor (not used) = 0.274D-02 diagonal: average value = 0.355D-02
+ n1qn3: descent direction d: angle(-g,d) = 84.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 29, simul 38, f= 0.36768990D-01, h'(0)=-0.91754D-02
+ n1qn3: line search
+ nlis0 fpn=-0.918D-02 d2= 0.87D-03 tmin= 0.86D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.813D-02 -0.718D-02
+ n1qn3: stopping criterion on g: 0.11306D-01
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.29590D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.112D+01
+ Oren-Spedicato factor (not used) = 0.329D-02 diagonal: average value = 0.403D-02
+ n1qn3: descent direction d: angle(-g,d) = 85.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 30, simul 39, f= 0.28635823D-01, h'(0)=-0.25872D-01
+ n1qn3: line search
+ nlis0 fpn=-0.259D-01 d2= 0.13D-01 tmin= 0.22D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.174D-01 -0.109D-01
+ n1qn3: stopping criterion on g: 0.64294D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.38281D+01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.337D+01
+ Oren-Spedicato factor (not used) = 0.116D-01 diagonal: average value = 0.134D-01
+ n1qn3: descent direction d: angle(-g,d) = 84.3 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 31, simul 40, f= 0.11210318D-01, h'(0)=-0.94861D-02
+ n1qn3: line search
+ nlis0 fpn=-0.949D-02 d2= 0.41D-02 tmin= 0.39D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.648D-02 -0.412D-02
+ n1qn3: stopping criterion on g: 0.32255D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.56905D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.218D+00
+ Oren-Spedicato factor (not used) = 0.229D-02 diagonal: average value = 0.316D-02
+ n1qn3: descent direction d: angle(-g,d) = 28.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 32, simul 41, f= 0.47312381D-02, h'(0)=-0.12658D-01
+ n1qn3: line search
+ nlis0 fpn=-0.127D-01 d2= 0.37D-01 tmin= 0.13D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 0.236D-01 0.889D-01
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.308D+00 -0.202D-02 0.129D-02
+ n1qn3: stopping criterion on g: 0.59635D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.92424D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.995D+00
+ Oren-Spedicato factor (not used) = 0.211D-02 diagonal: average value = 0.320D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 33, simul 43, f= 0.27115837D-02, h'(0)=-0.27047D-02
+ n1qn3: line search
+ nlis0 fpn=-0.270D-02 d2= 0.13D-02 tmin= 0.68D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.193D-02 -0.124D-02
+ n1qn3: stopping criterion on g: 0.26088D-02
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.61219D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.107D+01
+ Oren-Spedicato factor (not used) = 0.240D-02 diagonal: average value = 0.346D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 34, simul 44, f= 0.78628297D-03, h'(0)=-0.10616D-02
+ n1qn3: line search
+ nlis0 fpn=-0.106D-02 d2= 0.11D-02 tmin= 0.73D-14 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.680D-03 -0.342D-03
+ n1qn3: stopping criterion on g: 0.93209D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.93175D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.195D+01
+ Oren-Spedicato factor (not used) = 0.472D-02 diagonal: average value = 0.669D-02
+ n1qn3: descent direction d: angle(-g,d) = 87.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 35, simul 45, f= 0.10596353D-03, h'(0)=-0.16466D-03
+ n1qn3: line search
+ nlis0 fpn=-0.165D-03 d2= 0.22D-03 tmin= 0.17D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.994D-04 -0.378D-04
+ n1qn3: stopping criterion on g: 0.13605D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.43415D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.797D+00
+ Oren-Spedicato factor (not used) = 0.369D-02 diagonal: average value = 0.540D-02
+ n1qn3: descent direction d: angle(-g,d) = 86.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 36, simul 46, f= 0.65777606D-05, h'(0)=-0.12835D-04
+ n1qn3: line search
+ nlis0 fpn=-0.128D-04 d2= 0.34D-04 tmin= 0.43D-13 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.592D-05 0.983D-06
+ n1qn3: stopping criterion on g: 0.15294D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.39644D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.278D+03
+ Oren-Spedicato factor (not used) = 0.637D+00 diagonal: average value = 0.256D+01
+ n1qn3: descent direction d: angle(-g,d) = 77.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 37, simul 47, f= 0.65293408D-06, h'(0)=-0.24132D-05
+ n1qn3: line search
+ nlis0 fpn=-0.241D-05 d2= 0.96D-07 tmin= 0.92D-12 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.168D-06 0.208D-05
+ n1qn3: stopping criterion on g: 0.13388D-03
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53137D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.794D-03
+ Oren-Spedicato factor (not used) = 0.101D-02 diagonal: average value = 0.159D-02
+ n1qn3: descent direction d: angle(-g,d) = 26.4 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 38, simul 48, f= 0.48527633D-06, h'(0)=-0.97036D-06
+ n1qn3: line search
+ nlis0 fpn=-0.970D-06 d2= 0.12D-08 tmin= 0.80D-11 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.485D-06 -0.183D-09
+ n1qn3: stopping criterion on g: 0.27051D-07
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.11218D+00
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.866D+00
+ Oren-Spedicato factor (not used) = 0.999D-03 diagonal: average value = 0.137D-02
+ n1qn3: descent direction d: angle(-g,d) = 83.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 39, simul 49, f= 0.73395789D-12, h'(0)=-0.14314D-11
+ n1qn3: line search
+ nlis0 fpn=-0.143D-11 d2= 0.35D-11 tmin= 0.13D-09 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.734D-12 -0.116D-13
+ n1qn3: stopping criterion on g: 0.61631D-10
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.53526D-01
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.399D+02
+ Oren-Spedicato factor (not used) = 0.356D-01 diagonal: average value = 0.717D-01
+ n1qn3: descent direction d: angle(-g,d) = 64.0 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 40, simul 50, f= 0.20622903D-15, h'(0)=-0.99086D-16
+ n1qn3: line search
+ nlis0 fpn=-0.991D-16 d2= 0.25D-15 tmin= 0.16D-07 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.152D-15 -0.112D-20
+ n1qn3: stopping criterion on g: 0.92861D-13
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.84647D-02
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.571D+01
+ Oren-Spedicato factor (not used) = 0.482D+00 diagonal: average value = 0.356D+00
+ n1qn3: descent direction d: angle(-g,d) = 80.8 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 41, simul 51, f= 0.53784084D-16, h'(0)=-0.47400D-24
+ n1qn3: line search
+ nlis0 fpn=-0.474D-24 d2= 0.19D-25 tmin= 0.17D-02 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.100D+01 -0.599D-21 -0.107D-26
+ n1qn3: stopping criterion on g: 0.21365D-15
+ n1qn3: convergence rate, s(k)/s(k-1) = 0.86648D-05
+ n1qn3: matrix update:
+ fitting the ellipsoid: factor 0.352D-02
+ Oren-Spedicato factor (not used) = 0.102D-02 diagonal: average value = 0.198D-02
+ n1qn3: descent direction d: angle(-g,d) = 29.9 degrees
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 42, simul 52, f= 0.53783484D-16, h'(0)=-0.24769D-29
+ n1qn3: line search
+ nlis0 fpn=-0.248D-29 d2= 0.33D-32 tmin= 0.39D+01 tmax= 0.10D+21
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+ nlis0 0.387D+01 0.326D-23 0.743D-29
+ nlis0 fin sur tmin pas fonctions derivees
+ nlis0 0.00000000D+00 0.53783484D-16 -0.248D-29
+ nlis0 0.38722999D+01 0.53783488D-16 0.743D-29
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 6
+ number of iterations: 42
+ number of simulations: 53
+ realized relative precision on g: 0.21D-15
+ norm of x = 0.14142135D+01
+ f = 0.53783484D-16
+ norm of x = 0.14924691D-12
+Optimization stops because too small variations for x.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_9697.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9697.dia.ref
new file mode 100755
index 000000000..43735c3f8
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9697.dia.ref
@@ -0,0 +1,65 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9697 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9697
+//
+// <-- Short Description -->
+// The optim/"qn" /"gc" with bounds and imp=1 did not print the basic information of the problem.
+//
+function [f, g, ind] = woodFG(x, ind)
+ if ind == 2 | ind == 3 | ind == 4 then
+ A = x(2)-x(1)^2
+ B = x(4)-x(3)^2
+ end
+ if ind == 2 | ind == 4 then
+ f = 100*A^2+(1-x(1))^2+90*B^2+(1-x(3))^2+...
+ 10.1*((x(2)-1)^2+(x(4)-1)^2)+19.8*(x(2)-1)*(x(4)-1)
+ else
+ f = 0
+ end
+ if ind == 3 | ind == 4 then
+ g(1) = -2*(200*x(1)*A+1.-x(1))
+ g(2) = 2*(100*A+10.1*(x(2)-1)+9.9*(x(4)-1))
+ g(3) = -2*(180*x(3)*B+1.-x(3))
+ g(4) = 2*(90*B+10.1*(x(4)-1)+9.9*(x(2)-1))
+ else
+ g = zeros(x)
+ end
+endfunction
+x0 = [-3 -1 -3 -1];
+binf = [-10 -10 -10 -10];
+bsup = [0 0 0 0];
+[fopt, xopt, gopt] = optim(woodFG, "b", binf, bsup, x0, "qn", imp=1);
+
+ *********** qnbd (with bound cstr) ****************
+dimension= 4, epsq= 0.2220446049250313E-15, verbosity level: imp= 1
+max number of iterations allowed: iter= 100
+max number of calls to costf allowed: nap= 100
+------------------------------------------------
+ qnbd : retour cause gradient projete petit= 0.0000D+00
+ qnbd : indqn= 1
+Norm of projected gradient lower than 0.2220446D-15.
+
+[fopt, xopt, gopt] = optim(woodFG, "b", binf, bsup, x0, "gc", imp=1);
+ gcdb: entry point
+ dimension of the problem (n): 4
+ expected decrease for f (df0): 0.10D+01
+ relative precision on g (epsg): 0.22D-15
+ maximal number of iterations (itmax): 100
+ maximal number of simulations (napmax): 100
+ printing level (imp): 1
+ gcbd : retour avec indgc= 1
+ f,norme grad,nap,iter,indgc= 0.4200E+02 0.0000E+00 4 3 1
+Norm of projected gradient lower than 0.2220446D-15.
+
diff --git a/modules/optimization/tests/nonreg_tests/bug_9697.tst b/modules/optimization/tests/nonreg_tests/bug_9697.tst
new file mode 100755
index 000000000..87406f779
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9697.tst
@@ -0,0 +1,47 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9697 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9697
+//
+// <-- Short Description -->
+// The optim/"qn" /"gc" with bounds and imp=1 did not print the basic information of the problem.
+//
+
+function [f, g, ind] = woodFG(x, ind)
+ if ind == 2 | ind == 3 | ind == 4 then
+ A = x(2)-x(1)^2
+ B = x(4)-x(3)^2
+ end
+ if ind == 2 | ind == 4 then
+ f = 100*A^2+(1-x(1))^2+90*B^2+(1-x(3))^2+...
+ 10.1*((x(2)-1)^2+(x(4)-1)^2)+19.8*(x(2)-1)*(x(4)-1)
+ else
+ f = 0
+ end
+ if ind == 3 | ind == 4 then
+ g(1) = -2*(200*x(1)*A+1.-x(1))
+ g(2) = 2*(100*A+10.1*(x(2)-1)+9.9*(x(4)-1))
+ g(3) = -2*(180*x(3)*B+1.-x(3))
+ g(4) = 2*(90*B+10.1*(x(4)-1)+9.9*(x(2)-1))
+ else
+ g = zeros(x)
+ end
+endfunction
+
+x0 = [-3 -1 -3 -1];
+binf = [-10 -10 -10 -10];
+bsup = [0 0 0 0];
+
+[fopt, xopt, gopt] = optim(woodFG, "b", binf, bsup, x0, "qn", imp=1);
+[fopt, xopt, gopt] = optim(woodFG, "b", binf, bsup, x0, "gc", imp=1);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9701.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9701.dia.ref
new file mode 100755
index 000000000..3ff33a6ad
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9701.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9701 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9701
+//
+// <-- Short Description -->
+// optim gateway was failing for large problems.
+//
+function [f, g, ind] = optimCost(x, ind, n)
+ xref = (1:n)'
+ if ind == 1 | ind == 4 then
+ f = 0.5*sum((x-xref).^2)
+ else
+ f = 0
+ end
+ if ind == 1 | ind == 4 then
+ g = x-xref
+ else
+ g = zeros(x)
+ end
+endfunction
+stacksize("max");
+n = 50000;
+x0 = ones(n, 1);
+try optim(list(optimCost, n), x0, "qn", "ar",1000,1000, imp=2); catch msg = lasterror(); end
+refMsg = "stack size exceeded!";
+assert_checkequal(msg(1), refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9701.tst b/modules/optimization/tests/nonreg_tests/bug_9701.tst
new file mode 100755
index 000000000..5cc952d3e
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9701.tst
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9701 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9701
+//
+// <-- Short Description -->
+// optim gateway was failing for large problems.
+//
+
+function [f, g, ind] = optimCost(x, ind, n)
+ xref = (1:n)'
+ if ind == 1 | ind == 4 then
+ f = 0.5*sum((x-xref).^2)
+ else
+ f = 0
+ end
+ if ind == 1 | ind == 4 then
+ g = x-xref
+ else
+ g = zeros(x)
+ end
+endfunction
+
+stacksize("max");
+n = 50000;
+x0 = ones(n, 1);
+
+try optim(list(optimCost, n), x0, "qn", "ar",1000,1000, imp=2); catch msg = lasterror(); end
+refMsg = "stack size exceeded!";
+
+assert_checkequal(msg(1), refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9788.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9788.dia.ref
new file mode 100755
index 000000000..92a431af8
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9788.dia.ref
@@ -0,0 +1,51 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9788 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9788
+//
+// <-- Short Description -->
+// neldermead did not print warning messages when maxfuneval or maxiter was attained.
+// The status could only be retrieved in the -status field.
+//
+function [f, index] = quadratic(x, index)
+ f = x(1)^2 + x(2)^2;
+endfunction
+x0 = [1; 1];
+nm = neldermead_new ();
+nm = neldermead_configure(nm, "-numberofvariables", 2);
+nm = neldermead_configure(nm, "-function", quadratic);
+nm = neldermead_configure(nm, "-x0", x0);
+nm = neldermead_search(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_configure(nm, "-maxfunevals", 10);
+nm = neldermead_search(nm, 0);
+nm = neldermead_search(nm, "off");
+nm = neldermead_search(nm, 1);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_search(nm, "on");
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_configure(nm, "-maxiter", 2);
+nm = neldermead_search(nm, 0);
+nm = neldermead_search(nm, "off");
+nm = neldermead_search(nm, 1);
+optimbase_terminate: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+nm = neldermead_search(nm, "on");
+optimbase_terminate: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+refMsg = msprintf(_("%s: Wrong value for input argument #%d: ""%s"", ""%s"", %d or %d expected.\n"),..
+"neldermead_search", 2, "off", "on", 0, 1);
+assert_checkerror("neldermead_search(nm, ""k"");", refMsg);
+assert_checkerror("neldermead_search(nm, 2);", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9788.tst b/modules/optimization/tests/nonreg_tests/bug_9788.tst
new file mode 100755
index 000000000..299eba0fb
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9788.tst
@@ -0,0 +1,45 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 9788 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9788
+//
+// <-- Short Description -->
+// neldermead did not print warning messages when maxfuneval or maxiter was attained.
+// The status could only be retrieved in the -status field.
+//
+
+function [f, index] = quadratic(x, index)
+ f = x(1)^2 + x(2)^2;
+endfunction
+
+x0 = [1; 1];
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm, "-numberofvariables", 2);
+nm = neldermead_configure(nm, "-function", quadratic);
+nm = neldermead_configure(nm, "-x0", x0);
+nm = neldermead_search(nm);
+nm = neldermead_configure(nm, "-maxfunevals", 10);
+nm = neldermead_search(nm, 0);
+nm = neldermead_search(nm, "off");
+nm = neldermead_search(nm, 1);
+nm = neldermead_search(nm, "on");
+nm = neldermead_configure(nm, "-maxiter", 2);
+nm = neldermead_search(nm, 0);
+nm = neldermead_search(nm, "off");
+nm = neldermead_search(nm, 1);
+nm = neldermead_search(nm, "on");
+
+refMsg = msprintf(_("%s: Wrong value for input argument #%d: ""%s"", ""%s"", %d or %d expected.\n"),..
+"neldermead_search", 2, "off", "on", 0, 1);
+assert_checkerror("neldermead_search(nm, ""k"");", refMsg);
+assert_checkerror("neldermead_search(nm, 2);", refMsg);
diff --git a/modules/optimization/tests/nonreg_tests/bug_9811.dia.ref b/modules/optimization/tests/nonreg_tests/bug_9811.dia.ref
new file mode 100755
index 000000000..9896f8805
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9811.dia.ref
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Ruben Bibas
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9811 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9811
+//
+// <-- Short Description -->
+// fminsearch may produce a warning, but output.message is wrong
+//
+function y=banana(x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+// regular ending
+[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] );
+assert_checkfalse(isempty(strstr(output.message,"satisfies")));
+// maximum number of iterations exceeded
+opt = optimset ( "MaxIter" , 10 );
+[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+assert_checkfalse(isempty(strstr(output.message,"iterations")));
+// maximum number of funevals exceeded
+opt = optimset ( "MaxFunEvals" , 10 );
+[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+ Current function value: 4.3813601
+assert_checkfalse(isempty(strstr(output.message,"function evaluations")));
+// user stop (don't really know what that means)
+//opt = optimset ( "MaxFunEvals" , 10 );
+//[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] , opt );
+//test4 = isempty(strstr(output.message,"user stop"));
diff --git a/modules/optimization/tests/nonreg_tests/bug_9811.tst b/modules/optimization/tests/nonreg_tests/bug_9811.tst
new file mode 100755
index 000000000..36e0e33ba
--- /dev/null
+++ b/modules/optimization/tests/nonreg_tests/bug_9811.tst
@@ -0,0 +1,40 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Ruben Bibas
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 9811 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=9811
+//
+// <-- Short Description -->
+// fminsearch may produce a warning, but output.message is wrong
+//
+
+function y=banana(x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+// regular ending
+[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] );
+assert_checkfalse(isempty(strstr(output.message,"satisfies")));
+
+// maximum number of iterations exceeded
+opt = optimset ( "MaxIter" , 10 );
+[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] , opt );
+assert_checkfalse(isempty(strstr(output.message,"iterations")));
+
+// maximum number of funevals exceeded
+opt = optimset ( "MaxFunEvals" , 10 );
+[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] , opt );
+assert_checkfalse(isempty(strstr(output.message,"function evaluations")));
+
+// user stop (don't really know what that means)
+//opt = optimset ( "MaxFunEvals" , 10 );
+//[x,fval,exitflag,output] = fminsearch ( banana , [-1.2 1] , opt );
+//test4 = isempty(strstr(output.message,"user stop"));
+
diff --git a/modules/optimization/tests/unit_tests/25FV47.SIF b/modules/optimization/tests/unit_tests/25FV47.SIF
new file mode 100755
index 000000000..980e6dec9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/25FV47.SIF
@@ -0,0 +1,6937 @@
+***************************
+* SET UP THE INITIAL DATA *
+***************************
+
+NAME 25FV47
+
+* Problem:
+* ********
+
+* An LP, contributed by John Reid.
+* This problem is sometimes called BP or BP1.
+
+* Source:
+* The NETLIB collection of test problems.
+
+* SIF input: (already in MPS format)
+
+* classification LLR2-AN-1571-822
+
+ROWS
+ N R0000
+ E F1X.0
+ E 2SF145
+ E 2SF089
+ E 2SF129
+ E 30M00
+ E 30M94
+ E 30M91
+ E 30ATK
+ E 30PGK
+ E 30G30
+ E 30G17
+ E 30G44
+ E 30G22
+ E 30D22
+ E 30D30
+ E 30121
+ E 30F52
+ E 30F48
+ E 30128
+ E RB017
+ E 2RB018
+ E 1RB019
+ E 2RB020
+ E RC0ST
+ L RCRFT
+ E RMSEX
+ E RLDEX
+ E RPKEX
+ E RRKEX
+ E RG0EX
+ E RF0EX
+ E KW1RC
+ E RA001
+ E RA002
+ E 1RA002
+ E RA004
+ E RA005
+ E 2RA005
+ E RA006
+ E RA007
+ E RA008
+ E RA009
+ E RA010
+ E RA011
+ E RA012
+ E RA013
+ E RA014
+ E RA015
+ E RA016
+ E RA017
+ E RA018
+ E RA019
+ E RA020
+ E 1RA020
+ E RA022
+ E RA023
+ E RA024
+ E RA026
+ E RA027
+ E RA028
+ E RA029
+ E 1RA029
+ E RA031
+ E RA032
+ E RA033
+ E RA034
+ E 1RA034
+ E 2RA034
+ E RA035
+ E RA036
+ L RA037
+ E RA038
+ E RA039
+ E RA040
+ E RA041
+ E RA043
+ E 1RA043
+ E RA044
+ E RA045
+ E RA046
+ E RA047
+ E 1RA047
+ E RA048
+ E RA049
+ E RA051
+ E RA052
+ E 1RA052
+ E 1RA053
+ E RA054
+ L RA055
+ L 1RA055
+ L RA056
+ L RA057
+ L RA058
+ E 1RA058
+ L RA059
+ L RA060
+ L 2RA060
+ L 3RA060
+ L RA061
+ L RA062
+ L RA063
+ L RA064
+ L RA065
+ L RA066
+ L RA067
+ L RA068
+ L RA069
+ L RA070
+ L RA072
+ L RA075
+ L 1RA075
+ L RA076
+ L 1RA076
+ L RA077
+ L RA078
+ L 1RA078
+ L RA079
+ L 1RA079
+ L RA081
+ L 1RA081
+ L RA082
+ L RA083
+ L RA084
+ L RA085
+ L RA086
+ L RA087
+ L RA088
+ L RA089
+ L RA090
+ L RA091
+ L RA092
+ L RA093
+ L RA094
+ L RA095
+ L RA096
+ E RA097
+ E 1RA099
+ L RA100
+ E RB001
+ E 1RB001
+ E RB002
+ E RB003
+ E 1RB003
+ E RB004
+ E 1RB004
+ E RB005
+ E 1RB005
+ E 2RB005
+ E RB006
+ E 1RB006
+ E RB007
+ E 1RB007
+ E 2RB007
+ E RB008
+ E 1RB008
+ E 2RB008
+ E 3RB008
+ E RB009
+ E RB010
+ E RB011
+ E RB012
+ E RB013
+ E 1RB013
+ E RB014
+ E RB015
+ E 1RB015
+ E 2RB015
+ E RB016
+ E 1RB016
+ E RB018
+ E 1RB018
+ E RB019
+ E RB020
+ E 1RB020
+ E 1RB021
+ E RB022
+ E 1RB022
+ E 1RB023
+ E RB024
+ E 1RB024
+ E RB025
+ E 1RB025
+ E 2RB025
+ E RB026
+ E RB027
+ E RB028
+ E RB029
+ E RB030
+ E 1RB030
+ E 2RB030
+ E RB031
+ E 1RB031
+ E RB033
+ E RB034
+ E RB035
+ E RB036
+ E RB037
+ E RB038
+ E 1RB038
+ E RB039
+ E RB040
+ E 1RB040
+ E 2RB040
+ E RB041
+ E RB042
+ E 1RB043
+ E 1RB044
+ E RB045
+ E 1RB045
+ E 4RB045
+ L RB046
+ E RB047
+ E 2RB047
+ E 3RB047
+ E RB048
+ E 2RB049
+ E RB050
+ E 1RB050
+ E RB051
+ E 1RB051
+ E 2RB051
+ E RB052
+ E RB053
+ E 1RB053
+ E RB054
+ E 1RB054
+ E RB055
+ L RB057
+ L RB058
+ L 1RB058
+ L RB059
+ L RB060
+ L RB061
+ L RB062
+ L RB063
+ E RB064
+ L RB065
+ L RB066
+ L RB067
+ E RB068
+ L RB069
+ L RB070
+ L RB071
+ L RB072
+ E RB073
+ L RB074
+ L RB075
+ L RB076
+ L RB077
+ L RB078
+ L RB079
+ L RB080
+ L RB081
+ L RB082
+ L RB083
+ L RB084
+ L RB085
+ L RB086
+ L RB087
+ L 1RB087
+ L RB088
+ L RB089
+ L RB090
+ L 1RB090
+ L RB091
+ L RB092
+ L 1RB092
+ L RB093
+ L 1RB093
+ L RB094
+ L RB095
+ L RB096
+ L RB097
+ L RB098
+ L RB099
+ L RB100
+ L RB101
+ L RB102
+ L RB103
+ L RB104
+ L RB105
+ L RB106
+ E RCLD4
+ E RCF35
+ E RCF80
+ E RDBMS
+ E RDLD4
+ E RDK19
+ E RDG55
+ E RDF35
+ E RE001
+ E RE002
+ E RE004
+ L RE005
+ E RE008
+ E RE009
+ E RE010
+ E RE011
+ E RE012
+ E RE013
+ E RE014
+ E RE015
+ E RE016
+ E RE017
+ E RE018
+ E RE019
+ E RE021
+ E RE022
+ E RE024
+ E RE025
+ E RE026
+ E RE028
+ E RE030
+ E RE035
+ E RE036
+ E RE037
+ E RE039
+ E RE040
+ E RE044
+ E RE045
+ E RE046
+ E RE047
+ E RE048
+ E RE049
+ E RE050
+ E RE051
+ E RE055
+ E 1RE056
+ E RE057
+ E RE058
+ E RE060
+ L RE061
+ L 1RE061
+ L 2RE061
+ L RE062
+ L RE063
+ L RE064
+ L RE066
+ L RE068
+ L RE069
+ L RE070
+ L RE071
+ L RE072
+ L RE073
+ L RE074
+ L RE075
+ L RE084
+ L RE085
+ L RE086
+ L RE087
+ L RE088
+ L RE089
+ L RE090
+ L RE091
+ L RE092
+ L RE098
+ L RE099
+ L RE100
+ L RE101
+ L RE102
+ E RE103
+ L RE104
+ L RH001
+ E 1RH001
+ E 2RH001
+ E RH002
+ E RH003
+ E RH004
+ E RH005
+ E 1RH005
+ E RH006
+ E 1RH006
+ E RH007
+ E RH008
+ E 1RH008
+ E RH009
+ E RH010
+ E RH011
+ E RH012
+ E RH013
+ E RH014
+ E RH015
+ E RH016
+ E RH017
+ E 1RH017
+ E 2RH017
+ E RH018
+ E 1RH018
+ E 2RH018
+ E 3RH018
+ E RH019
+ E 1RH019
+ E RH020
+ E RH021
+ E 1RH021
+ E RH022
+ E 1RH022
+ E 2RH022
+ E 3RH022
+ E 4RH022
+ E RH023
+ E 2RH023
+ E RH024
+ E 1RH024
+ E RH025
+ E 1RH025
+ E 2RH025
+ E RH026
+ E 1RH026
+ E 2RH026
+ E RH027
+ E 1RH027
+ E RH028
+ E 1RH028
+ E 2RH028
+ E RH029
+ E 1RH029
+ E RH030
+ E 1RH030
+ E 2RH030
+ E 3RH030
+ E 4RH030
+ E RH031
+ E RH032
+ E 1RH033
+ E 2RH033
+ E RH034
+ E 1RH034
+ E RH035
+ E 1RH035
+ E RH036
+ E 1RH036
+ E RH038
+ E 1RH038
+ E 2RH038
+ E RH039
+ E 2RH039
+ E RH041
+ E RH042
+ E 2RH042
+ E RH043
+ E 2RH043
+ E RH046
+ E RH048
+ E 2RH048
+ E 3RH048
+ E RH050
+ E RH051
+ E 1RH051
+ E 2RH051
+ E RH052
+ E 2RH052
+ E 3RH052
+ E 4RH052
+ E RH053
+ E 2RH053
+ E 3RH053
+ L RH054
+ L 1RH054
+ L RH055
+ L RH056
+ L RH057
+ L RH058
+ L RH059
+ L RH060
+ L 1RH060
+ L RH061
+ L RH062
+ E RH063
+ L RH064
+ L RH065
+ L RH066
+ L 1RH066
+ E RH067
+ L RH068
+ L RH069
+ L RH070
+ L RH071
+ E RH072
+ L RH073
+ L RH074
+ L RH075
+ L RH080
+ L RH081
+ L RH082
+ L RH083
+ L RH084
+ L RH085
+ L RH086
+ L RH087
+ L RH088
+ L RH089
+ L 1RH089
+ L 2RH089
+ L 3RH089
+ L RH090
+ L 1RH090
+ L 2RH090
+ L RH091
+ L RH093
+ L 1RH093
+ L RH094
+ E RH095
+ E RH096
+ L RH099
+ L RH103
+ L RH105
+ L RH106
+ L 1RH106
+ L 2RH106
+ L RH107
+ L 1RH107
+ L 2RH107
+ L RH108
+ E RH109
+ L 1RH109
+ L 2RH109
+ L RH110
+ E RH113
+ E RH114
+ L RH115
+ L RH116
+ L RH117
+ L RH118
+ L 1RH118
+ E R1002
+ E R1003
+ E R1004
+ E 1R1004
+ E R1005
+ E 1R1006
+ L 2R1006
+ E R1007
+ E 1R1007
+ E R1008
+ E R1009
+ L 1R1009
+ E R1010
+ E R1012
+ E R1013
+ E R1014
+ E R1015
+ E R1016
+ E R1017
+ E R1018
+ E R1019
+ E 1R1019
+ E R1020
+ E 1R1020
+ E R1021
+ E 1R1021
+ E 2R1021
+ E 3R1021
+ E R1022
+ E R1023
+ E R1024
+ E R1025
+ E R1026
+ E R1027
+ E 1R1027
+ E R1028
+ E 1R1028
+ E 2R1028
+ E 3R1028
+ E R1029
+ E R1030
+ E R1031
+ E R1032
+ E R1033
+ E 1R1033
+ E 2R1033
+ E 3R1033
+ E R1034
+ E R1035
+ E R1036
+ E R1037
+ E R1038
+ E 1R1038
+ E 2R1038
+ E R1039
+ L 1R1039
+ E R1040
+ E R1041
+ L R1042
+ E R1043
+ E R1045
+ E R1046
+ E R1047
+ E R1050
+ E R1051
+ E R1054
+ E R1055
+ E R1057
+ L 1R1057
+ E R1058
+ E R1060
+ E R1061
+ E R1062
+ E 2R1062
+ E R1063
+ E 1R1063
+ E 2R1063
+ E R1064
+ E 1R1064
+ E R1065
+ E R1066
+ E R1068
+ E 1R1068
+ E R1069
+ L R1070
+ L R1071
+ L 1R1071
+ L 2R1071
+ L R1072
+ L R1073
+ L R1074
+ E R1075
+ L R1076
+ L R1077
+ L R1078
+ E R1079
+ L R1080
+ L R1081
+ L R1082
+ L R1086
+ L R1087
+ L R1088
+ L R1089
+ L R1090
+ L R1091
+ L R1092
+ L R1093
+ L R1094
+ L R1095
+ L R1096
+ L R1097
+ L R1098
+ L R1099
+ L R1100
+ L R1101
+ L R1102
+ L 1R1102
+ L R1103
+ L R1104
+ L R1105
+ L R1106
+ L R1107
+ L R1108
+ L R1109
+ L R1110
+ L R1111
+ L R1112
+ L R1113
+ L R1114
+ L R1115
+ E RJ001
+ E 1RJ001
+ E RJ002
+ E RJ003
+ E RJ004
+ E RJ005
+ E RJ006
+ E 1RJ006
+ E RJ007
+ E 1RJ007
+ E RJ008
+ E 1RJ008
+ E RJ009
+ E RJ010
+ E RJ011
+ E 1RJ011
+ E RJ012
+ E RJ013
+ E RJ014
+ E RJ015
+ E RJ016
+ E RJ018
+ E RJ019
+ E RJ020
+ E RJ021
+ E RJ024
+ E RJ025
+ E RJ026
+ E RJ027
+ E RJ028
+ E RJ029
+ E RJ030
+ E RJ031
+ E RJ032
+ E RJ033
+ L RJ034
+ E RJ035
+ E RJ036
+ E 1RJ036
+ E 1RJ037
+ L 2RJ037
+ E RJ038
+ E RJ039
+ E RJ040
+ E 1RJ041
+ E RJ042
+ E RJ043
+ E RJ045
+ E 2RJ045
+ E RJ046
+ E 2RJ046
+ E RJ047
+ L RJ048
+ L RJ049
+ L RJ050
+ L 1RJ050
+ L RJ051
+ E RJ052
+ L RJ053
+ L RJ054
+ E RJ055
+ L RJ056
+ L RJ057
+ L RJ061
+ L RJ062
+ L RJ063
+ L RJ064
+ L RJ065
+ L RJ066
+ L RJ067
+ L RJ068
+ L RJ069
+ L RJ070
+ L RJ071
+ L RJ072
+ L RJ073
+ L 1RJ073
+ L RJ074
+ L 1RJ074
+ L RJ075
+ L RJ076
+ L 1RJ076
+ L RJ077
+ L RJ078
+ L RJ079
+ L RJ080
+ E RJ081
+ E RJ082
+ E RJ083
+ E RJ084
+ E 1RJ084
+ E RJ089
+ E RJ091
+ E RJ092
+ L RJ095
+ L RJ096
+ E RJ097
+ E 1RJ097
+ E RJ098
+ E 1RJ098
+ L RJ099
+ L RJ100
+ L RJ102
+ L RJ103
+ L RJ104
+ L RJ105
+ L RJ106
+ L 1RM001
+ E RM002
+ E 1RM003
+ E 2RM003
+ E RM004
+ E RM005
+ E RM006
+ E 1RM006
+ E 2RM006
+ E RM011
+ E RM012
+ E RN009
+ E 1RN014
+ E RR010
+ E RR021
+ E RRG29
+ L UKLDF
+ L HSPMS
+ L HSRMS
+ L HSLDF
+ L HSATK
+ L NSG17
+ L HSG58
+ L HSF80
+ E RT005
+ E RT006
+ E 3RT006
+ E 4RT006
+ E RV001
+ E RV002
+ E RV003
+ E RXATG
+ E RXF72
+ E RY001
+ E 1RY001
+ E RY002
+ E RY004
+ L RY005
+ E RZ001
+ E RZ002
+ E RZ004
+ E RZ005
+ E RZ006
+ E RZ012
+ E RZ016
+ E RZ019
+ E RZ020
+ L RABDH
+ E RAGJA
+ L RGACH
+ L RHN1G
+ L RK1RK
+ E RKUWT
+ L RL1BY
+ L RMN1G
+ L RMURB
+ L RQATR
+ L RT1JA
+COLUMNS
+ MSEXP R0000 -.1 RMSEX -1.
+ MS1MP R0000 .101 RMSEX 1.
+ LDEXP R0000 -.075 RLDEX -1.
+ LD1MP R0000 .076 RLDEX 1.
+ PKEXP R0000 -.1 RPKEX -1.
+ PK1MP R0000 .101 RPKEX 1.
+ RKEXP R0000 -.0875 RRKEX -1.
+ RK1MP R0000 .0885 RRKEX 1.
+ 1G0EXP RG0EX -1.
+ 1G01MP RG0EX 1.
+ 1F0EXP RF0EX -1.
+ 1F01MP RF0EX 1.
+ 5C0ST R0000 .2 RC0ST -1.
+ 6C0ST R0000 .25 RC0ST -1.
+ CCRFT R0000 .001 RCRFT -1.
+ CRUDE R0000 2.275 RKUWT -1.
+ AABDH R0000 -1.5303 1RA002 -1.
+ AABDH RABDH 1.
+ HABDH R0000 .9632 RH006 -1.
+ HABDH RABDH 1.
+ JABDH R0000 .3687 RJ006 -1.
+ JABDH RABDH 1.
+ 1AAGJA R0000 -1.4254 RA001 -1.
+ 1AAGJA RAGJA 1.
+ 1BAGJA R0000 1.007 RB001 -1.
+ 1BAGJA RAGJA 1.
+ EAGJA R0000 -1.1387 RE002 -1.
+ EAGJA RAGJA 1.
+ 1HAGJA R0000 .9839 RH002 -1.
+ 1HAGJA RAGJA 1.
+ 11AGJA R0000 1.0109 R1004 -1.
+ 11AGJA RAGJA 1.
+ 1JAGJA R0000 .3969 RJ002 -1.
+ 1JAGJA RAGJA 1.
+ AGACH R0000 -1.2464 RA004 -1.
+ AGACH RGACH 1.
+ BGACH R0000 1.007 RB003 -1.
+ BGACH RGACH 1.
+ EGACH R0000 -1.0122 RE004 -1.
+ EGACH RGACH 1.
+ 1GACH R0000 1.0109 R1005 -1.
+ 1GACH RGACH 1.
+ JGACH R0000 .3969 RJ005 -1.
+ JGACH RGACH 1.
+ BHN1G R0000 .8625 RB004 -1.
+ BHN1G RHN1G 1.
+ HHN1G R0000 .6674 RH005 -1.
+ HHN1G RHN1G 1.
+ 1HN1G R0000 .6943 R1007 -1.
+ 1HN1G RHN1G 1.
+ BK1RK R0000 .3075 1RB001 -1.
+ BK1RK 1RB038 -.02 RB042 -.02
+ BK1RK RB047 -.02 RB052 .06
+ BK1RK RK1RK 1.
+ HK1RK R0000 .4249 RH003 -1.
+ HK1RK RH039 -.02 RH042 -.02
+ HK1RK RH048 -.02 3RH052 .06
+ HK1RK RK1RK 1.
+ 1K1RK R0000 .3059 R1002 -1.
+ 1K1RK R1055 -.02 R1057 -.02
+ 1K1RK 1R1057 -.02 R1062 -.02
+ 1K1RK R1068 .06 RK1RK 1.
+ AKUWT R0000 -1.2063 RA005 -1.
+ AKUWT RKUWT 1.
+ BKUWT R0000 1.0114 RB002 -1.
+ BKUWT RKUWT 1.
+ EKUWT R0000 -.9791 RE001 -1.
+ EKUWT RKUWT 1.
+ HKUWT R0000 .9886 1RH001 -1.
+ HKUWT RKUWT 1.
+ 1KUWT R0000 1.0154 R1003 -1.
+ 1KUWT RKUWT 1.
+ JKUWT R0000 .4033 RJ001 -1.
+ JKUWT RKUWT 1.
+ BL1BY R0000 .3657 1RB003 -1.
+ BL1BY RL1BY 1.
+ HL1BY R0000 .345 1RH006 -1.
+ HL1BY RL1BY 1.
+ 1L1BY R0000 .6832 1R1006 -1.
+ 1L1BY RL1BY 1.
+ BMN1G R0000 .8625 1RB004 -1.
+ BMN1G RMN1G 1.
+ HMN1G R0000 .6674 1RH005 -1.
+ HMN1G RMN1G 1.
+ 1MN1G R0000 .6943 1R1004 -1.
+ 1MN1G RMN1G 1.
+ 1MURB R0000 1.0199 1R1007 -1.
+ 1MURB RMURB 1.
+ JMURB R0000 .4094 1RJ006 -1.
+ JMURB RMURB 1.
+ AQATR R0000 -1.6519 RA002 -1.
+ AQATR RQATR 1.
+ JQATR R0000 .4001 RJ004 -1.
+ JQATR RQATR 1.
+ ASPKU R0000 -1.3823 2RA005 -1.
+ ASPKU RY001 .15 RKUWT .85
+ HSPKU R0000 .9886 2RH001 -1.
+ HSPKU RY001 .1 RKUWT .9
+ JSPKU R0000 .4033 1RJ001 -1.
+ JSPKU RY001 .1 RKUWT .9
+ BT1JA R0000 .4183 RB005 -1.
+ BT1JA RT1JA 1.
+ HT1JA R0000 .4022 RH004 -1.
+ HT1JA RT1JA 1.
+ HC3 R0000 100. 1RH008 1.
+ AVGAS R0000 20.8248 RC0ST 1.658
+ AVGAS RMSEX -1. RH031 1.
+ KWPMS R0000 20. RA039 1.
+ PMS R0000 13.9748 RC0ST 1.658
+ PMS RMSEX -1. 1RH035 1.
+ RMS R0000 11.5968 RC0ST 1.658
+ RMS RMSEX -1. 1RH036 1.
+ PGB0 R0000 12.0848 RC0ST 1.658
+ PGB0 RPKEX -1. RH041 1.
+ ATK R0000 11.1467 RC0ST 1.658
+ ATK RRKEX -1. RH042 1.
+ KWG20 R0000 15. RA044 1.
+ G29 R0000 7.9067 RC0ST 1.646
+ G29 RRG29 1.
+ G44 R0000 9.5828 RC0ST 1.658
+ G44 RG0EX -1. RH043 1.
+ G44 RH082 -5.
+ G58 R0000 8.0198 RC0ST 1.658
+ G58 RG0EX -1. 2RH048 1.
+ F28 R0000 5.9417 RC0ST 1.658
+ F28 RF0EX -1. 1RH051 1.
+ F80 R0000 4.6059 RC0ST 1.658
+ F80 RF0EX -1. 2RH052 1.
+ F81 R0000 5.535 RC0ST 1.562
+ F81 RF0EX -1. RB054 1.
+ ADDAE R0000 .6374 KW1RC 1.
+ CA001 R0000 .0174 1RA002 1.0125
+ CA001 RA009 .167 RA011 .06
+ CA001 RA012 .045 RA013 .1
+ CA001 RA014 .09 RA016 .116
+ CA001 1RA020 .404 RA035 .018
+ CA001 RA036 -.0223 RA055 1.13
+ CA001 1RA055 1.13
+ CA002 R0000 .0111 RA001 1.0115
+ CA002 RA008 .037 RA009 .151
+ CA002 RA010 .053 RA013 .088
+ CA002 RA014 .08 RA016 .104
+ CA002 RA018 .467 RA035 .02
+ CA002 RA036 -.0217 RA055 1.02
+ CA002 1RA055 1.02
+ CA003 R0000 .0088 RA005 1.0085
+ CA003 RA009 .131 RA011 .042
+ CA003 RA012 .033 RA013 .076
+ CA003 RA015 .091 RA017 .06
+ CA003 RA019 .546 RA035 .021
+ CA003 RA036 -.0223 RA055 1.
+ CA003 RA072 -.101
+ CA004 R0000 .0174 RA002 1.0125
+ CA004 RA009 .192 RA011 .07
+ CA004 RA012 .048 RA013 .115
+ CA004 RA014 .113 RA016 .074
+ CA004 RA020 .355 RA035 .033
+ CA004 RA036 -.0223 RA055 1.25
+ CA006 R0000 .0114 RA004 1.0115
+ CA006 RA006 .533 RA008 .037
+ CA006 RA009 .147 RA010 .037
+ CA006 RA013 .08 RA014 .074
+ CA006 RA016 .073 RA035 .019
+ CA006 RA036 -.0223 RA055 1.
+ CA006 1RA055 1.
+ CA008 R0000 .2564 RA061 -10.52
+ CA008 RA062 1.
+ CA009 R0000 .2564 RA066 -15.27
+ CA009 RA067 1.
+ CA010 R0000 .0819 RA035 -1.
+ CA010 RA039 1. RA061 5.17
+ CA010 RA062 -.541 RA063 -155.159897
+ CA010 RA064 218.259996 RA065 95.509999
+ CA011 R0000 .0495 RA035 -1.
+ CA011 RA040 1. RA066 -18.96
+ CA011 RA067 -.734 RA068 -155.159897
+ CA011 RA069 218.259996 RA070 95.509999
+ CA012 R0000 .0404 RA009 -1.
+ CA012 RA040 1. RA066 33.79
+ CA012 RA067 -.599 RA068 -14.08
+ CA012 RA069 -14.78 RA070 -6.899
+ CA013 R0000 .1593 RA009 -1.
+ CA013 RA013 .02 RA022 .149
+ CA013 RA035 .241 RA036 -.115
+ CA013 RA039 .59 RA056 1.405
+ CA013 RA061 .39 RA062 -.242
+ CA013 RA063 -3.855 RA064 -4.7
+ CA013 RA065 -3.55
+ CA014 R0000 .0543 RA009 -1.
+ CA014 RA013 .02 RA022 .149
+ CA014 RA035 .112 RA036 -.082
+ CA014 RA040 .719 RA056 1.117
+ CA014 RA066 -.78 RA067 -.414
+ CA014 RA068 .972 RA069 -13.22
+ CA014 RA070 -4.471
+ CA015 R0000 .1001 RA009 -1.
+ CA015 RA013 .02 RA023 .446
+ CA015 RA035 .153 RA036 -.074
+ CA015 RA039 .381 RA056 .801
+ CA015 RA061 .24 RA062 -.153
+ CA015 RA063 7.32 RA064 -4.
+ CA015 RA065 -2.24
+ CA016 R0000 .0382 RA009 -1.
+ CA016 RA013 .02 RA023 .446
+ CA016 RA035 .043 RA036 -.0527
+ CA016 RA040 .491 RA056 .879
+ CA016 RA066 -.52 RA067 -.277
+ CA016 RA068 16.25 RA069 -10.4
+ CA016 RA070 -2.99
+ CA017 R0000 .1087 RA009 -1.
+ CA017 RA013 .02 RA022 .149
+ CA017 RA035 .191 RA036 -.1099
+ CA017 RA039 .64 RA056 1.245
+ CA017 RA061 3.73 RA062 -.266
+ CA017 RA063 -1.696 RA064 -8.06
+ CA017 RA065 -3.9
+ CA018 R0000 .0928 RA009 -1.
+ CA018 RA013 .02 RA022 .149
+ CA018 RA035 .191 RA036 -.1099
+ CA018 RA040 .64 RA056 1.245
+ CA018 RA066 -7.97 RA067 -.361
+ CA018 RA068 -1.696 RA069 -8.06
+ CA018 RA070 -3.9
+ CA019 R0000 .071 RA009 -1.
+ CA019 RA013 .02 RA023 .446
+ CA019 RA035 .083 RA036 -.0706
+ CA019 RA039 .451 RA056 .939
+ CA019 RA061 2.58 RA062 -.184
+ CA019 RA063 11.72 RA064 -6.91
+ CA019 RA065 -2.695
+ CA020 R0000 .06 RA009 -1.
+ CA020 RA013 .02 RA023 .446
+ CA020 RA035 .083 RA036 -.0706
+ CA020 RA040 .451 RA056 .939
+ CA020 RA066 -5.51 RA067 -.249
+ CA020 RA068 11.72 RA069 -6.91
+ CA020 RA070 -2.695
+ CA021 R0000 .1724 RA009 -.745
+ CA021 RA010 -.255 RA013 .02
+ CA021 RA022 .083 RA035 .207
+ CA021 RA036 -.124 RA039 .69
+ CA021 RA056 1.447 RA061 .45
+ CA021 RA062 -.279 RA063 3.56
+ CA021 RA064 -8.72 RA065 -4.09
+ CA022 R0000 .065 RA009 -.745
+ CA022 RA010 -.255 RA013 .02
+ CA022 RA022 .083 RA035 .069
+ CA022 RA036 -.088 RA040 .828
+ CA022 RA056 1.068 RA066 -.88
+ CA022 RA067 -.47 RA068 8.832
+ CA022 RA069 -20.2 RA070 -5.078
+ CA024 R0000 .1417 RA009 -.745
+ CA024 RA010 -.255 RA013 .02
+ CA024 RA023 .25 RA035 .125
+ CA024 RA036 -.101 RA039 .605
+ CA024 RA056 1.162 RA061 .38
+ CA024 RA062 -.24 RA063 20.682
+ CA024 RA064 -9.12 RA065 -3.52
+ CA025 R0000 .053 RA009 -.745
+ CA025 RA010 -.255 RA013 .02
+ CA025 RA023 .25 RA035 .039
+ CA025 RA036 -.072 RA040 .691
+ CA025 RA056 .858 RA066 -.72
+ CA025 RA067 -.384 RA068 29.8
+ CA025 RA069 -18.69 RA070 -4.153
+ CA027 R0000 .1138 RA009 -.747
+ CA027 RA011 -.253 RA013 .02
+ CA027 RA022 .1 RA035 .185
+ CA027 RA036 -.116 RA039 .695
+ CA027 RA056 1.239 RA061 4.
+ CA027 RA062 -.285 RA063 3.632
+ CA027 RA064 -11.26 RA065 -4.177
+ CA028 R0000 .0968 RA009 -.747
+ CA028 RA011 -.253 RA013 .02
+ CA028 RA022 .1 RA035 .185
+ CA028 RA036 -.116 RA040 .695
+ CA028 RA056 1.239 RA066 -8.54
+ CA028 RA067 -.386 RA068 3.632
+ CA028 RA069 -11.26 RA070 -4.177
+ CA029 R0000 .1033 RA009 -.747
+ CA029 RA011 -.253 RA013 .02
+ CA029 RA022 .1 RA035 .185
+ CA029 RA036 -.131 RA039 .347
+ CA029 RA040 .348 RA056 1.239
+ CA029 RA061 -2.07 RA062 -.129
+ CA029 RA063 18.585 RA064 -12.06
+ CA029 RA065 -3.965 RA066 2.96
+ CA029 RA067 -.21 RA068 -7.26
+ CA029 RA069 -1.63 RA070 -.79
+ CA030 R0000 .0977 RA009 -.745
+ CA030 RA010 -.255 RA013 .02
+ CA030 RA023 .25 RA035 .088
+ CA030 RA036 -.0966 RA039 .642
+ CA030 RA056 1. RA061 3.62
+ CA030 RA062 -.258 RA063 23.86
+ CA030 RA064 -12.67 RA065 -3.786
+ CA031 R0000 .0823 RA009 -.745
+ CA031 RA010 -.255 RA013 .02
+ CA031 RA023 .25 RA035 .088
+ CA031 RA036 -.0966 RA040 .642
+ CA031 RA056 1. RA066 -7.74
+ CA031 RA067 -.35 RA068 23.86
+ CA031 RA069 -12.67 RA070 -3.786
+ CA032 R0000 .0976 RA009 -.745
+ CA032 RA010 -.255 RA013 .02
+ CA032 RA023 .25 RA035 .088
+ CA032 RA036 -.1086 RA039 .321
+ CA032 RA040 .321 RA056 1.
+ CA032 RA061 -1.88 RA062 -.118
+ CA032 RA063 20.625 RA064 -10.95
+ CA032 RA065 -3.6 RA066 2.23
+ CA032 RA067 -.19 RA068 -2.23
+ CA032 RA069 -3.08 RA070 -.714
+ CA033 R0000 .1655 RA009 -.747
+ CA033 RA011 -.253 RA013 .02
+ CA033 RA022 .1 RA035 .249
+ CA033 RA036 -.122 RA039 .631
+ CA033 RA056 1.438 RA061 .41
+ CA033 RA062 -.255 RA063 2.442
+ CA033 RA064 -5.7 RA065 -3.74
+ CA034 R0000 .0621 RA009 -.747
+ CA034 RA011 -.253 RA013 .02
+ CA034 RA022 .1 RA035 .099
+ CA034 RA036 -.087 RA040 .781
+ CA034 RA056 1.062 RA066 -.83
+ CA034 RA067 -.443 RA068 7.287
+ CA034 RA069 -18.43 RA070 -4.789
+ CA035 R0000 .1291 RA009 -.747
+ CA035 RA011 -.253 RA013 .02
+ CA035 RA023 .3 RA035 .139
+ CA035 RA036 -.094 RA039 .541
+ CA035 RA056 1.172 RA061 .34
+ CA035 RA062 -.215 RA063 17.125
+ CA035 RA064 -7.54 RA065 -3.15
+ CA036 R0000 .0491 RA009 -.747
+ CA036 RA011 -.253 RA013 .02
+ CA036 RA023 .3 RA035 .045
+ CA036 RA036 -.0671 RA040 .635
+ CA036 RA056 .872 RA066 -.66
+ CA036 RA067 -.353 RA068 25.73
+ CA036 RA069 -16.68 RA070 -3.818
+ CA037 R0000 .1181 RA009 -.745
+ CA037 RA010 -.255 RA013 .02
+ CA037 RA022 .083 RA035 .162
+ CA037 RA036 -.119 RA039 .735
+ CA037 RA056 1.246 RA061 4.23
+ CA037 RA062 -.301 RA063 4.805
+ CA037 RA064 -12.49 RA065 -4.421
+ CA038 R0000 .1 RA009 -.745
+ CA038 RA010 -.255 RA013 .02
+ CA038 RA022 .083 RA035 .162
+ CA038 RA036 -.119 RA040 .735
+ CA038 RA056 1.246 RA066 -9.03
+ CA038 RA067 -.409 RA068 4.805
+ CA038 RA069 -12.59 RA070 -4.421
+ CA039 R0000 .118 RA009 -.745
+ CA039 RA010 -.255 RA013 .02
+ CA039 RA022 .083 RA035 .162
+ CA039 RA036 -.133 RA039 .367
+ CA039 RA040 .368 RA056 1.246
+ CA039 RA061 -2.18 RA062 -.137
+ CA039 RA063 19.62 RA064 -12.73
+ CA039 RA065 -4.186 RA066 3.13
+ CA039 RA067 -.222 RA068 -7.83
+ CA039 RA069 -2.35 RA070 -.835
+ CA040 R0000 .0906 RA009 -.747
+ CA040 RA011 -.253 RA013 .02
+ CA040 RA023 .3 RA035 .09
+ CA040 RA036 -.09 RA039 .59
+ CA040 RA056 1. RA061 3.33
+ CA040 RA062 -.237 RA063 20.412
+ CA040 RA064 -11.19 RA065 -3.478
+ CA041 R0000 .0764 RA009 -.747
+ CA041 RA011 -.253 RA013 .02
+ CA041 RA023 .3 RA035 .09
+ CA041 RA036 -.09 RA040 .59
+ CA041 RA056 1. RA066 -7.11
+ CA041 RA067 -.322 RA068 20.412
+ CA041 RA069 -11.19 RA070 -3.478
+ CA042 R0000 .0905 RA009 -.747
+ CA042 RA011 -.253 RA013 .02
+ CA042 RA023 .3 RA035 .09
+ CA042 RA036 -.1011 RA039 .295
+ CA042 RA040 .295 RA056 1.
+ CA042 RA061 -1.73 RA062 -.108
+ CA042 RA063 18.975 RA064 -10.07
+ CA042 RA065 -3.312 RA066 2.05
+ CA042 RA067 -.174 RA068 -2.05
+ CA042 RA069 -2.34 RA070 -.656
+ CA043 RA010 -1. RA043 1.
+ CA043 RA075 -9.27 RA076 7.82
+ CA043 RA077 -3.5 RA078 33.89
+ CA043 RA079 -16.
+ 1CA043 RA010 -1. RA044 1.
+ 1CA043 1RA075 -9.27 1RA076 7.82
+ 1CA043 1RA078 33.89 1RA079 -16.
+ CA044 RA010 -1. RA046 1.
+ CA044 RA082 -13.98 RA083 10.15
+ CA044 RA084 33.89 RA085 -13.5
+ CA044 RA086 -20. RA087 -14.
+ CA044 RA088 -21.5
+ CA045 R0000 .0095 RA009 .27
+ CA045 RA011 -.42 RA012 -.33
+ CA045 RA013 -.52 RA041 1.
+ CA045 RA072 .5
+ 1CA045 R0000 .0095 RA009 -.07
+ 1CA045 RA011 -.29 RA012 -.23
+ 1CA045 RA013 -.41 RA041 1.
+ 1CA045 RA055 .6 RA072 .5
+ CA046 RA011 -1. RA043 1.
+ CA046 RA075 -9.27 RA076 7.82
+ CA046 RA077 -3.5 RA078 33.89
+ CA046 RA079 -16.
+ 1CA046 RA011 -1. RA044 1.
+ 1CA046 1RA075 -9.27 1RA076 7.82
+ 1CA046 1RA078 33.89 1RA079 -16.
+ CA048 RA011 -1. RA046 1.
+ CA048 RA082 -13.98 RA083 10.15
+ CA048 RA084 33.89 RA085 -13.5
+ CA048 RA086 -20. RA087 -14.
+ CA048 RA088 -21.5
+ CA049 RA012 -1. RA013 1.
+ 1CA050 R0000 .0104 RA012 -.44
+ 1CA050 RA013 -.65 RA015 .09
+ 1CA050 1RA043 1.
+ CA051 R0000 .0218 RA013 -1.
+ CA051 RA036 -.0409 RA044 .997
+ CA051 RA059 .933 1RA075 -4.76
+ CA051 1RA076 3.31 1RA078 2.3
+ CA051 1RA079 -11.96
+ CA052 RA013 -1. RA043 1.
+ CA052 RA075 -4.46 RA076 3.01
+ CA052 RA077 -2. RA078 2.3
+ CA052 RA079 -12.
+ CA053 RA013 -1. RA046 1.
+ CA053 RA082 -9.15 RA083 5.32
+ CA053 RA084 2.3 RA085 -12.
+ CA053 RA086 -16. RA087 -14.
+ CA053 RA088 -19.
+ CA054 RA013 -1. RA048 1.
+ CA054 RA089 -26.96 RA090 26.15
+ CA054 RA091 -22. RA092 -69.
+ CA055 RA013 -1. RA051 1.
+ CA055 RA093 -26.96 RA094 26.15
+ CA055 RA095 -30.5 RA096 -60.
+ CA056 R0000 .0218 RA014 -1.
+ CA056 RA036 -.0409 RA044 .987
+ CA056 RA059 1. 1RA075 -.286
+ CA056 1RA076 -1.14 1RA078 -3.13
+ CA056 1RA079 -.987
+ CA057 RA014 -1. RA043 1.
+ CA057 RA075 .71 RA076 -2.16
+ CA057 RA077 2.75 RA078 -3.17
+ CA057 RA079 -1.
+ CA058 RA014 -1. RA046 1.
+ CA058 RA082 -3.98 RA083 .15
+ CA058 RA084 -3.17 RA085 -7.25
+ CA058 RA086 -5. RA087 -14.
+ CA058 RA088 -15.
+ CA059 RA014 -1. RA048 1.
+ CA059 RA089 -19.06 RA090 18.25
+ CA059 RA091 -17.25 RA092 -53.
+ CA060 RA014 -1. RA051 1.
+ CA060 RA093 -19.06 RA094 18.25
+ CA060 RA095 -25.75 RA096 -44.
+ CA061 R0000 .0218 RA015 -1.
+ CA061 RA036 -.0409 RA044 .98
+ CA061 RA059 1.005 1RA075 -1.57
+ CA061 1RA076 .14 1RA078 -3.19
+ CA061 1RA079 -1.47
+ CA062 RA015 -1. RA043 1.
+ CA062 RA076 -1.45 RA077 6.5
+ CA062 RA078 -3.26 RA079 -1.5
+ CA063 RA015 -1. RA046 1.
+ CA063 RA082 -4.69 RA083 .86
+ CA063 RA084 -3.26 RA085 -3.5
+ CA063 RA086 -5.5 RA087 -14.
+ CA063 RA088 -16.
+ CA064 RA015 -1. RA048 1.
+ CA064 RA089 -18.96 RA090 18.15
+ CA064 RA091 -13.5 RA092 -54.
+ CA065 RA015 -1. RA051 1.
+ CA065 RA093 -18.96 RA094 18.15
+ CA065 RA095 -22. RA096 -45.
+ CA066 R0000 -.0027 RA016 -1.
+ CA066 RA026 1. RA032 -.054
+ CA066 RA034 .023 RA035 .031
+ CA068 R0000 .0218 RA016 -1.
+ CA068 RA036 -.0409 RA044 .976
+ CA068 RA059 1.835 1RA075 2.33
+ CA068 1RA076 -3.75 1RA078 -3.51
+ CA068 1RA079 20.5
+ CA069 RA016 -1. RA043 1.
+ CA069 RA075 4.15 RA076 -5.6
+ CA069 RA077 8.5 RA078 -3.6
+ CA069 RA079 21.
+ CA070 RA016 -1. RA046 1.
+ CA070 RA082 -.54 RA083 -3.29
+ CA070 RA084 -3.6 RA085 -1.5
+ CA070 RA086 17. RA087 -14.
+ CA070 RA088 -9.
+ CA071 RA016 -1. RA048 1.
+ CA071 RA089 -12.36 RA090 11.55
+ CA071 RA091 -11.5 RA092 -30.
+ CA072 RA016 -1. RA051 1.
+ CA072 RA093 -12.36 RA094 11.55
+ CA072 RA095 -20. RA096 -21.
+ CA073 R0000 -.0027 RA017 -1.
+ CA073 RA026 1. RA032 -.054
+ CA073 RA034 .023 RA035 .031
+ CA075 R0000 .0218 RA017 -1.
+ CA075 RA036 -.0409 RA044 .964
+ CA075 RA059 1.835 1RA075 6.63
+ CA075 1RA076 -2.77 1RA078 -3.46
+ CA075 1RA079 25.06
+ CA076 RA017 -1. RA043 1.
+ CA076 RA075 4.15 RA076 -5.6
+ CA076 RA077 14.5 RA078 -3.59
+ CA076 RA079 26.
+ CA077 RA017 -1. RA046 1.
+ CA077 RA082 -.54 RA083 -3.29
+ CA077 RA084 -3.59 RA085 4.5
+ CA077 RA086 22. RA087 -14.
+ CA077 RA088 -6.
+ CA078 RA017 -1. RA048 1.
+ CA078 RA089 -11.56 RA090 10.75
+ CA078 RA091 -5.5 RA092 -25.
+ CA079 RA017 -1. RA051 1.
+ CA079 RA093 -11.56 RA094 10.75
+ CA079 RA095 -14. RA096 -16.
+ CA080 R0000 .0075 RA018 -1.
+ CA080 RA024 .081 RA026 .508
+ CA080 RA027 .401 RA034 .01
+ CA080 RA036 -.0029 RA057 1.
+ CA081 RA018 -1. RA048 1.
+ CA081 RA089 3.44 RA090 -4.25
+ CA081 RA091 .5 RA092 15.
+ CA082 RA018 -1. RA051 1.
+ CA082 RA093 3.44 RA094 -4.25
+ CA082 RA095 -8. RA096 24.
+ CA083 R0000 .0075 RA019 -1.
+ CA083 RA024 .068 RA026 .427
+ CA083 RA028 .495 RA034 .01
+ CA083 RA036 -.0029 RA057 .949
+ CA084 RA019 -1. RA051 1.
+ CA084 RA093 5.64 RA094 -6.45
+ CA084 RA095 8.5 RA096 4.
+ CA085 R0000 .0075 RA020 -1.
+ CA085 RA024 .113 RA026 .545
+ CA085 RA029 .332 RA034 .01
+ CA085 RA036 -.0032 RA057 1.074
+ 1CA085 R0000 .0075 1RA020 -1.
+ 1CA085 RA024 .109 RA026 .51
+ 1CA085 1RA029 .371 RA034 .01
+ 1CA085 RA036 -.0032 RA057 1.008
+ CA086 RA020 -1. RA048 1.
+ CA086 RA089 -.56 RA090 -.25
+ CA086 RA091 .5 RA092 22.
+ 1CA086 1RA020 -1. RA048 1.
+ 1CA086 RA089 1.34 RA090 -2.15
+ 1CA086 RA091 3.5 RA092 8.
+ CA087 RA020 -1. RA051 1.
+ CA087 RA093 -.56 RA094 -.25
+ CA087 RA095 -8. RA096 31.
+ 1CA087 1RA020 -1. RA051 1.
+ 1CA087 RA093 1.34 RA094 -2.15
+ 1CA087 RA095 -5. RA096 17.
+ CA091 R0000 .0748 RA022 -1.
+ CA091 RA039 1. RA061 29.91
+ CA091 RA062 -.494 RA063 -102.3101
+ CA091 RA064 83.580099 RA065 10.074
+ CA092 R0000 .0453 RA022 -1.
+ CA092 RA040 1. RA066 7.87
+ CA092 RA067 -.67 RA068 -102.3101
+ CA092 RA069 83.580099 RA070 10.074
+ CA093 R0000 .0709 RA023 -1.
+ CA093 RA039 1. RA061 45.54
+ CA093 RA062 -.468 RA063 -74.649899
+ CA093 RA064 41.8 RA065 -1.642
+ CA094 R0000 .0429 RA023 -1.
+ CA094 RA040 1. RA066 24.63
+ CA094 RA067 -.635 RA068 -74.649899
+ CA094 RA069 41.8 RA070 -1.642
+ 1CA095 R0000 -.0017 RA024 -1.
+ 1CA095 RA026 1. RA032 -.034
+ 1CA095 RA034 .015 RA035 .019
+ CA096 RA024 -1. RA043 1.
+ CA096 RA075 6.13 RA076 -7.58
+ CA096 RA077 16.5 RA078 -3.52
+ CA096 RA079 17.
+ CA097 RA024 -1. RA046 1.
+ CA097 RA082 1.43 RA083 -5.26
+ CA097 RA084 -3.52 RA085 6.5
+ CA097 RA086 13. RA087 -14.
+ CA097 RA088 1.
+ CA098 RA024 -1. RA048 1.
+ CA098 RA089 -12.56 RA090 11.75
+ CA098 RA091 -3.5 RA092 -35.
+ CA099 RA024 -1. RA051 1.
+ CA099 RA093 -12.56 RA094 11.75
+ CA099 RA095 -12. RA096 -26.
+ CA100 R0000 .0534 RA026 -1.
+ CA100 RA031 .255 RA032 .058
+ CA100 RA033 .24 RA034 .082
+ CA100 1RA034 .065 2RA034 .076
+ CA100 RA035 .154 RA058 1.17
+ CA100 1RA058 1.
+ CA101 R0000 .0521 RA026 -1.
+ CA101 RA031 .182 RA032 .059
+ CA101 RA033 .24 RA034 .253
+ CA101 1RA034 .07 2RA034 .076
+ CA101 RA035 .065 RA058 .92
+ CA102 R0000 .0067 RA031 .37
+ CA102 1RA034 -1. RA035 .48
+ CA102 RA058 2.5
+ 1CA102 RA034 1. 1RA034 -1.
+ CA103 R0000 .0155 RA031 .55
+ CA103 RA032 .11 2RA034 -1.
+ CA103 RA035 .17 RA058 2.83
+ 1CA103 RA034 1. 2RA034 -1.
+ CA104 R0000 .036 RA019 -1.
+ CA104 RA024 .077 RA026 .193
+ CA104 RA028 .328 RA034 .008
+ CA104 RA035 .001 RA036 -.006
+ CA104 RA051 .276 RA054 .117
+ CA104 RA093 2.88 RA094 -3.1
+ CA104 RA095 6.35 RA096 1.1
+ CA106 RA027 -1. RA048 1.
+ CA106 RA089 14.23 RA090 -15.04
+ CA106 RA091 8.7 RA092 -34.
+ 1CA106 RA026 -.154 RA027 -.846
+ 1CA106 RA036 .0002 RA048 1.
+ 1CA106 RA057 -.078 RA089 12.39
+ 1CA106 RA090 -13.2 RA091 7.
+ 1CA106 RA092 -21.
+ CA107 RA027 -1. RA051 1.
+ CA107 RA093 14.23 RA094 -15.04
+ CA107 RA095 .2 RA096 -25.
+ 1CA107 RA026 -.154 RA027 -.846
+ 1CA107 RA036 .0002 RA051 1.
+ 1CA107 RA057 -.078 RA093 12.39
+ 1CA107 RA094 -13.2 RA095 -1.5
+ 1CA107 RA096 -12.
+ CA108 RA028 -1. RA051 1.
+ CA108 RA093 14.47 RA094 -15.28
+ CA108 RA095 19.5 RA096 -31.
+ 1CA108 RA026 -.13 RA028 -.87
+ 1CA108 RA036 .0002 RA051 1.
+ 1CA108 RA057 -.132 RA093 12.73
+ 1CA108 RA094 -13.54 RA095 17.2
+ 1CA108 RA096 -17.
+ CA109 RA029 -1. RA048 1.
+ CA109 RA089 9.13 RA090 -9.94
+ CA109 RA091 6.8 RA092 -38.
+ 1CA109 RA026 -.186 RA029 -.814
+ 1CA109 RA036 .0004 RA048 1.
+ 1CA109 RA057 -.05 RA089 7.8
+ 1CA109 RA090 -8.61 RA091 5.2
+ 1CA109 RA092 -28.
+ 2CA109 1RA029 -1. RA048 1.
+ 2CA109 RA089 9.04 RA090 -9.85
+ 2CA109 RA091 10.5 RA092 -40.
+ 3CA109 RA026 -.176 1RA029 -.824
+ 3CA109 RA036 .0004 RA048 1.
+ 3CA109 RA057 -.09 RA089 7.94
+ 3CA109 RA090 -8.75 RA091 9.3
+ 3CA109 RA092 -30.
+ CA110 RA029 -1. RA051 1.
+ CA110 RA093 9.13 RA094 -9.94
+ CA110 RA095 -1.7 RA096 -29.
+ 1CA110 RA026 -.186 RA029 -.814
+ 1CA110 RA036 .0004 RA051 1.
+ 1CA110 RA057 -.05 RA093 7.8
+ 1CA110 RA094 -8.61 RA095 -3.3
+ 1CA110 RA096 -19.
+ 2CA110 1RA029 -1. RA051 1.
+ 2CA110 RA093 9.04 RA094 -9.85
+ 2CA110 RA095 2. RA096 -31.
+ 3CA110 RA026 -.176 1RA029 -.824
+ 3CA110 RA036 .0004 RA051 1.
+ 3CA110 RA057 -.09 RA093 7.94
+ 3CA110 RA094 -8.75 RA095 .8
+ 3CA110 RA096 -21.
+ CA113 R0000 .0674 RA031 -1.
+ CA113 RA039 1. RA061 -.28
+ CA113 RA062 -.445 RA063 -34.03
+ CA113 RA064 18. RA065 4.112
+ CA114 R0000 .0407 RA031 -1.
+ CA114 RA040 1. RA066 -20.14
+ CA114 RA067 -.604 RA068 -34.032
+ CA114 RA069 18. RA070 4.112
+ CA115 R0000 .0576 RA032 -1.
+ CA115 RA039 1. RA061 -.24
+ CA115 RA062 -.38 RA063 90.899899
+ CA115 RA064 -32.8 RA065 -9.938
+ 1CA115 R0000 .0601 RA032 -1.
+ 1CA115 RA033 .25 RA039 .75
+ 1CA115 RA061 -.19 RA062 -.298
+ 1CA115 RA063 42.7 RA064 -24.5
+ 1CA115 RA065 -8.16
+ CA116 R0000 .0348 RA032 -1.
+ CA116 RA040 1. RA066 -17.21
+ CA116 RA067 -.516 RA068 90.899899
+ CA116 RA069 -32.8 RA070 -9.938
+ 1CA116 R0000 .0363 RA032 -1.
+ 1CA116 RA033 .25 RA040 .75
+ 1CA116 RA066 -13.48 RA067 -.404
+ 1CA116 RA068 42.7 RA069 -24.5
+ 1CA116 RA070 -8.16
+ CA117 R0000 .0218 RA033 -1.
+ CA117 RA036 -.0409 RA044 .97
+ CA117 RA059 1.97 1RA075 6.93
+ CA117 1RA076 -8.3 1RA078 -2.96
+ CA117 1RA079 3.88 1RA081 100.
+ CA118 RA033 -1. RA043 1.
+ CA118 RA075 9.26 RA076 -10.71
+ CA118 RA077 14.5 RA078 -3.05
+ CA118 RA079 4. RA081 100.
+ CA120 RA033 -1. RA046 1.
+ CA120 RA082 4.57 RA083 -8.4
+ CA120 RA084 -3.05 RA085 4.5
+ CA120 RA087 -13.7 RA088 22.
+ CA121 RA033 -1. RA048 1.
+ CA121 RA089 -18.06 RA090 17.25
+ CA121 RA091 -5.5 RA092 -48.
+ CA122 RA033 -1. RA051 1.
+ CA122 RA093 -18.06 RA094 17.25
+ CA122 RA095 -14. RA096 -39.
+ CA123 RA046 1. RA048 -1.
+ CA123 RA082 9.81 RA083 -13.64
+ CA123 RA085 10. RA086 -2.
+ CA123 RA087 71. RA088 16.
+ CA124 RA035 -1. RA037 1.
+ CA125 RA035 -1. RA036 1.175
+ CA126 RA036 1. RA052 -1.
+ CA127 RA043 1. RA044 -1.
+ CA127 RA077 -3.7
+ CA128 R0000 4.1767 RA044 -1.
+ CA128 RA045 1. 1RA081 -15.
+ CA129 RA044 -1. RA046 1.
+ CA129 RA082 -4.69 RA083 2.31
+ CA129 RA085 -13.5 RA086 -4.
+ CA129 RA087 -14. RA088 -14.
+ CA130 RA046 -1. RA047 1.
+ CA130 RA082 -1.3 RA086 -6.
+ CA130 RA087 13. RA088 11.
+ 1CA130 RA045 -.75 RA047 -.25
+ 1CA130 1RA047 1.
+ CA131 RA013 -.06 RA016 -.13
+ CA131 RA018 -.81 1RA053 1.
+ CA133 RA051 -1. RA052 1.
+ CA133 RA093 -2.94 RA094 1.75
+ CA133 RA095 -6. RA096 -11.
+ 2CA133 RA051 -1. 1RA052 1.
+ 2CA133 RA093 -2.26 RA094 2.01
+ 2CA133 RA095 -6. RA096 -11.
+ 1CA134 RA013 -.25 RA018 -.75
+ 1CA134 RA049 1.
+ 2CA134 RA006 -.74 RA013 -.26
+ 2CA134 RA049 1.
+ CA135 RA008 -1. RA010 1.
+ CA136 RA008 -1. RA013 1.
+ CA137 RA011 1. RA012 -1.
+ CA138 RA026 -1. RA051 1.
+ CA138 RA093 -3.13 RA094 2.32
+ CA138 RA095 -6. RA096 67.
+ CA139 R0000 10. RA018 -1.
+ CA139 RA024 .115 RA026 .194
+ CA139 RA027 .401 RA034 .04
+ CA139 RA035 .001 RA036 -.022
+ CA139 RA051 .129 RA054 .12
+ CA139 RA093 .378 RA094 -.482
+ CA139 RA095 -.194 RA096 12.
+ CA140 R0000 .0431 RA020 -1.
+ CA140 RA024 .069 RA026 .273
+ CA140 RA034 .013 RA035 .001
+ CA140 RA036 -.01 RA051 .4
+ CA140 RA054 .244 RA093 3.38
+ CA140 RA094 -3.7 RA095 2.8
+ CA140 RA096 1.6
+ CA142 RA027 -1. RA038 .98
+ CA143 RA007 -1. RA038 .98
+ CA144 R0000 .0075 RA006 -1.
+ CA144 RA007 .488 RA024 .075
+ CA144 RA026 .427 RA034 .01
+ CA144 RA036 -.0029 RA057 .944
+ CA145 RA006 -1. RA048 1.
+ CA145 RA089 5.14 RA090 -5.95
+ CA145 RA091 .9 RA092 3.
+ CA146 RA006 -1. RA051 1.
+ CA146 RA093 5.14 RA094 -5.95
+ CA146 RA095 -7.6 RA096 12.
+ CA147 RA007 -1. RA048 1.
+ CA147 RA089 15.26 RA090 -16.07
+ CA147 RA091 8.9 RA092 -27.
+ 1CA147 RA007 -.897 RA026 -.103
+ 1CA147 RA036 .0002 RA048 1.
+ 1CA147 RA057 -.165 RA089 13.86
+ 1CA147 RA090 -14.67 RA091 7.7
+ 1CA147 RA092 -4.
+ CA148 RA007 -1. RA051 1.
+ CA148 RA093 15.26 RA094 -16.07
+ CA148 RA095 .4 RA096 -18.
+ 1CA148 RA007 -.897 RA026 -.103
+ 1CA148 RA036 .0002 RA051 1.
+ 1CA148 RA057 -.165 RA093 13.86
+ 1CA148 RA094 -14.67 RA095 -.8
+ 1CA148 RA096 5.
+ CA154 R0000 .01 2RA005 1.008
+ CA154 RA009 .241 RA011 .056
+ CA154 RA012 .028 RA013 .065
+ CA154 RA015 .077 RA017 .051
+ CA154 RA019 .464 RA035 .018
+ CA154 RA036 -.0316 RA055 1.17
+ CA154 1RA055 1.17
+ CA155 RA034 -1. RA048 1.
+ CA155 RA089 -11.76 RA090 10.95
+ CA155 RA091 -4.5 RA092 -5.
+ CA156 RA034 -1. RA051 1.
+ CA156 RA093 -11.76 RA094 10.95
+ CA156 RA095 -13. RA096 4.
+ CA157 RA034 -1. RA036 1.
+ CA158 RA039 -1. RA064 -2.684
+ CA158 RA065 -1.61 RA097 1.
+ CA166 RA040 -1. RA066 5.4
+ CA166 RA069 -1.379 RA070 -1.655
+ CA166 1RA099 1.
+ CA168 RA028 -1. RA038 .98
+ CB001 RB001 1.01 1RB005 .004
+ CB001 RB006 .01 RB007 .028
+ CB001 RB008 .135 RB010 .085
+ CB001 RB012 .11 RB013 .09
+ CB001 RB022 .23 RB031 -.038
+ CB001 1RB031 .003 RB051 .3
+ CB001 RB057 1. RB091 .405
+ CB001 RB092 -1.056 1RB092 -1.8
+ CB001 RB093 -.174 1RB093 -4.95
+ CB001 RB101 .969
+ 2CB001 RB001 1.01 1RB005 .004
+ 2CB001 RB006 .01 RB007 .028
+ 2CB001 RB008 .135 RB010 .085
+ 2CB001 RB012 .11 RB013 .09
+ 2CB001 RB022 .23 RB031 -.038
+ 2CB001 1RB031 .003 1RB053 .3
+ 2CB001 RB057 1. RB101 .969
+ 2CB001 RB102 .633 RB103 -1.16
+ 2CB001 RB104 -4.8 RB105 -.174
+ 2CB001 RB106 -.45
+ CB002 RB004 1.01 RB006 .003
+ CB002 2RB007 .075 2RB008 .076
+ CB002 RB010 .095 RB012 .14
+ CB002 RB015 .13 RB022 .169
+ CB002 RB025 .311 RB031 -.021
+ CB002 1RB031 .001 RB058 1.
+ CB002 1RB058 1. RB099 .075
+ CB002 RB101 1.012 UKLDF -.075
+ 1CB002 RB001 1.01 1RB005 .004
+ 1CB002 RB006 .01 RB007 .018
+ 1CB002 RB008 .145 RB009 .044
+ 1CB002 RB011 .151 RB013 .09
+ 1CB002 RB016 .035 RB018 .5
+ 1CB002 RB031 -.026 1RB031 .003
+ 1CB002 RB058 1. 1RB058 1.
+ 1CB002 RB101 .969
+ CB003 RB004 1.01 RB006 .003
+ CB003 1RB007 .011 3RB008 .14
+ CB003 RB010 .095 RB012 .14
+ CB003 RB015 .13 RB022 .166
+ CB003 RB025 .311 RB031 -.054
+ CB003 1RB031 .001 RB057 1.
+ CB003 RB101 1.012
+ 1CB003 RB004 1.01 RB006 .003
+ 1CB003 1RB007 .011 3RB008 .14
+ 1CB003 RB010 .095 RB012 .14
+ 1CB003 RB015 .13 RB022 .169
+ 1CB003 RB025 .311 RB031 -.021
+ 1CB003 1RB031 .001 RB058 1.
+ 1CB003 1RB058 1. RB100 -.56
+ 1CB003 RB101 1.012
+ 2CB003 RB003 1.01 1RB005 .002
+ 2CB003 RB006 .012 RB007 .056
+ 2CB003 RB008 .089 RB010 .076
+ 2CB003 RB012 .09 1RB013 .1
+ 2CB003 RB016 .032 1RB020 .541
+ 2CB003 RB031 -.023 1RB031 .002
+ 2CB003 RB058 1. 1RB058 1.
+ 2CB003 RB101 1.021
+ 1CB004 1RB001 1.01 RB006 .008
+ 1CB004 2RB007 .1 2RB008 .09
+ 1CB004 RB009 .047 RB011 .161
+ 1CB004 1RB013 .09 1RB016 .04
+ 1CB004 1RB018 .463 RB031 -.025
+ 1CB004 1RB031 .001 RB058 1.
+ 1CB004 RB099 .1 RB101 .969
+ 1CB004 UKLDF -.1
+ 2CB004 1RB001 1.01 RB006 .008
+ 2CB004 1RB007 .047 1RB008 .143
+ 2CB004 RB009 .047 RB011 .161
+ 2CB004 1RB013 .09 1RB016 .04
+ 2CB004 1RB018 .463 RB031 -.0251
+ 2CB004 1RB031 .001 RB058 1.
+ 2CB004 RB101 .969
+ 1CB005 RB002 1.01 1RB005 .004
+ 1CB005 RB006 .011 1RB007 .04
+ 1CB005 1RB008 .102 RB009 .035
+ 1CB005 RB011 .121 1RB013 .083
+ 1CB005 1RB016 .04 RB019 .56
+ 1CB005 RB031 -.023 1RB031 .004
+ 1CB005 RB058 1. RB101 1.
+ 2CB005 RB002 1.01 1RB005 .004
+ 2CB005 RB006 .011 2RB007 .077
+ 2CB005 2RB008 .065 RB009 .035
+ 2CB005 RB011 .121 1RB013 .083
+ 2CB005 1RB016 .04 RB019 .56
+ 2CB005 RB031 -.023 1RB031 .004
+ 2CB005 RB058 1. RB099 .077
+ 2CB005 RB101 1. UKLDF -.077
+ CB006 RB005 1.01 1RB005 .001
+ CB006 RB006 .004 1RB007 .024
+ CB006 RB008 .073 RB010 .059
+ CB006 RB012 .083 RB014 .096
+ CB006 RB020 .509 RB022 .146
+ CB006 RB031 -.038 1RB031 .001
+ CB006 RB057 1. RB101 1.05
+ 1CB006 RB005 1.01 1RB005 .001
+ 1CB006 RB006 .004 1RB007 .024
+ 1CB006 RB008 .073 RB010 .059
+ 1CB006 RB012 .083 RB014 .096
+ 1CB006 RB020 .659 RB031 -.021
+ 1CB006 1RB031 .001 RB058 1.
+ 1CB006 1RB058 1. RB101 1.05
+ 2CB006 1RB005 -1. 2RB005 1.
+ 3CB006 RB005 1.01 1RB005 .001
+ 3CB006 RB006 .004 2RB007 .071
+ 3CB006 2RB008 .026 RB010 .059
+ 3CB006 RB012 .083 RB014 .096
+ 3CB006 RB020 .659 RB031 -.021
+ 3CB006 1RB031 .001 RB058 1.
+ 3CB006 1RB058 1. RB099 .071
+ 3CB006 RB101 1.05 UKLDF -.071
+ CB007 1RB004 1.01 RB006 .005
+ CB007 1RB007 .025 3RB008 .058
+ CB007 RB010 .06 RB012 .07
+ CB007 1RB015 .311 1RB025 .47
+ CB007 RB031 -.026 1RB031 .001
+ CB007 RB058 1. 1RB058 1.
+ CB007 RB101 1.012
+ 1CB007 1RB004 1.01 RB006 .005
+ 1CB007 2RB007 .06 2RB008 .023
+ 1CB007 RB010 .06 RB012 .07
+ 1CB007 1RB015 .311 1RB025 .47
+ 1CB007 RB031 -.026 1RB031 .001
+ 1CB007 RB058 1. 1RB058 1.
+ 1CB007 RB099 .06 RB101 1.012
+ 1CB007 UKLDF -.06
+ 2CB007 R0000 100. 1RB005 1.
+ 2CB008 R0000 7.5 2RB005 1.
+ 2CB009 RB006 -1. 1RB031 1.
+ 2CB010 1RB006 -1. 1RB031 1.
+ CB011 RB009 -.227 RB010 .461
+ CB011 RB011 -.773 RB012 .539
+ 2CB012 R0000 7. 1RB006 1.
+ 1CB013 1RB007 -1. 2RB007 1.
+ 1CB013 RB099 1. UKLDF -1.
+ 2CB013 RB031 1.16 1RB031 -1.
+ 3CB013 R0000 .221 RB007 -1.
+ 3CB013 RB031 -.067 RB034 .96
+ 3CB013 RB063 1.143 RB064 30.51
+ 3CB013 RB065 -70.73 RB066 45.47
+ 3CB013 RB067 -.404
+ 1CB014 RB007 1. 1RB007 -1.
+ 2CB014 RB009 -.046 RB010 -.622
+ 2CB014 RB011 -.288 RB013 -.08
+ 2CB014 2RB040 1.
+ 3CB014 R0000 .097 RB007 -1.
+ 3CB014 RB031 -.067 RB036 .96
+ 3CB014 RB063 1.143 RB068 17.03
+ 3CB014 RB069 -70.73 RB070 45.47
+ 3CB014 RB071 -.647
+ CB015 RB007 -1. RB038 1.
+ CB015 UKLDF -1.
+ 1CB015 RB007 -.5 2RB008 -.5
+ 1CB015 RB038 1. UKLDF -1.
+ 2CB015 RB009 -.046 RB010 -.622
+ 2CB015 RB011 -.288 1RB013 -.08
+ 2CB015 2RB040 1.
+ 1CB016 RB007 -1. RB031 -.067
+ 1CB016 RB039 .96 RB063 1.143
+ 1CB016 RB072 16.7 RB073 -10.46
+ 1CB016 RB074 -33.6
+ 2CB016 2RB005 -1. 1RB031 1.
+ CB017 RB007 -1. RB031 1.11
+ 2CB017 2RB005 -.1 RB006 -.9
+ 2CB017 1RB006 1.
+ CB018 R0000 .087 3RB008 -1.
+ CB018 RB036 .99 RB068 14.05
+ CB018 RB069 23.7 RB070 -31.1
+ CB018 RB071 -.588
+ 1CB018 RB007 -.4 3RB008 -.6
+ 1CB018 RB038 1. UKLDF -1.
+ CB019 RB007 -.4 RB008 -.6
+ CB019 RB038 1. UKLDF -1.
+ 1CB019 RB007 -.4 1RB008 -.6
+ 1CB019 RB038 1. UKLDF -1.
+ CB020 3RB008 -1. RB039 .99
+ CB020 RB072 -.396 RB073 .54
+ CB020 RB074 -34.65
+ 1CB020 RB008 -1. RB031 -.067
+ 1CB020 RB039 .98 RB063 1.667
+ 1CB020 RB072 2.06 RB073 .539
+ 1CB020 RB074 -34.3
+ 2CB020 1RB008 -1. RB031 -.067
+ 2CB020 RB039 .98 RB063 1.
+ 2CB020 RB072 3.92 RB073 .539
+ 2CB020 RB074 -34.3
+ CB021 R0000 .088 RB008 -1.
+ CB021 RB031 -.067 RB036 .98
+ CB021 RB063 1.667 RB068 21.58
+ CB021 RB069 14.56 RB070 -30.46
+ CB021 RB071 -.593
+ 1CB021 R0000 .089 1RB008 -1.
+ 1CB021 RB031 -.067 RB036 .98
+ 1CB021 RB063 1. RB068 21.88
+ 1CB021 RB069 14.76 RB070 -30.87
+ 1CB021 RB071 -.601
+ 2CB021 RB030 -1. 2RB030 1.
+ 2CB022 1RB030 -1. 2RB030 1.
+ CB029 RB008 -1. RB031 1.11
+ 1CB029 1RB008 -1. RB031 1.11
+ 2CB029 2RB008 -1. RB031 1.1
+ 2CB030 R0000 .056 2RB005 .036
+ 2CB030 RB006 .052 RB007 .029
+ 2CB030 RB008 -1. RB024 .765
+ 2CB030 RB031 .027 1RB031 .009
+ 2CB030 RB060 1.
+ 2CB031 R0000 .094 2RB005 .044
+ 2CB031 RB006 .075 RB007 .029
+ 2CB031 RB008 -1. 1RB024 .714
+ 2CB031 RB031 .027 1RB031 .024
+ 2CB031 RB060 1.
+ 1CB032 R0000 .058 2RB005 .017
+ 1CB032 RB006 .024 RB007 .029
+ 1CB032 3RB008 -1. RB024 .861
+ 1CB032 RB031 .027 1RB031 -.04
+ 1CB032 RB060 1.712
+ 2CB032 R0000 .06 2RB005 .046
+ 2CB032 RB006 .077 1RB007 .029
+ 2CB032 1RB008 -1. RB024 .706
+ 2CB032 RB031 .027 1RB031 .033
+ 2CB032 RB060 1.022
+ 1CB033 R0000 .096 2RB005 .026
+ 1CB033 RB006 .044 RB007 .029
+ 1CB033 3RB008 -1. 1RB024 .81
+ 1CB033 RB031 .027 1RB031 -.023
+ 1CB033 RB060 1.712
+ 2CB033 R0000 .1 2RB005 .055
+ 2CB033 RB006 .101 1RB007 .029
+ 2CB033 1RB008 -1. 1RB024 .65
+ 2CB033 RB031 .027 1RB031 .051
+ 2CB033 RB060 1.022
+ CB034 RB009 -1. RB039 .97
+ CB034 RB072 -3.01 RB073 1.84
+ CB034 RB074 -33.95
+ 1CB034 R0000 .213 2RB005 .034
+ 1CB034 RB006 .0415 1RB007 .01
+ 1CB034 2RB008 -1. RB031 .037
+ 1CB034 1RB031 .004 RB034 .7925
+ 1CB034 RB060 .9915 RB064 3.7
+ 1CB034 RB065 7.773 RB066 -10.527
+ 1CB034 RB067 -.287
+ 2CB034 R0000 .22 2RB005 .028
+ 2CB034 RB006 .022 RB007 .01
+ 2CB034 RB008 -.766 RB009 -.234
+ 2CB034 RB031 .037 1RB031 -.012
+ 2CB034 RB034 .834 RB060 .983
+ 2CB034 RB064 3.86 RB065 9.648
+ 2CB034 RB066 -11.888 RB067 -.3
+ 1CB035 R0000 .0585 2RB005 .034
+ 1CB035 RB006 .0415 1RB007 .01
+ 1CB035 2RB008 -1. RB026 .355
+ 1CB035 RB027 .4375 RB031 .0255
+ 1CB035 1RB031 .004 RB060 .9915
+ 2CB035 R0000 .058 2RB005 .028
+ 2CB035 RB006 .022 RB007 .01
+ 2CB035 RB008 -.766 RB009 -.234
+ 2CB035 RB026 .374 RB027 .46
+ 2CB035 RB031 .025 1RB031 -.012
+ 2CB035 RB060 .983
+ 1CB036 R0000 .239 2RB005 .0435
+ 1CB036 RB006 .064 1RB007 .01
+ 1CB036 2RB008 -1. RB031 .037
+ 1CB036 1RB031 .0225 RB034 .737
+ 1CB036 RB060 .9915 RB064 -.2815
+ 1CB036 RB065 5.696 RB066 -8.554
+ 1CB036 RB067 -.263
+ 2CB036 R0000 .248 2RB005 .035
+ 2CB036 RB006 .04 RB007 .01
+ 2CB036 RB008 -.766 RB009 -.234
+ 2CB036 RB031 .037 1RB031 .001
+ 2CB036 RB034 .791 RB060 .983
+ 2CB036 RB064 -.3 RB065 7.007
+ 2CB036 RB066 -10.218 RB067 -.28
+ 1CB037 R0000 .098 2RB005 .0435
+ 1CB037 RB006 .064 1RB007 .01
+ 1CB037 2RB008 -1. RB026 .2375
+ 1CB037 RB027 .4995 RB031 .026
+ 1CB037 1RB031 .0225 RB060 .9915
+ 2CB037 R0000 .097 2RB005 .035
+ 2CB037 RB006 .04 RB007 .01
+ 2CB037 RB008 -.766 RB009 -.234
+ 2CB037 RB026 .255 RB027 .536
+ 2CB037 RB031 .025 1RB031 .001
+ 2CB037 RB060 .983
+ 2CB038 R0000 .207 2RB005 .04
+ 2CB038 RB006 .061 1RB007 .01
+ 2CB038 1RB008 -.676 RB009 -.324
+ 2CB038 RB031 .037 1RB031 .02
+ 2CB038 RB034 .751 RB060 1.
+ 2CB038 RB064 3.54 RB065 5.898
+ 2CB038 RB066 -9.167 RB067 -.275
+ CB039 RB010 -1. RB039 .97
+ CB039 RB072 -5.43 RB073 1.73
+ CB039 RB074 -33.95
+ 1CB039 RB010 -1. RB047 1.
+ 1CB039 RB081 3. RB082 -24.5
+ 1CB039 RB083 -9.22 RB084 .3
+ 1CB039 RB085 23.573 RB086 11.42
+ 2CB039 R0000 .059 2RB005 .04
+ 2CB039 RB006 .061 1RB007 .01
+ 2CB039 1RB008 -.676 RB009 -.324
+ 2CB039 RB026 .336 RB027 .415
+ 2CB039 RB031 .026 1RB031 .02
+ 2CB039 RB060 1.
+ CB040 RB010 -1. RB012 .034
+ CB040 RB031 .025 RB040 .88
+ 1CB040 RB010 -1. RB045 1.
+ 1CB040 RB075 2.2 RB076 -9.
+ 1CB040 RB077 -9.22 RB078 .3
+ 1CB040 RB079 23.573 RB080 -10.
+ 2CB040 R0000 .231 2RB005 .052
+ 2CB040 RB006 .088 1RB007 .01
+ 2CB040 1RB008 -.676 RB009 -.324
+ 2CB040 RB031 .037 1RB031 .044
+ 2CB040 RB034 .683 RB060 1.
+ 2CB040 RB064 -.263 RB065 4.385
+ 2CB040 RB066 -6.89 RB067 -.246
+ CB041 RB008 .049 RB009 -.194
+ CB041 RB010 -.15 RB011 -.704
+ CB041 RB042 .965
+ 2CB041 R0000 .099 2RB005 .052
+ 2CB041 RB006 .088 1RB007 .01
+ 2CB041 1RB008 -.676 RB009 -.324
+ 2CB041 RB026 .22 RB027 .463
+ 2CB041 RB031 .027 1RB031 .044
+ 2CB041 RB060 1.
+ CB043 RB009 -.227 RB011 -.773
+ CB043 RB012 .2 RB031 -.027
+ CB043 RB041 .772 RB062 1.
+ CB044 RB009 -.227 RB011 -.773
+ CB044 RB045 1. RB075 3.3
+ CB044 RB076 -9.1 RB077 -7.2
+ CB044 RB078 -1.2 RB079 6.36
+ CB044 RB080 -10.
+ CB045 RB009 -.227 RB011 -.773
+ CB045 RB047 1. RB081 4.1
+ CB045 RB082 -24.6 RB083 -7.2
+ CB045 RB084 -1.2 RB085 6.36
+ CB045 RB086 8.8
+ CB046 RB009 -.227 RB011 -.773
+ CB046 RB046 1. 1RB050 1.
+ CB046 RB087 -22.9 1RB087 21.4
+ CB046 RB088 -29.7 RB089 5.097
+ CB046 RB090 -25. 1RB090 -31.
+ CB047 RB009 -.227 RB011 -.773
+ CB047 RB051 1. RB091 -30.43
+ CB047 RB092 29.26 1RB092 -67.
+ CB047 RB093 5.097 1RB093 -37.7
+ 1CB047 RB009 -.227 RB011 -.773
+ 1CB047 1RB053 1. RB102 -29.67
+ 1CB047 RB103 27.92 RB104 -77.
+ 1CB047 RB105 5.097 RB106 -22.7
+ CB048 RB009 -.227 RB011 -.773
+ CB048 RB053 1. RB094 -31.3
+ CB048 RB095 30.59 RB096 -17.7
+ CB048 RB097 -83.
+ CB049 RB011 -1. RB039 .97
+ CB049 RB072 -8.54 RB073 1.55
+ CB049 RB074 63.05
+ CB051 RB011 -1. RB012 .2
+ CB051 RB031 -.027 RB041 .772
+ CB051 RB062 1.
+ CB052 RB011 -1. RB045 1.
+ CB052 RB075 2.5 RB076 -9.1
+ CB052 RB077 -6.9 RB078 -1.2
+ CB052 RB079 2.069 RB080 -10.
+ CB053 RB011 -1. RB047 1.
+ CB053 RB081 3.3 RB082 -24.5
+ CB053 RB083 -6.9 RB084 -1.2
+ CB053 RB085 2.069 RB086 8.8
+ CB054 RB011 -1. RB046 1.
+ CB054 1RB050 1. RB087 -22.69
+ CB054 1RB087 21.19 RB088 -29.4
+ CB054 RB089 2.069 RB090 -25.
+ CB054 1RB090 -31.
+ CB055 RB011 -1. RB051 1.
+ CB055 RB091 -30.22 RB092 29.05
+ CB055 1RB092 -67. RB093 2.069
+ CB055 1RB093 -37.4
+ 1CB055 RB011 -1. 1RB053 1.
+ 1CB055 RB102 -29.46 RB103 27.71
+ 1CB055 RB104 -77. RB105 2.069
+ 1CB055 RB106 -22.4
+ CB056 RB011 -1. RB053 1.
+ CB056 RB094 -29.9 RB095 29.19
+ CB056 RB096 -17.4 RB097 -83.
+ 1CB057 RB012 -.865 RB031 -.027
+ 1CB057 RB041 .386 1RB043 .386
+ 1CB057 RB062 2.
+ 2CB057 RB010 -1. RB012 .216
+ 2CB057 RB031 -.012 RB040 .364
+ 2CB057 1RB040 .364 RB062 1.82
+ CB058 RB012 -1. RB045 1.
+ CB058 RB075 1. RB076 -9.
+ CB058 RB077 -6.1 RB078 -1.2
+ CB058 RB079 1.52 RB080 -10.
+ CB059 RB012 -1. RB047 1.
+ CB059 RB081 1.8 RB082 -24.1
+ CB059 RB083 -6.1 RB084 -1.2
+ CB059 RB085 1.52 RB086 7.42
+ CB060 RB012 -1. RB046 1.
+ CB060 1RB050 1. RB087 -22.69
+ CB060 1RB087 21.19 RB088 -28.6
+ CB060 RB089 1.52 RB090 -25.
+ CB060 1RB090 -31.
+ CB061 RB012 -1. RB051 1.
+ CB061 RB091 -30.22 RB092 29.05
+ CB061 1RB092 -67. RB093 1.52
+ CB061 1RB093 -36.6
+ 1CB061 RB012 -1. 1RB053 1.
+ 1CB061 RB102 -29.46 RB103 27.71
+ 1CB061 RB104 -77. RB105 1.52
+ 1CB061 RB106 -21.6
+ CB062 RB012 -1. RB053 1.
+ CB062 RB094 -27.9 RB095 27.19
+ CB062 RB096 -16.6 RB097 -83.
+ CB063 RB013 -1. RB045 1.
+ CB063 RB075 -3.4 RB076 12.9
+ CB063 RB077 -1.5 RB078 -.25
+ CB063 RB079 -4.15 RB080 -10.
+ 1CB063 1RB013 -1. RB045 1.
+ 1CB063 RB075 -2.7 RB076 7.6
+ 1CB063 RB077 2.4 RB078 -.25
+ 1CB063 RB079 -4.07 RB080 -10.
+ CB064 RB013 -1. RB047 1.
+ CB064 RB081 -2.6 RB082 -1.7
+ CB064 RB083 -1.5 RB084 -.25
+ CB064 RB085 -4.15 RB086 2.16
+ 1CB064 1RB013 -1. RB047 1.
+ 1CB064 RB081 -1.9 RB082 -7.1
+ 1CB064 RB083 2.4 RB084 -.25
+ 1CB064 RB085 -4.07 RB086 2.16
+ CB065 RB013 -1. RB046 1.
+ CB065 1RB050 1. RB087 -14.9
+ CB065 1RB087 13.4 RB088 -26.
+ CB065 RB089 -4.41 RB090 -25.
+ CB065 1RB090 -22.
+ 1CB065 1RB013 -1. RB046 1.
+ 1CB065 1RB050 1. RB087 -14.9
+ 1CB065 1RB087 13.4 RB088 -23.3
+ 1CB065 RB089 -4.41 RB090 -25.
+ 1CB065 1RB090 -22.
+ CB066 RB014 -1. RB045 1.
+ CB066 RB075 -6.1 RB076 19.
+ CB066 RB077 -1. RB078 .2
+ CB066 RB079 -3.959 RB080 -10.
+ CB067 RB014 -1. RB047 1.
+ CB067 RB081 -5.3 RB082 4.6
+ CB067 RB083 -1. RB084 .2
+ CB067 RB085 -3.959 RB086 -2.33
+ CB068 RB014 -1. RB046 1.
+ CB068 1RB050 1. RB087 -12.03
+ CB068 1RB087 10.53 RB088 -23.
+ CB068 RB089 -3.959 RB090 -25.
+ CB068 1RB090 -17.
+ CB069 RB015 -1. RB045 1.
+ CB069 RB075 -5.3 RB076 14.4
+ CB069 RB077 -8.3 RB078 .3
+ CB069 RB079 -3.43 RB080 -10.
+ 1CB069 RB012 -.174 RB013 -.16
+ 1CB069 RB014 -.186 RB015 -.4
+ 1CB069 RB016 -.08 RB031 -.025
+ 1CB069 1RB045 1.
+ 3CB069 RB012 -.25 1RB013 -.15
+ 3CB069 RB014 -.15 RB015 -.4
+ 3CB069 1RB016 -.05 RB031 -.025
+ 3CB069 1RB045 1.
+ CB070 RB015 -1. RB047 1.
+ CB070 RB081 -4.5 RB083 -8.3
+ CB070 RB084 .3 RB085 -3.43
+ CB070 RB086 -2.05
+ 1CB070 1RB015 -1. RB045 1.
+ 1CB070 RB075 -8.9 RB076 -.6
+ 1CB070 RB077 -7.8 RB078 1.6
+ 1CB070 RB079 -3.43 RB080 -10.
+ 2CB070 1RB015 -1. RB047 1.
+ 2CB070 RB081 -8.1 RB082 -14.6
+ 2CB070 RB083 -7.8 RB084 1.6
+ 2CB070 RB085 -3.43 RB086 -1.76
+ CB071 RB015 -1. RB046 1.
+ CB071 1RB050 1. RB087 -12.24
+ CB071 1RB087 10.74 RB088 -29.9
+ CB071 RB089 -3.526 RB090 -25.
+ CB071 1RB090 -18.
+ 1CB071 2RB015 -1. RB045 1.
+ 1CB071 RB075 .1 RB076 19.4
+ 1CB071 RB077 -8.7 RB078 -1.8
+ 1CB071 RB079 -4.41 RB080 -5.
+ 2CB071 2RB015 -1. RB047 1.
+ 2CB071 RB081 .9 RB082 5.5
+ 2CB071 RB083 -8.7 RB084 -1.8
+ 2CB071 RB085 -4.41 RB086 .7
+ CB072 RB015 -1. RB051 1.
+ CB072 RB091 -19.77 RB092 18.6
+ CB072 1RB092 -54. RB093 -3.526
+ CB072 1RB093 -39.06
+ 1CB072 RB015 -1. 1RB053 1.
+ 1CB072 RB102 -19.01 RB103 17.26
+ 1CB072 RB104 -64. RB105 -3.526
+ 1CB072 RB106 -24.06
+ CB073 RB015 -1. RB053 1.
+ CB073 RB094 -20.57 RB095 19.86
+ CB073 RB096 -19.1 RB097 -70.
+ CB074 RB016 -1. RB047 1.
+ CB074 RB081 -5.3 RB082 120.2
+ CB074 RB083 4. RB084 -.3
+ CB074 RB085 -3.56 RB086 -2.05
+ 1CB074 1RB016 -1. RB047 1.
+ 1CB074 RB081 -6. RB082 119.5
+ 1CB074 RB083 9.8 RB084 -.45
+ 1CB074 RB085 -3.56 RB086 -2.6
+ CB075 RB016 -1. RB051 1.
+ CB075 RB091 -19.77 RB092 18.6
+ CB075 1RB092 -32. RB093 -3.856
+ CB075 1RB093 -29.
+ 1CB075 1RB016 -1. RB051 1.
+ 1CB075 RB091 -19.19 RB092 18.02
+ 1CB075 1RB092 -32. RB093 -3.856
+ 1CB075 1RB093 -24.
+ 2CB075 RB016 -1. 1RB053 1.
+ 2CB075 RB102 -19.01 RB103 17.26
+ 2CB075 RB104 -42. RB105 -3.856
+ 2CB075 RB106 -14.
+ 3CB075 1RB016 -1. 1RB053 1.
+ 3CB075 RB102 -18.43 RB103 16.68
+ 3CB075 RB104 -42. RB105 -3.856
+ 3CB075 RB106 -9.
+ CB076 R0000 .095 2RB005 .028
+ CB076 RB006 .08 RB016 -1.
+ CB076 RB028 .126 RB029 .155
+ CB076 RB030 .405 RB031 -.051
+ CB076 1RB031 .087 RB051 .058
+ CB076 RB061 1.467 RB091 -1.269
+ CB076 RB092 1.2 1RB092 3.2
+ CB076 RB093 -.164 1RB093 -1.288
+ 1CB076 R0000 .095 2RB005 .032
+ 1CB076 RB006 .068 1RB016 -1.
+ 1CB076 RB028 .126 RB029 .155
+ 1CB076 1RB030 .405 RB031 -.051
+ 1CB076 1RB031 .095 RB051 .058
+ 1CB076 RB061 1.467 RB091 -1.269
+ 1CB076 RB092 1.2 1RB092 3.2
+ 1CB076 RB093 -.164 1RB093 -1.288
+ CB077 RB025 -1. RB051 1.
+ CB077 RB091 -2.61 RB092 1.44
+ CB077 1RB092 82. RB093 -.643
+ CB077 1RB093 -35.8
+ 1CB077 RB025 -1. 1RB053 1.
+ 1CB077 RB102 -1.85 RB103 .1
+ 1CB077 RB104 72. RB105 -.643
+ 1CB077 RB106 -20.8
+ CB078 1RB025 -1. RB053 1.
+ CB078 RB095 -.71 RB096 -15.
+ CB078 RB097 -10.
+ 1CB078 1RB025 -1. RB051 1.
+ 1CB078 RB091 -.76 RB092 -.41
+ 1CB078 1RB092 6. RB093 -.643
+ 1CB078 1RB093 -35.
+ 2CB078 2RB025 -1. RB051 1.
+ 2CB078 RB091 -1.52 RB092 .35
+ 2CB078 1RB092 25.7 RB093 -.803
+ 2CB078 1RB093 -36.
+ 3CB078 2RB025 -1. RB053 1.
+ 3CB078 RB094 -.76 RB095 .05
+ 3CB078 RB096 -16. RB097 9.7
+ 4CB078 1RB025 -1. 1RB053 1.
+ 4CB078 RB103 -1.75 RB104 -4.
+ 4CB078 RB105 -.643 RB106 -20.
+ CB079 1RB020 -1. RB053 1.
+ CB079 RB094 1.34 RB095 -2.05
+ CB079 RB096 5.4 RB097 -15.
+ 1CB079 2RB025 -1. 1RB053 1.
+ 1CB079 RB102 -.76 RB103 -.99
+ 1CB079 RB104 15.7 RB105 -.803
+ 1CB079 RB106 -21.
+ CB080 1RB020 -1. RB051 1.
+ CB080 RB091 .58 RB092 -1.75
+ CB080 1RB092 1. RB093 -1.93
+ CB080 1RB093 -14.6
+ 1CB080 1RB020 -1. 1RB053 1.
+ 1CB080 RB102 1.34 RB103 -3.09
+ 1CB080 RB104 -9. RB105 -1.93
+ 1CB080 RB106 .4
+ CB081 RB018 -1. RB051 1.
+ CB081 RB091 -2.41 RB092 1.24
+ CB081 1RB092 1. RB093 -.803
+ CB081 1RB093 -18.
+ 1CB081 1RB018 -1. RB051 1.
+ 1CB081 RB091 -2.05 RB092 .88
+ 1CB081 1RB092 -7. RB093 -.803
+ 1CB081 1RB093 -4.
+ 2CB081 RB019 -1. RB051 1.
+ 2CB081 RB091 -.03 RB092 -1.14
+ 2CB081 1RB092 -11. RB093 -.803
+ 2CB081 1RB093 -.7
+ 3CB081 RB018 -1. 1RB053 1.
+ 3CB081 RB102 -1.41 RB103 -.34
+ 3CB081 RB104 -9. RB105 -.803
+ 3CB081 RB106 -3.
+ 4CB081 1RB018 -1. 1RB053 1.
+ 4CB081 RB102 -1.32 RB103 -.43
+ 4CB081 RB104 -14. RB105 -.803
+ 4CB081 RB106 11.
+ CB082 RB018 -1. RB053 1.
+ CB082 RB094 -1.65 RB095 .94
+ CB082 RB096 2. RB097 -15.
+ 1CB082 1RB018 -1. RB053 1.
+ 1CB082 RB094 -1.29 RB095 .58
+ 1CB082 RB096 16. RB097 -23.
+ 2CB082 RB019 -1. RB053 1.
+ 2CB082 RB094 .73 RB095 -1.44
+ 2CB082 RB096 19.3 RB097 -27.
+ 3CB082 RB019 -1. 1RB053 1.
+ 3CB082 RB102 .73 RB103 -2.48
+ 3CB082 RB104 -21. RB105 -.803
+ 3CB082 RB106 14.3
+ 1CB083 1RB018 -1. 1RB021 .059
+ 1CB083 1RB022 .358 1RB023 .42
+ 1CB083 1RB030 -.054 RB031 -.075
+ 1CB083 RB048 .135 RB051 .1
+ 1CB083 RB059 1.026 RB091 -.374
+ 1CB083 RB092 .162 1RB092 4.3
+ 1CB083 RB093 -.159 1RB093 .996
+ 2CB083 RB019 -1. 1RB021 .063
+ 2CB083 1RB022 .317 1RB023 .484
+ 2CB083 1RB030 -.063 RB031 -.074
+ 2CB083 RB048 .135 RB051 .082
+ 2CB083 RB059 1.025 RB091 -.317
+ 2CB083 RB092 .115 1RB092 3.5
+ 2CB083 RB093 -.156 1RB093 1.232
+ 1CB085 1RB018 -1. 1RB021 .057
+ 1CB085 1RB022 .308 1RB023 .396
+ 1CB085 1RB030 -.06 RB031 -.094
+ 1CB085 RB048 .189 RB051 .14
+ 1CB085 RB059 1.036 RB091 -.524
+ 1CB085 RB092 .361 1RB092 6.
+ 1CB085 RB093 -.223 1RB093 1.4
+ 2CB085 RB019 -1. 1RB021 .061
+ 2CB085 1RB022 .273 1RB023 .456
+ 2CB085 1RB030 -.07 RB031 -.094
+ 2CB085 RB048 .193 RB051 .117
+ 2CB085 RB059 1.036 RB091 -.453
+ 2CB085 RB092 .316 1RB092 5.
+ 2CB085 RB093 -.223 1RB093 1.76
+ CB086 RB016 -1. RB045 1.
+ CB086 RB075 -6.1 RB076 134.6001
+ CB086 RB077 4. RB078 -.3
+ CB086 RB079 -3.56 RB080 -10.
+ 1CB086 1RB016 -1. RB045 1.
+ 1CB086 RB075 -6.8 RB076 133.699999
+ 1CB086 RB077 9.8 RB078 -.45
+ 1CB086 RB079 -3.56 RB080 -10.
+ CB089 RB018 -1. RB046 1.
+ CB089 1RB050 1. RB087 5.4
+ CB089 1RB087 -6.9 RB088 -10.
+ CB089 RB089 -.803 RB090 75.
+ CB089 1RB090 37.
+ CB090 1RB018 -1. RB046 1.
+ CB090 1RB050 1. RB087 5.59
+ CB090 1RB087 -7.09 RB088 4.
+ CB090 RB089 -.803 RB090 75.
+ CB090 1RB090 29.
+ 1CB090 RB019 -1. RB046 1.
+ 1CB090 1RB050 1. RB087 7.64
+ 1CB090 1RB087 -9.04 RB088 7.3
+ 1CB090 RB089 -.803 RB090 75.
+ 1CB090 1RB090 25.
+ CB091 RB011 -.018 RB020 -1.
+ CB091 1RB021 .055 RB022 .359
+ CB091 RB031 -.046 2RB049 .222
+ CB091 RB051 .364 RB091 3.83
+ CB091 RB092 -4.26 1RB092 -12.7
+ CB091 RB093 -.234 1RB093 -4.11
+ CB092 RB020 -1. RB046 1.
+ CB092 1RB050 1. RB087 8.97
+ CB092 1RB087 -10.47 RB088 -8.5
+ CB092 RB089 -.803 RB090 -25.
+ CB092 1RB090 15.
+ CB093 RB020 -1. RB051 1.
+ CB093 RB091 1.3 RB092 -2.47
+ CB093 1RB092 -21. RB093 -.803
+ CB093 1RB093 -16.5
+ 1CB093 RB020 -1. 1RB053 1.
+ 1CB093 RB102 2.06 RB103 -3.81
+ 1CB093 RB104 -31. RB105 -.803
+ 1CB093 RB106 -1.5
+ CB094 RB020 -1. RB053 1.
+ CB094 RB094 2.06 RB095 -2.77
+ CB094 RB096 3.5 RB097 -37.
+ 2CB097 R0000 .095 2RB005 .021
+ 2CB097 RB006 .065 RB022 -1.
+ 2CB097 RB028 .139 RB029 .171
+ 2CB097 RB030 .278 RB031 -.036
+ 2CB097 1RB031 .06 RB051 .207
+ 2CB097 RB061 1. RB091 -2.637
+ 2CB097 RB092 2.395 1RB092 4.1
+ 2CB097 RB093 -.406 1RB093 -4.93
+ 2CB098 R0000 .095 2RB005 .021
+ 2CB098 RB006 .065 RB022 -1.
+ 2CB098 RB028 .139 RB029 .171
+ 2CB098 RB030 .278 RB031 .102
+ 2CB098 1RB031 .06 RB051 .069
+ 2CB098 RB061 1. RB091 -.574
+ 2CB098 RB092 .493 1RB092 3.9
+ 2CB098 1RB093 -1.53
+ 3CB098 1RB021 -1. 1RB053 1.
+ 3CB098 RB102 -17.62 RB103 15.87
+ 3CB098 RB104 -47. RB105 -3.404
+ 3CB098 RB106 -5.2
+ 2CB099 R0000 .095 2RB005 .031
+ 2CB099 RB006 .082 RB022 -1.
+ 2CB099 RB028 .15 RB029 .185
+ 2CB099 RB030 .231 RB031 -.036
+ 2CB099 1RB031 .082 RB051 .167
+ 2CB099 RB061 1.412 RB091 -2.194
+ 2CB099 RB092 1.994 1RB092 3.3
+ 2CB099 RB093 -.356 1RB093 -3.99
+ 1CB100 R0000 .095 2RB005 .024
+ 1CB100 RB006 .059 1RB021 -1.
+ 1CB100 RB028 .125 RB029 .155
+ 1CB100 1RB030 .398 RB031 -.051
+ 1CB100 1RB031 .085 RB051 .1
+ 1CB100 RB061 1. RB091 -2.188
+ 1CB100 RB092 2.07 1RB092 5.6
+ 1CB100 RB093 -.284 1RB093 -2.34
+ 2CB100 R0000 .095 2RB005 .031
+ 2CB100 RB006 .082 RB022 -1.
+ 2CB100 RB028 .15 RB029 .185
+ 2CB100 RB030 .231 RB031 .085
+ 2CB100 1RB031 .082 RB051 .046
+ 2CB100 RB061 1.412 RB091 -.382
+ 2CB100 RB092 .329 1RB092 2.6
+ 2CB100 1RB093 -1.02
+ 1CB101 R0000 .095 2RB005 .036
+ 1CB101 RB006 .075 1RB021 -1.
+ 1CB101 RB028 .136 RB029 .167
+ 1CB101 1RB030 .336 RB031 -.051
+ 1CB101 1RB031 .106 RB051 .077
+ 1CB101 RB061 1.1 RB091 -1.684
+ 1CB101 RB092 1.59 1RB092 4.3
+ 1CB101 RB093 -.218 1RB093 -1.8
+ 2CB101 R0000 .095 2RB005 .024
+ 2CB101 RB006 .055 1RB022 -1.
+ 2CB101 RB028 .139 RB029 .171
+ 2CB101 1RB030 .278 RB031 -.036
+ 2CB101 1RB031 .065 RB051 .207
+ 2CB101 RB061 1. RB091 -2.636
+ 2CB101 RB092 2.395 1RB092 4.1
+ 2CB101 RB093 -.406 1RB093 -3.79
+ CB102 RB022 -1. RB051 1.
+ CB102 RB091 -9.08 RB092 7.91
+ CB102 1RB092 43. RB093 -2.549
+ CB102 1RB093 -18.
+ 1CB102 1RB022 -1. RB051 1.
+ 1CB102 RB091 -8.42 RB092 7.25
+ 1CB102 1RB092 43. RB093 -2.549
+ 1CB102 1RB093 -12.
+ 2CB102 R0000 .095 2RB005 .024
+ 2CB102 RB006 .055 1RB022 -1.
+ 2CB102 RB028 .139 RB029 .171
+ 2CB102 1RB030 .278 RB031 .102
+ 2CB102 1RB031 .065 RB051 .069
+ 2CB102 RB061 1. RB091 -.574
+ 2CB102 RB092 .493 1RB092 3.9
+ 2CB102 1RB093 -1.1
+ 3CB102 RB022 -1. 1RB053 1.
+ 3CB102 RB102 -8.32 RB103 6.57
+ 3CB102 RB104 33. RB105 -2.549
+ 3CB102 RB106 -3.
+ 4CB102 1RB022 -1. 1RB053 1.
+ 4CB102 RB102 -7.66 RB103 5.91
+ 4CB102 RB104 33. RB105 -2.549
+ 4CB102 RB106 3.
+ 2CB103 R0000 .095 2RB005 .035
+ 2CB103 RB006 .07 1RB022 -1.
+ 2CB103 RB028 .15 RB029 .185
+ 2CB103 1RB030 .231 RB031 -.036
+ 2CB103 1RB031 .088 RB051 .167
+ 2CB103 RB061 1.412 RB091 -2.194
+ 2CB103 RB092 1.999 1RB092 3.3
+ 2CB103 RB093 -.356 1RB093 -3.09
+ 2CB104 R0000 .095 2RB005 .035
+ 2CB104 RB006 .07 1RB022 -1.
+ 2CB104 RB028 .15 RB029 .185
+ 2CB104 1RB030 .231 RB031 .085
+ 2CB104 1RB031 .088 RB051 .046
+ 2CB104 RB061 1.412 RB091 -.382
+ 2CB104 RB092 .329 1RB092 2.6
+ 2CB104 1RB093 -.74
+ 1CB105 1RB023 -1. RB046 1.
+ 1CB105 1RB050 1. RB087 11.93
+ 1CB105 1RB087 -14.46 RB088 21.
+ 1CB105 RB089 -.175 RB090 -25.
+ 1CB105 1RB090 17.
+ 1CB106 1RB023 -1. RB051 1.
+ 1CB106 RB091 4.4 RB092 -5.57
+ 1CB106 1RB092 -19. RB093 -.175
+ 1CB106 1RB093 13.
+ CB111 RB025 -1. RB053 1.
+ CB111 RB094 -1.85 RB095 1.14
+ CB111 RB096 -15.8 RB097 66.
+ CB112 RB053 -.322 RB054 1.
+ CB112 1RB054 -.678
+ 1CB112 1RB025 -.714 RB053 -.286
+ 1CB112 RB054 1.
+ CB113 RB025 -1. 1RB054 1.
+ CB114 2RB025 -1. 1RB054 1.
+ 1CB114 1RB025 -1. 1RB054 1.
+ 2CB114 R0000 .197 RB024 -1.
+ 2CB114 RB034 1. RB064 4.046
+ 2CB114 RB065 -5.22 RB066 -11.403
+ 2CB114 RB067 -.365
+ 2CB115 R0000 .086 RB024 -1.
+ 2CB115 RB036 1. RB068 -11.223
+ 2CB115 RB069 -5.22 RB070 -11.403
+ 2CB115 RB071 -.585
+ 2CB116 RB024 -1. RB026 .448
+ 2CB116 RB027 .552 RB031 -.016
+ CB117 R0000 .222 RB028 -1.
+ CB117 RB034 .99 RB064 -1.174
+ CB117 RB065 -71.8799 RB066 56.63
+ CB117 RB067 -.411
+ 2CB117 R0000 .194 1RB024 -1.
+ 2CB117 RB034 1. RB064 -.897
+ 2CB117 RB065 1.282 RB066 -7.81
+ 2CB117 RB067 -.359
+ CB118 R0000 .097 RB028 -1.
+ CB118 RB036 .99 RB068 -20.098
+ CB118 RB069 -71.8799 RB070 56.63
+ CB118 RB071 -.657
+ 2CB118 R0000 .085 1RB024 -1.
+ 2CB118 RB036 1. RB068 -17.179
+ 2CB118 RB069 1.282 RB070 -7.81
+ 2CB118 RB071 -.574
+ 1CB119 R0000 .17 RB029 -1.
+ 1CB119 RB030 .12 RB034 .88
+ 1CB119 RB064 1.013 RB065 40.5
+ 1CB119 RB066 -32.321 RB067 -.315
+ 2CB119 1RB024 -1. RB026 .322
+ 2CB119 RB027 .678 RB031 -.016
+ CB120 R0000 .074 RB029 -1.
+ CB120 RB030 .12 RB036 .88
+ CB120 RB068 -13.612 RB069 40.5
+ CB120 RB070 -32.321 RB071 -.504
+ 2CB120 R0000 .224 RB026 -1.
+ 2CB120 RB034 1. RB064 19.1
+ 2CB120 RB065 -69.606899 RB066 28.206
+ 2CB120 RB067 -.415
+ CB121 R0000 .19 RB029 -1.
+ CB121 RB034 1. RB064 2.39
+ CB121 RB065 52.5 RB066 -37.5
+ CB121 RB067 -.352
+ 2CB121 R0000 .098 RB026 -1.
+ 2CB121 RB036 1. RB068 6.664
+ 2CB121 RB069 -69.606899 RB070 28.206
+ 2CB121 RB071 -.663
+ CB122 R0000 .083 RB029 -1.
+ CB122 RB036 1. RB068 -15.125
+ CB122 RB069 52.5 RB070 -37.5
+ CB122 RB071 -.56
+ 1CB122 2RB007 1. RB026 -1.
+ 1CB122 RB099 1. UKLDF -1.
+ 2CB122 RB026 -1. RB038 1.
+ 2CB122 UKLDF -1.
+ CB123 RB030 -1. RB045 1.
+ CB123 RB075 -10.6 RB076 24.3
+ CB123 RB077 -8. RB078 1.75
+ CB123 RB079 -1.24 RB080 90.
+ 1CB123 1RB030 -1. RB045 1.
+ 1CB123 RB075 -9.3 RB076 24.6
+ 1CB123 RB077 10.5 RB078 1.75
+ 1CB123 RB079 -1.24 RB080 90.
+ 2CB123 RB026 -1. RB039 1.
+ 2CB123 RB072 15.148 RB073 -10.588
+ 2CB123 RB074 -35.
+ CB124 RB030 -1. RB047 1.
+ CB124 RB081 -9.8 RB082 10.6
+ CB124 RB083 -8. RB084 1.75
+ CB124 RB085 -1.24 RB086 -3.31
+ 1CB124 1RB030 -1. RB047 1.
+ 1CB124 RB081 -8.5 RB082 10.7
+ 1CB124 RB083 10.5 RB084 1.75
+ 1CB124 RB085 -1.24 RB086 -6.87
+ 2CB124 RB026 -1. RB031 1.114
+ CB125 RB030 -1. RB046 1.
+ CB125 1RB050 1. RB087 -10.75
+ CB125 1RB087 9.25 RB088 -21.
+ CB125 RB090 -25. 1RB090 -8.
+ 1CB125 1RB030 -1. RB046 1.
+ 1CB125 1RB050 1. RB087 -10.26
+ 1CB125 1RB087 8.76 RB088 -11.
+ 1CB125 RB090 -25. 1RB090 -8.
+ CB126 RB030 -1. RB051 1.
+ CB126 RB091 -18.28 RB092 17.11
+ CB126 1RB092 -44. 1RB093 -30.
+ 1CB126 1RB030 -1. RB051 1.
+ 1CB126 RB091 -17.79 RB092 16.62
+ 1CB126 1RB092 -44. 1RB093 -20.
+ 2CB126 RB030 -1. 1RB053 1.
+ 2CB126 RB102 -17.52 RB103 15.77
+ 2CB126 RB104 -54. RB106 -15.
+ 3CB126 1RB030 -1. 1RB053 1.
+ 3CB126 RB102 -17.03 RB103 15.28
+ 3CB126 RB104 -54. RB106 -5.
+ CB127 R0000 .201 RB034 1.
+ CB127 RB055 1. RB064 1.066
+ CB127 RB065 -4.17 RB066 4.86
+ CB127 RB067 -.373
+ CB128 R0000 .085 RB036 1.
+ CB128 RB055 1. RB068 -16.666
+ CB128 RB069 -4.17 RB070 4.86
+ CB128 RB071 -.574
+ CB130 R0000 .794 RB064 -11.16
+ CB130 RB067 1.
+ CB131 R0000 .591 RB068 -11.161
+ CB131 RB071 1.
+ CB133 R0000 .356 RB027 -.5
+ CB133 RB028 -.505 RB033 1.
+ 1CB133 R0000 .354 RB024 -.23
+ 1CB133 RB027 -.37 RB028 -.404
+ 1CB133 RB033 1.
+ 2CB133 R0000 .355 RB007 -.071
+ 2CB133 RB027 -.51 RB028 -.424
+ 2CB133 RB033 1.
+ CB135 RB034 -1. RB035 1.
+ CB135 RB064 1.745
+ CB138 RB036 -1. RB037 1.
+ CB138 RB068 6.85
+ CB139 RB016 -1. RB031 1.051
+ 1CB139 1RB016 -1. RB031 1.049
+ CB140 RB031 1. RB051 -1.
+ CB140 RB091 2.1 RB092 -.93
+ CB140 1RB093 10.
+ CB141 RB038 -1. 1RB038 1.
+ CB142 RB047 -1. 2RB047 1.
+ CB142 RB083 -2. RB084 -1.3
+ CB142 RB086 -7.42
+ 1CB142 RB047 -1. 3RB047 1.
+ 1CB142 RB081 .7 RB082 -27.2
+ 1CB142 RB083 -2. RB084 -1.3
+ 1CB142 RB086 -7.42
+ CB143 RB009 -.68 RB010 1.31
+ CB143 RB011 -2.32 RB012 1.69
+ CB143 RB013 -.46 RB016 -.54
+ CB143 1RB044 1.
+ 1CB143 RB009 -.72 RB010 1.55
+ 1CB143 RB011 -2.47 RB012 1.65
+ 1CB143 1RB013 -.38 1RB016 -.63
+ 1CB143 1RB044 1.
+ CB144 4RB045 1. RB047 -1.
+ CB144 RB081 -.8 RB082 -5.4
+ CB144 RB083 2.5 RB084 -.5
+ CB144 RB086 -7.42
+ CB146 1RB001 1. RB031 1.088
+ CB146 RB101 .969
+ CB147 RB002 1. RB031 1.081
+ CB147 RB101 1.
+ CB149 RB010 -1. RB031 1.09
+ CB150 RB012 -1. RB031 1.08
+ CB151 RB031 1.06 RB047 -1.
+ CBF28 RB050 .933 1RB050 -1.
+ CBF28 RB051 .067 RB088 2.
+ CBF28 1RB090 -5. RB091 -.514
+ CBF28 RB092 .436 1RB092 -2.5
+ CBF28 1RB093 -.67
+ 1CBF29 RB051 -.916 1RB051 1.
+ 1CBF29 1RB053 -.084 RB091 -.35
+ 1CBF29 RB092 .38 1RB092 -2.75
+ 1CBF29 1RB093 5.5 RB102 .28
+ 1CBF29 RB103 -.26 RB104 .59
+ 1CBF29 RB106 -.76
+ CBF35 RB051 -.344 RB052 1.
+ CBF35 1RB053 -.656 RB091 .4
+ CBF35 RB092 .14 1RB093 2.58
+ CBF35 RB102 2.22 RB103 -2.04
+ CBF35 RB104 6.56 RB106 -4.92
+ CBF80 RB051 -1. 2RB051 1.
+ CBF80 RB092 .41 1RB093 6.
+ ADDEA R0000 .6374 KW1RC -1.
+ CE001 RE001 1.01 RE008 .0018
+ CE001 RE010 .0044 RE011 .0122
+ CE001 RE012 .0426 RE013 .089
+ CE001 RE015 .058 RE017 .093
+ CE001 RE018 .117 RE021 .037
+ CE001 RE024 .545 RE060 -.0282
+ CE001 RE061 1. 1RE061 -1.
+ CE001 2RE061 1. RE062 .208
+ CE002 RE002 1.01 RE008 .0015
+ CE002 RE010 .0038 RE011 .0114
+ CE002 RE012 .0403 RE014 .115
+ CE002 RE016 .068 RE017 .115
+ CE002 RE019 .136 RE022 .047
+ CE002 RE025 .462 RE060 -.0331
+ CE002 RE061 1. 1RE061 -1.
+ CE002 2RE061 1. RE062 .24
+ CE004 RE004 1.01 RE008 .0013
+ CE004 RE010 .0028 RE011 .0125
+ CE004 RE012 .0404 RE014 .105
+ CE004 RE016 .064 RE017 .101
+ CE004 RE019 .082 RE022 .081
+ CE004 RE026 .51 RE060 -.0308
+ CE004 RE061 1. 1RE061 -1.
+ CE004 2RE061 1. RE062 .208
+ CE005 RE008 -.9 RE009 1.
+ CE005 RE010 -.1
+ CE006 RE008 -1. RE060 1.19
+ CE008 RE008 -1. RE066 1.
+ CE009 RE008 1. RE010 -1.
+ CE010 RE008 1. RE011 -1.
+ CE011 R0000 .108 RE011 -1.
+ CE011 RE035 1. RE068 -2.24
+ CE011 RE069 164.1001 RE070 -100.
+ CE011 RE071 -.367
+ CE012 R0000 .049 RE011 -1.
+ CE012 RE037 1. RE072 -13.1
+ CE012 RE073 164.1001 RE074 -100.
+ CE012 RE075 -.734
+ CE013 R0000 .095 RE012 -1.
+ CE013 RE035 1. RE063 1.
+ CE013 RE068 36.97 RE069 55.
+ CE013 RE070 -87.899899 RE071 -.323
+ CE014 R0000 .044 RE012 -1.
+ CE014 RE037 1. RE063 1.
+ CE014 RE072 31.06 RE073 55.
+ CE014 RE074 -87.899899 RE075 -.645
+ CE015 RE012 -1. RE039 1.
+ CE017 RE012 -1. RE060 1.11
+ CE018 R0000 .113 RE008 .115
+ CE018 RE010 .077 RE011 .115
+ CE018 RE013 -1. RE035 .693
+ CE018 RE060 -.12 RE063 1.
+ CE018 RE068 -.98 RE069 -4.3
+ CE018 RE070 -8. RE071 -.19
+ CE019 R0000 .139 RE008 .128
+ CE019 RE010 .086 RE011 .127
+ CE019 RE013 -1. RE035 .659
+ CE019 RE060 -.126 RE063 1.
+ CE019 RE068 -2.5 RE069 -3.1
+ CE019 RE070 -3.8 RE071 -.178
+ CE020 R0000 .176 RE008 .137
+ CE020 RE010 .091 RE011 .137
+ CE020 RE013 -1. RE035 .635
+ CE020 RE060 -.13 RE063 1.1
+ CE020 RE068 -4.61 RE069 -2.9
+ CE020 RE071 -.169
+ CE021 R0000 .066 RE008 .097
+ CE021 RE010 .065 RE011 .097
+ CE021 RE013 -1. RE037 .741
+ CE021 RE060 -.113 RE063 .91
+ CE021 RE072 -3.02 RE073 -8.3
+ CE021 RE074 -12.7 RE075 -.415
+ 1CE021 R0000 .049 RE008 .073
+ 1CE021 RE010 .04 RE011 .063
+ 1CE021 RE013 -1. RE037 .824
+ 1CE021 RE060 -.11 RE063 .91
+ 1CE021 RE072 7.47 RE073 -16.1
+ 1CE021 RE074 -2.2 RE075 -.475
+ CE022 R0000 .083 RE008 .115
+ CE022 RE010 .077 RE011 .115
+ CE022 RE013 -1. RE037 .693
+ CE022 RE060 -.12 RE063 1.
+ CE022 RE072 -6.33 RE073 -4.3
+ CE022 RE074 -8. RE075 -.38
+ CE023 R0000 .116 RE008 .092
+ CE023 RE010 .062 RE011 .094
+ CE023 RE014 -1. RE035 .752
+ CE023 RE060 -.12 RE063 1.
+ CE023 RE068 -1.06 RE069 -6.8
+ CE023 RE070 -4.8 RE071 -.204
+ CE024 R0000 .151 RE008 .104
+ CE024 RE010 .07 RE011 .104
+ CE024 RE014 -1. RE035 .722
+ CE024 RE060 -.126 RE063 1.
+ CE024 RE068 -2.74 RE069 -5.1
+ CE024 RE070 -1.4 RE071 -.194
+ CE025 R0000 .177 RE008 .114
+ CE025 RE010 .076 RE011 .113
+ CE025 RE014 -1. RE035 .697
+ CE025 RE060 -.13 RE063 1.1
+ CE025 RE068 -5.02 RE069 -4.4
+ CE025 RE070 -1.7 RE071 -.184
+ CE026 R0000 .066 RE008 .072
+ CE026 RE010 .048 RE011 .081
+ CE026 RE014 -1. RE037 .799
+ CE026 RE060 -.113 RE063 .91
+ CE026 RE072 -3.21 RE073 -11.
+ CE026 RE074 -8.3 RE075 -.441
+ 1CE026 R0000 .055 RE008 .056
+ 1CE026 RE010 .032 RE011 .05
+ 1CE026 RE014 -1. RE037 .862
+ 1CE026 RE060 -.11 RE063 .91
+ 1CE026 RE072 7.67 RE073 -21.2
+ 1CE026 RE074 -1.1 RE075 -.488
+ CE027 R0000 .084 RE008 .092
+ CE027 RE010 .062 RE011 .094
+ CE027 RE014 -1. RE037 .752
+ CE027 RE060 -.12 RE063 1.
+ CE027 RE072 -6.81 RE073 -6.8
+ CE027 RE074 -4.8 RE075 -.409
+ CE029 RE013 -1. RE039 1.
+ CE032 RE013 1. RE014 -1.
+ CE033 R0000 .136 RE008 .096
+ CE033 RE010 .064 RE011 .095
+ CE033 RE013 -.62 RE015 -.38
+ CE033 RE035 .745 RE060 -.12
+ CE033 RE063 1. RE068 -.67
+ CE033 RE069 -8.1 RE070 -1.4
+ CE033 RE071 -.204
+ CE034 R0000 .18 RE008 .11
+ CE034 RE010 .074 RE011 .109
+ CE034 RE013 -.62 RE015 -.38
+ CE034 RE035 .707 RE060 -.126
+ CE034 RE063 1. RE068 -2.68
+ CE034 RE069 -6. RE070 -.9
+ CE034 RE071 -.19
+ CE035 R0000 .224 RE008 .124
+ CE035 RE010 .074 RE011 .119
+ CE035 RE013 -.62 RE015 -.38
+ CE035 RE035 .683 RE060 -.13
+ CE035 RE063 1.1 RE068 -4.52
+ CE035 RE069 -4.8 RE070 4.3
+ CE035 RE071 -.182
+ CE036 R0000 .079 RE008 .076
+ CE036 RE010 .05 RE011 .077
+ CE036 RE013 -.62 RE015 -.38
+ CE036 RE037 .797 RE060 -.113
+ CE036 RE063 .91 RE072 -2.81
+ CE036 RE073 -11.4 RE075 -.444
+ 1CE036 R0000 .062 RE008 .05
+ 1CE036 RE010 .027 RE011 .043
+ 1CE036 RE013 -.62 RE015 -.38
+ 1CE036 RE037 .88 RE060 -.11
+ 1CE036 RE063 .91 RE072 8.02
+ 1CE036 RE073 -15.4 RE074 16.8
+ 1CE036 RE075 -.51
+ CE037 R0000 .104 RE008 .096
+ CE037 RE010 .064 RE011 .095
+ CE037 RE013 -.62 RE015 -.38
+ CE037 RE037 .745 RE060 -.12
+ CE037 RE063 1. RE072 -6.6
+ CE037 RE073 -8.1 RE074 -1.4
+ CE037 RE075 -.407
+ CE038 R0000 .137 RE008 .076
+ CE038 RE010 .05 RE011 .076
+ CE038 RE014 -.625 RE016 -.375
+ CE038 RE035 .798 RE060 -.12
+ CE038 RE063 1. RE068 -.71
+ CE038 RE069 -13. RE070 2.
+ CE038 RE071 -.215
+ CE039 R0000 .181 RE008 .085
+ CE039 RE010 .057 RE011 .086
+ CE039 RE014 -.625 RE016 -.375
+ CE039 RE035 .772 RE060 -.126
+ CE039 RE063 1. RE068 -2.9
+ CE039 RE069 -10.2 RE070 3.9
+ CE039 RE071 -.206
+ CE040 R0000 .183 RE008 .096
+ CE040 RE010 .058 RE011 .091
+ CE040 RE014 -.625 RE016 -.375
+ CE040 RE035 .755 RE060 -.13
+ CE040 RE063 1.1 RE068 -4.95
+ CE040 RE069 -8.5 RE070 5.6
+ CE040 RE071 -.198
+ CE041 R0000 .079 RE008 .061
+ CE041 RE010 .041 RE011 .062
+ CE041 RE014 -.625 RE016 -.375
+ CE041 RE037 .836 RE060 -.113
+ CE041 RE063 .91 RE072 -2.9
+ CE041 RE073 -15.6 RE074 4.3
+ CE041 RE075 -.458
+ 1CE041 R0000 .061 RE008 .039
+ 1CE041 RE010 .021 RE011 .034
+ 1CE041 RE014 -.625 RE016 -.375
+ 1CE041 RE037 .906 RE060 -.11
+ 1CE041 RE063 .91 RE072 7.99
+ 1CE041 RE073 -19.1 RE074 9.5
+ 1CE041 RE075 -.508
+ CE042 R0000 .104 RE008 .076
+ CE042 RE010 .05 RE011 .076
+ CE042 RE014 -.625 RE016 -.375
+ CE042 RE037 .798 RE060 -.12
+ CE042 RE063 1. RE072 -6.97
+ CE042 RE073 -13. RE074 2.
+ CE042 RE075 -.43
+ 1CE042 RE015 1. RE016 -1.
+ CE046 RE017 -1. RE045 1.
+ CE046 RE084 3.74 RE085 -9.
+ CE046 RE086 -59.07 RE087 .56
+ CE047 RE017 -1. RE048 1.
+ CE047 RE088 -29.9 RE089 26.8
+ CE047 RE090 -37. RE091 -93.
+ CE047 RE092 .56
+ CE049 RE017 -1. RE058 1.
+ CE049 RE098 -23.96 RE099 21.2
+ CE049 RE100 -15. RE101 -83.
+ CE049 RE102 .56
+ CE051 RE018 -1. RE045 1.
+ CE051 RE084 -1.86 RE085 1.3
+ CE051 RE086 -29.85 RE087 -4.
+ CE052 RE018 -1. RE048 1.
+ CE052 RE088 -22.22 RE089 19.13
+ CE052 RE090 -27.2 RE091 -64.
+ CE052 RE092 -4.
+ CE054 RE018 -1. RE058 1.
+ CE054 RE098 -16.28 RE099 13.52
+ CE054 RE100 -5.2 RE101 -54.
+ CE054 RE102 -4.
+ CE056 RE019 -1. RE045 1.
+ CE056 RE084 -2.56 RE085 -2.9
+ CE056 RE086 -31.85 RE087 -4.
+ CE057 RE019 -1. RE048 1.
+ CE057 RE088 -22.22 RE089 19.13
+ CE057 RE090 -31.4 RE091 -64.
+ CE057 RE092 -4.
+ CE059 RE019 -1. RE058 1.
+ CE059 RE098 -16.28 RE099 13.52
+ CE059 RE100 -9.4 RE101 -54.
+ CE059 RE102 -4.
+ CE067 RE021 -1. RE045 1.
+ CE067 RE084 -5.14 RE085 7.3
+ CE067 RE086 55.07 RE087 -3.47
+ CE068 RE021 -1. RE048 1.
+ CE068 RE088 -16.96 RE089 13.87
+ CE068 RE090 -21.2 RE091 -42.
+ CE068 RE092 -3.47
+ CE070 RE021 -1. RE058 1.
+ CE070 RE098 -11.02 RE099 8.26
+ CE070 RE100 .8 RE101 -32.
+ CE070 RE102 -3.47
+ CE072 RE022 -1. RE045 1.
+ CE072 RE084 -6.58 RE085 3.5
+ CE072 RE086 68.049998 RE087 -3.47
+ CE073 RE022 -1. RE048 1.
+ CE073 RE088 -16.96 RE089 13.87
+ CE073 RE090 -25. RE091 -31.
+ CE073 RE092 -3.47
+ CE075 RE022 -1. RE058 1.
+ CE075 RE098 -11.02 RE099 8.26
+ CE075 RE100 -3. RE101 -21.
+ CE075 RE102 -3.47
+ CE081 RE024 -1. RE028 .468
+ CE081 RE030 .532 RE060 -.027
+ CE081 RE064 1.
+ CE082 RE024 -1. RE048 1.
+ CE082 RE088 .9 RE089 -3.99
+ CE082 RE090 .7 RE091 -17.
+ CE082 RE092 -.8
+ CE084 RE024 -1. RE058 1.
+ CE084 RE098 6.84 RE099 -9.6
+ CE084 RE100 22.7 RE101 -7.
+ CE084 RE102 -.8
+ CE086 RE025 -1. RE048 1.
+ CE086 RE088 -.73 RE089 -2.36
+ CE086 RE090 -16. RE091 3.
+ CE086 RE092 -.8
+ CE088 RE025 -1. RE058 1.
+ CE088 RE098 5.21 RE099 -7.97
+ CE088 RE100 6. RE101 13.
+ CE088 RE102 -.8
+ CE090 RE026 -1. RE048 1.
+ CE090 RE088 1.69 RE089 -4.78
+ CE090 RE090 -14. RE091 -4.
+ CE090 RE092 -.8
+ CE092 RE026 -1. RE058 1.
+ CE092 RE098 7.63 RE099 -10.39
+ CE092 RE100 8. RE101 6.
+ CE092 RE102 -.8
+ CE102 RE017 -.147 RE026 -.853
+ CE102 1RE056 1.
+ CE103 RE019 -.234 RE026 -.766
+ CE103 1RE056 1.
+ CE104 RE017 -.178 RE026 -.822
+ CE104 1RE056 1.
+ CE105 RE019 -.284 RE026 -.716
+ CE105 1RE056 1.
+ CE107 RE028 -1. RE048 1.
+ CE107 RE088 -7.65 RE089 4.56
+ CE107 RE090 -15. RE091 46.
+ CE107 RE092 -.8
+ CE108 RE048 -1. RE060 1.
+ CE112 RE030 -1. RE103 .98
+ CE124 R0000 .2793 RE068 -9.821
+ CE124 RE071 1.
+ CE125 R0000 .2564 RE072 -15.27
+ CE125 RE075 1.
+ CE126 RE035 -1. RE036 1.
+ CE126 RE068 -1.31 RE069 -5.23
+ CE130 RE037 -1. RE040 1.
+ CE130 RE072 -4.73 RE073 -5.4
+ CE134 RE045 -1. RE046 1.
+ CE135 RE045 -1. RE047 1.
+ CE135 RE085 7.
+ CE136 RE048 -1. RE049 1.
+ CE136 RE088 5.94 RE089 -5.6
+ CE136 RE090 7. RE091 21.
+ CE137 RE048 -1. RE050 1.
+ CE137 RE088 4.12 RE089 -2.85
+ CE137 RE090 7. RE091 21.
+ CE138 RE017 -.06 RE022 -.13
+ CE138 RE025 -.81 RE051 1.
+ CE142 RE055 1. RE058 -1.
+ CE142 RE098 -1.82 RE099 2.76
+ CE142 RE100 -5. RE101 8.
+ CE143 RE017 .13 RE044 -.4
+ CE143 RE057 1. RE058 -.73
+ CH002 RH001 1. 1RH001 1.01
+ CH002 RH007 .0024 RH008 .0099
+ CH002 1RH008 .0022 RH010 .0382
+ CH002 RH016 .1081 RH018 .0242
+ CH002 RH019 .101 RH020 .0929
+ CH002 2RH025 .005 RH026 .6093
+ CH002 RH096 -.017 RH107 1.
+ CH002 1RH107 -1. RH113 .0048
+ 1CH002 R0000 .001 RH001 3.
+ 1CH002 RH106 -1.
+ 2CH002 RH001 1.111 1RH001 1.01
+ 2CH002 RH007 .0024 RH008 .0099
+ 2CH002 1RH008 .0022 RH010 .0432
+ 2CH002 RH016 .1011 RH018 .0242
+ 2CH002 RH019 .103 RH020 .1029
+ 2CH002 2RH025 .005 RH026 .6063
+ 2CH002 RH028 -.007 RH096 -.016
+ 2CH002 RH107 1. 1RH107 -1.
+ 2CH002 RH113 .0048
+ 3CH002 RH001 1.126 1RH001 .505
+ 3CH002 RH003 .505 RH007 .0031
+ 3CH002 RH008 .0095 1RH008 .0013
+ 3CH002 RH010 .049 RH016 .1182
+ 3CH002 RH018 .0283 RH019 .1182
+ 3CH002 RH020 .1101 2RH025 .005
+ 3CH002 RH026 .304 RH027 .2556
+ 3CH002 RH028 -.007 RH096 -.016
+ 3CH002 RH107 1.126 1RH107 -1.
+ 3CH002 RH113 .0027
+ 4CH002 RH001 1. 1RH001 1.01
+ 4CH002 RH007 .0024 RH008 .0099
+ 4CH002 1RH008 .0022 RH010 .0382
+ 4CH002 RH016 .1081 RH018 .0242
+ 4CH002 RH019 .101 RH020 .0929
+ 4CH002 2RH025 .005 RH026 .6093
+ 4CH002 RH096 -.017 RH113 .0048
+ CH003 RH001 1.1 RH002 1.01
+ CH003 RH007 .0024 RH008 .009
+ CH003 1RH008 .0019 RH010 .0259
+ CH003 RH015 .1192 RH017 .5324
+ CH003 RH018 .0354 2RH018 .1273
+ CH003 RH021 .1333 2RH025 .005
+ CH003 RH096 -.0145 RH107 1.1
+ CH003 1RH107 -1. RH113 .0062
+ 1CH003 1RH001 1. RH096 1.
+ 2CH003 RH003 1. RH096 1.
+ CH004 RH001 1.027 RH003 1.01
+ CH004 RH007 .0039 RH008 .0092
+ CH004 1RH008 .0004 RH010 .0485
+ CH004 RH016 .1344 RH018 .0394
+ CH004 RH019 .1273 RH020 .107
+ CH004 2RH025 .005 RH027 .5223
+ CH004 RH096 -.015 RH113 .0006
+ 1CH004 RH001 1.027 RH003 1.01
+ 1CH004 RH007 .0039 RH008 .0092
+ 1CH004 1RH008 .0004 RH010 .0485
+ 1CH004 RH016 .1344 RH018 .0394
+ 1CH004 RH019 .1373 RH020 .107
+ 1CH004 2RH025 .005 RH027 .5223
+ 1CH004 RH096 -.015 RH107 1.
+ 1CH004 1RH107 -1. RH113 .0006
+ CH005 RH001 1.067 RH004 1.01
+ CH005 RH007 .0015 RH008 .0049
+ CH005 1RH008 .0009 RH010 .0137
+ CH005 RH015 .0687 1RH017 .6486
+ CH005 RH018 .0253 1RH019 .101
+ CH005 RH024 .1243 2RH025 .005
+ CH005 RH096 -.017 RH107 1.067
+ CH005 RH113 .0041
+ 1CH005 RH001 1.067 RH004 1.01
+ 1CH005 RH007 .0015 RH008 .0049
+ 1CH005 1RH008 .0009 RH010 .0137
+ 1CH005 RH015 .0687 1RH017 .3684
+ 1CH005 RH018 .0253 1RH019 .101
+ 1CH005 RH024 .1243 2RH025 .005
+ 1CH005 1RH028 .0168 RH029 .1107
+ 1CH005 1RH030 .1527 1RH060 .2802
+ 1CH005 RH096 -.024 RH107 1.067
+ 1CH005 RH113 .0041
+ 2CH005 RH001 1.1 1RH005 1.01
+ 2CH005 RH007 .0002 RH008 .0004
+ 2CH005 1RH008 .0003 RH010 .0236
+ 2CH005 RH015 .07 RH018 .03
+ 2CH005 RH019 .15 RH023 .22
+ 2CH005 2RH025 .005 2RH026 .5
+ 2CH005 RH096 -.017 RH107 1.1
+ 2CH005 1RH107 -1. RH113 .0005
+ 4CH005 RH001 1.1 RH006 1.01
+ 4CH005 RH007 .002 RH008 .0072
+ 4CH005 1RH008 .0005 RH010 .0378
+ 4CH005 RH016 .1495 2RH017 .5009
+ 4CH005 RH018 .0436 3RH018 .1228
+ 4CH005 RH021 .1257 2RH025 .005
+ 4CH005 RH096 -.017 RH107 1.1
+ 4CH005 1RH107 -1. RH113 .003
+ CH006 RH001 1.1 RH006 1.01
+ CH006 RH007 .002 RH008 .0072
+ CH006 1RH008 .0005 RH010 .0378
+ CH006 RH016 .1495 2RH017 .5009
+ CH006 RH018 .0436 3RH018 .1228
+ CH006 RH021 .1257 2RH025 .005
+ CH006 RH096 -.017 RH113 .003
+ 1CH006 R0000 .001 1RH008 1.
+ 1CH006 RH055 1. RH114 -1.
+ 2CH006 RH001 15.401 RH006 14.14
+ 2CH006 RH007 .028 RH008 .101
+ 2CH006 1RH008 .007 RH010 .529
+ 2CH006 RH016 2.093 RH018 .61
+ 2CH006 3RH018 1.719 RH021 1.76
+ 2CH006 4RH022 1.777 2RH025 .07
+ 2CH006 RH028 .933 RH029 2.195
+ 2CH006 3RH030 1.088 RH050 1.
+ 2CH006 RH060 7.062 RH096 -.641
+ 2CH006 RH113 .042
+ CH007 RH007 -1. RH008 1.
+ CH008 R0000 .38 RH008 -1.
+ CH008 RH034 1. RH063 4.665
+ CH008 RH064 -89.655 RH065 238.949997
+ CH008 RH066 -206.899897 1RH066 -.579
+ CH008 RH096 -.002
+ CH009 R0000 .247 RH008 -1.
+ CH009 RH035 1. RH067 -1.379
+ CH009 RH068 -89.655 RH069 238.949997
+ CH009 RH070 -206.899897 RH071 -.425
+ CH009 RH096 -.002
+ CH010 R0000 .114 RH008 -1.
+ CH010 RH036 1. RH072 -22.586
+ CH010 RH073 187.751997 RH074 95.
+ CH010 RH075 -.772 RH096 -.002
+ CH012 RH008 -1. RH114 1.
+ CH013 R0000 .026 RH007 -.544
+ CH013 RH009 -.49 RH010 -.07
+ CH013 RH014 1. RH059 1.
+ CH013 RH096 -.146 RH114 .033
+ CH014 RH008 1. RH009 -1.
+ CH015 R0000 .353 RH010 -1.
+ CH015 RH034 1. RH054 1.
+ CH015 RH063 .96 RH064 -99.2
+ CH015 RH065 132.080097 RH066 -128.
+ CH015 1RH066 -.538 RH096 -.222
+ CH016 R0000 .229 RH010 -1.
+ CH016 RH035 1. RH054 1.
+ CH016 RH067 -3.2 RH068 -99.2
+ CH016 RH069 132.080097 RH070 -128.
+ CH016 RH071 -.394 RH096 -.222
+ CH017 R0000 .102 RH010 -1.
+ CH017 RH036 1. RH072 18.154
+ CH017 RH073 58.074 RH074 -5.
+ CH017 RH075 -.689 RH096 -.003
+ CH018 RH010 -1. RH039 1.
+ CH018 UKLDF -1.
+ 1CH019 R0000 .221 RH010 -1.
+ 1CH019 RH035 1. RH067 29.23
+ 1CH019 RH068 -80. RH069 61.13
+ 1CH019 RH070 -30.77 RH071 -.38
+ 1CH019 RH096 -.003
+ CH020 RH011 1. 2RH038 -1.
+ CH021 RH011 1. RH038 -1.
+ CH022 RH023 -1. RH048 1.
+ CH022 RH085 -7.833 RH086 -14.97
+ CH022 RH087 -8.4 RH088 13.
+ CH022 RH089 -2.729
+ 1CH022 RH023 -1. RH043 1.
+ 1CH022 RH080 -10.08 RH081 4.88
+ 1CH022 RH082 -8.4 RH083 13.
+ 1CH022 RH084 -2.729
+ 2CH022 RH023 -1. RH046 1.
+ 2CH022 RH062 -.0014 1RH089 -5.67
+ 2CH022 2RH089 14. 3RH089 -20.07
+ CH024 R0000 .092 RH036 1.
+ CH024 RH072 -5.587 RH073 4.268
+ CH024 RH074 -5. RH075 -.626
+ CH024 RH095 -1.
+ 1CH024 R0000 .2 RH035 1.
+ 1CH024 RH067 10.475 RH068 -33.519
+ 1CH024 RH069 7.06 RH070 -6.98
+ 1CH024 RH071 -.344 RH095 -1.
+ CH025 RH095 -1. RH096 1.11
+ 1CH025 R0000 .308 RH034 1.
+ 1CH025 RH063 13.966 RH064 -33.519
+ 1CH025 RH065 7.06 RH066 -6.98
+ 1CH025 1RH066 -.469 RH095 -1.
+ CH026 R0000 .254 RH011 -1.
+ CH026 RH034 1. RH063 -10.957
+ CH026 RH064 78.4309 RH065 -46.88
+ CH026 RH066 34.6 1RH066 -.387
+ CH027 R0000 .165 RH011 -1.
+ CH027 RH035 1. RH067 -15.34
+ CH027 RH068 78.4309 RH069 -46.88
+ CH027 RH070 34.6 RH071 -.284
+ CH028 R0000 .324 RH012 -1.
+ CH028 RH034 1. RH063 5.294
+ CH028 RH064 -69.1179 RH065 44.198
+ CH028 RH066 -26.47 1RH066 -.494
+ CH028 RH096 -.003
+ CH029 R0000 .211 RH012 -1.
+ CH029 RH035 1. RH067 -1.03
+ CH029 RH068 -69.1179 RH069 44.198
+ CH029 RH070 -26.47 RH071 -.362
+ CH029 RH096 -.003
+ CH030 R0000 .097 RH012 -1.
+ CH030 RH036 1. RH072 -20.147
+ CH030 RH073 41.244 RH074 -5.
+ CH030 RH075 -.659 RH096 -.003
+ CH031 R0000 .18 RH013 -1.
+ CH031 RH035 1. RH067 3.015
+ CH031 RH068 45.226 RH069 -50.89
+ CH031 RH070 25.13 RH071 -.31
+ CH031 RH096 -.002
+ CH032 R0000 .083 RH013 -1.
+ CH032 RH036 1. RH072 -15.201
+ CH032 RH073 -53.41 RH074 -5.
+ CH032 RH075 -.563 RH096 -.002
+ CH033 R0000 1.039 RH010 -.124
+ CH033 RH014 -.709 RH031 1.
+ CH033 RH054 .124 RH095 -.167
+ CH033 RH096 -.031
+ CH034 R0000 .662 RH010 -.122
+ CH034 RH014 -.472 RH032 1.
+ CH034 RH054 .122 RH095 -.406
+ CH034 RH096 -.038
+ CH035 R0000 .315 RH014 -1.
+ CH035 RH034 1. RH064 1.429
+ CH035 RH065 -24.49 RH066 -5.
+ CH035 1RH066 -.48
+ CH036 R0000 .205 RH014 -1.
+ CH036 RH035 1. RH067 -3.143
+ CH036 RH068 1.429 RH069 -24.49
+ CH036 RH070 -5. RH071 -.352
+ 1CH036 R0000 .591 RH063 -6.25
+ 1CH036 1RH066 1.
+ CH037 R0000 .591 RH067 -10.268
+ CH037 RH071 1.
+ CH038 R0000 .591 RH072 -11.16
+ CH038 RH075 1.
+ CH039 R0000 .09 RH016 -1.
+ CH039 RH036 1. RH072 27.459
+ CH039 RH073 -36.543 RH074 -5.
+ CH039 RH075 -.612 RH096 -.002
+ CH040 RH010 -.25 RH016 -.75
+ CH040 RH039 1. UKLDF -1.
+ CH042 RH010 -1. 2RH039 1.
+ CH042 1RH106 1. UKLDF -1.
+ CH043 RH010 -.7 RH016 -.3
+ CH043 2RH039 1. 1RH106 1.
+ CH043 UKLDF -1.
+ CH044 R0000 .089 RH015 -1.
+ CH044 RH036 1. RH072 25.706
+ CH044 RH073 -36.248 RH074 -5.
+ CH044 RH075 -.603 RH096 -.002
+ CH045 RH010 -.25 RH015 -.75
+ CH045 RH039 1. UKLDF -1.
+ CH046 RH010 -.7 RH015 -.3
+ CH046 2RH039 1. 1RH106 1.
+ CH046 UKLDF -1.
+ CH048 R0000 .12 RH007 .029
+ CH048 RH008 .043 RH016 -1.
+ CH048 RH036 .755 RH057 .883
+ CH048 RH072 -8.657 RH073 -12.314
+ CH048 RH074 -2.265 RH075 -.451
+ CH048 RH096 -.12 RH113 .087
+ CH048 RH114 .086
+ CH050 R0000 .364 RH007 .042
+ CH050 RH008 .071 RH016 -1.
+ CH050 RH034 .621 RH057 1.533
+ CH050 RH058 1. RH063 -1.611
+ CH050 RH064 4.832 RH065 -4.213
+ CH050 RH066 2.42 1RH066 -.271
+ CH050 RH096 -.133 RH113 .133
+ CH050 RH114 .133
+ CH051 R0000 .304 RH007 .042
+ CH051 RH008 .071 RH016 -1.
+ CH051 RH035 .621 RH057 1.533
+ CH051 RH058 1. RH067 -4.026
+ CH051 RH068 4.832 RH069 -4.213
+ CH051 RH070 2.42 RH071 -.198
+ CH051 RH096 -.133 RH113 .133
+ CH051 RH114 .133
+ CH056 R0000 .123 RH007 .023
+ CH056 RH008 .031 RH016 -.75
+ CH056 RH018 -.25 RH036 .806
+ CH056 RH057 .872 RH072 -8.685
+ CH056 RH073 -15.602 RH074 -2.418
+ CH056 RH075 -.474 RH096 -.12
+ CH056 RH113 .07 RH114 .07
+ CH057 R0000 .306 RH007 .03
+ CH057 RH008 .044 RH016 -.75
+ CH057 RH018 -.25 RH034 .73
+ CH057 RH057 .982 RH063 3.189
+ CH057 RH064 4.832 RH065 -10.03
+ CH057 RH066 5.8 1RH066 -.325
+ CH057 RH096 -.12 RH113 .098
+ CH057 RH114 .098
+ CH058 R0000 .233 RH007 .03
+ CH058 RH008 .044 RH016 -.75
+ CH058 RH018 -.25 RH035 .73
+ CH058 RH057 .982 RH067 .097
+ CH058 RH068 4.832 RH069 -10.03
+ CH058 RH070 5.8 RH071 -.238
+ CH058 RH096 -.12 RH113 .098
+ CH058 RH114 .098
+ CH062 R0000 .295 RH007 .023
+ CH062 RH008 .03 RH015 -.74
+ CH062 RH018 -.26 RH034 .776
+ CH062 RH057 .963 RH063 3.371
+ CH062 RH064 8.683 RH065 -15.57
+ CH062 RH066 7.15 1RH066 -.343
+ CH062 RH096 -.114 RH113 .086
+ CH062 RH114 .085
+ CH063 R0000 .219 RH007 .023
+ CH063 RH008 .03 RH015 -.74
+ CH063 RH018 -.26 RH035 .776
+ CH063 RH057 .963 RH067 .102
+ CH063 RH068 8.683 RH069 -15.57
+ CH063 RH070 7.15 RH071 -.252
+ CH063 RH096 -.114 RH113 .086
+ CH063 RH114 .085
+ CH065 R0000 .18 RH007 .04
+ CH065 RH008 .06 RH010 -.3
+ CH065 RH016 -.7 1RH038 .66
+ CH065 RH057 1.15 RH096 -.12
+ CH065 RH113 .12 RH114 .12
+ CH066 R0000 .099 RH007 .035
+ CH066 RH008 .055 RH016 -1.
+ CH066 1RH038 .684 RH057 1.
+ CH066 RH096 -.12 RH113 .113
+ CH066 RH114 .113
+ CH067 R0000 .349 RH007 .042
+ CH067 RH008 .071 RH011 .214
+ CH067 RH016 -1. RH034 .36
+ CH067 RH038 .019 2RH038 .028
+ CH067 RH057 1.533 RH058 1.
+ CH067 RH063 2.675 RH064 -11.675
+ CH067 RH065 2.457 RH066 -2.43
+ CH067 1RH066 -.163 RH096 -.133
+ CH067 RH113 .133 RH114 .133
+ CH068 R0000 .262 RH007 .042
+ CH068 RH008 .071 RH011 .214
+ CH068 RH016 -1. RH035 .36
+ CH068 RH038 .019 2RH038 .028
+ CH068 RH057 1.533 RH058 1.
+ CH068 RH067 .973 RH068 -11.676
+ CH068 RH069 2.457 RH070 -2.43
+ CH068 RH071 -.119 RH096 -.133
+ CH068 RH113 .133 RH114 .133
+ CH069 R0000 .079 RH007 .028
+ CH069 RH008 .04 RH015 -1.
+ CH069 1RH038 .735 RH057 .977
+ CH069 RH096 -.114 RH113 .098
+ CH069 RH114 .099
+ CH070 R0000 .294 RH007 .034
+ CH070 RH008 .054 RH011 .236
+ CH070 RH015 -1. RH034 .395
+ CH070 RH038 .019 2RH038 .03
+ CH070 RH057 1.498 RH058 .977
+ CH070 RH063 2.936 RH064 -12.811
+ CH070 RH065 2.7 RH066 -2.67
+ CH070 1RH066 -.179 RH096 -.126
+ CH070 RH113 .116 RH114 .116
+ CH071 R0000 .264 RH007 .034
+ CH071 RH008 .054 RH011 .236
+ CH071 RH015 -1. RH035 .395
+ CH071 RH038 .019 2RH038 .03
+ CH071 RH057 1.498 RH058 .977
+ CH071 RH067 1.067 RH068 -12.81
+ CH071 RH069 2.7 RH070 -2.67
+ CH071 RH071 -.131 RH096 -.126
+ CH071 RH113 .116 RH114 .116
+ CH072 R0000 .098 RH007 .03
+ CH072 RH008 .044 RH011 .26
+ CH072 RH016 -.75 RH018 -.25
+ CH072 RH038 .014 2RH038 .023
+ CH072 RH057 .982 RH095 .433
+ CH072 RH096 -.12 RH113 .098
+ CH072 RH114 .098
+ CH074 R0000 .15 RH007 .035
+ CH074 RH008 .055 RH011 .142
+ CH074 RH016 -1. RH038 .051
+ CH074 RH057 1.359 RH095 .491
+ CH074 RH096 -.171 RH113 .113
+ CH074 RH114 .113
+ 1CH074 R0000 .133 RH007 .035
+ 1CH074 RH008 .055 RH011 .104
+ 1CH074 RH016 -1. RH038 .038
+ 1CH074 2RH038 .06 RH057 1.21
+ 1CH074 RH095 .482 RH096 -.15
+ 1CH074 RH113 .113 RH114 .113
+ 2CH074 R0000 .133 RH007 .035
+ 2CH074 RH008 .055 RH011 .17
+ 2CH074 RH016 -1. RH038 .032
+ 2CH074 RH057 1.21 RH095 .482
+ 2CH074 RH096 -.15 RH113 .113
+ 2CH074 RH114 .113
+ CH075 R0000 .121 RH007 .028
+ CH075 RH008 .04 RH011 .16
+ CH075 RH015 -1. RH038 .052
+ CH075 RH057 1.336 RH095 .523
+ CH075 RH096 -.163 RH113 .098
+ CH075 RH114 .099
+ 1CH075 R0000 .108 RH007 .028
+ 1CH075 RH008 .04 RH011 .12
+ 1CH075 RH015 -1. RH038 .039
+ 1CH075 2RH038 .062 RH057 1.188
+ 1CH075 RH095 .514 RH096 -.142
+ 1CH075 RH113 .099 RH114 .098
+ 2CH075 R0000 .108 RH007 .028
+ 2CH075 RH008 .04 RH011 .188
+ 2CH075 RH015 -1. RH038 .033
+ 2CH075 RH057 1.188 RH095 .514
+ 2CH075 RH096 -.142 RH113 .099
+ 2CH075 RH114 .098
+ CH076 R0000 .078 RH007 .023
+ CH076 RH008 .03 RH011 .257
+ CH076 RH015 -.74 RH018 -.26
+ CH076 RH038 .015 2RH038 .024
+ CH076 RH057 .963 RH095 .48
+ CH076 RH096 -.114 RH113 .086
+ CH076 RH114 .085
+ CH077 R0000 .284 RH034 1.
+ CH077 1RH038 -1. RH063 3.732
+ CH077 RH064 .644 RH065 -10.936
+ CH077 RH066 6.43 1RH066 -.432
+ 1CH077 R0000 .185 RH035 1.
+ 1CH077 1RH038 -1. RH067 .257
+ 1CH077 RH068 .643 RH069 -10.936
+ 1CH077 RH070 6.43 RH071 -.317
+ CH078 RH011 .268 RH038 .024
+ CH078 1RH038 -1. 2RH038 .038
+ CH078 RH095 .67
+ 1CH078 RH011 .31 RH038 .02
+ 1CH078 1RH038 -1. RH095 .67
+ 3CH078 1RH025 -1.02 RH046 1.
+ 3CH078 RH062 .007 1RH089 -3.481
+ 3CH078 2RH089 47.3 3RH089 -31.567
+ 3CH078 RH096 -.023 RH113 .013
+ 4CH078 RH019 -1.02 RH046 1.
+ 4CH078 RH062 .0002 1RH089 6.108
+ 4CH078 2RH089 -13. 3RH089 -34.293
+ 4CH078 RH096 -.023 RH113 .013
+ CH079 RH019 -1.02 RH046 1.
+ CH079 RH062 -.0008 1RH089 4.409
+ CH079 2RH089 -9.7 3RH089 -33.827
+ CH079 RH096 -.023 RH113 .013
+ 1CH079 1RH019 -1.02 RH046 1.
+ 1CH079 RH062 -.0013 1RH089 4.257
+ 1CH079 2RH089 -5.5 3RH089 -33.785
+ 1CH079 RH096 -.023 RH113 .013
+ 2CH079 RH020 -1.02 RH046 1.
+ 2CH079 RH062 .0083 1RH089 1.871
+ 2CH079 2RH089 -11.1 3RH089 -15.719
+ 2CH079 RH096 -.023 RH113 .013
+ 3CH079 RH021 -1.02 RH046 1.
+ 3CH079 RH062 .0055 1RH089 .569
+ 3CH079 2RH089 -7.1 3RH089 -15.55
+ 3CH079 RH096 -.023 RH113 .013
+ 4CH079 RH024 -1.02 RH046 1.
+ 4CH079 RH062 .0048 1RH089 -1.677
+ 4CH079 2RH089 -.8 3RH089 -11.972
+ 4CH079 RH096 -.023 RH113 .013
+ CH080 RH028 -1.02 RH046 1.
+ CH080 RH062 .0155 1RH089 -1.677
+ CH080 2RH089 -.4 3RH089 2.934
+ CH080 RH096 -.023 RH113 .013
+ 1CH080 1RH028 -1.02 RH046 1.
+ 1CH080 RH062 .013 1RH089 -3.039
+ 1CH080 2RH089 6.1 3RH089 2.9
+ 1CH080 RH096 -.023 RH113 .013
+ 2CH080 RH028 -.8 RH029 -.2
+ 2CH080 RH046 1. RH062 .0162
+ 2CH080 1RH089 -1.951 2RH089 .45
+ 2CH080 3RH089 28.92 RH096 -.023
+ 2CH080 RH113 .013
+ 3CH080 1RH028 -.612 RH029 -.408
+ 3CH080 RH046 1. RH062 .014
+ 3CH080 1RH089 -3.575 2RH089 6.7
+ 3CH080 3RH089 54.272 RH096 -.023
+ 3CH080 RH113 .013
+ 4CH080 RH025 -1.02 RH046 1.
+ 4CH080 RH062 .022 1RH089 -7.066
+ 4CH080 2RH089 33.2 3RH089 -11.422
+ 4CH080 RH096 -.023 RH113 .013
+ CH081 RH025 -.714 RH046 1.
+ CH081 RH052 -.306 RH062 .023
+ CH081 1RH089 -7.813 2RH089 33.8
+ CH081 3RH089 9.455 RH093 6.343
+ CH081 1RH093 5.5 RH094 3.978
+ CH081 RH096 -.023 RH110 -6.138
+ CH081 RH113 .013
+ 1CH081 1RH021 -1.02 RH046 1.
+ 1CH081 RH062 .0025 1RH089 -.705
+ 1CH081 2RH089 -1.5 3RH089 -13.728
+ 1CH081 RH096 -.023 RH113 .013
+ CH086 RH018 -.2 RH019 -.8
+ CH086 1RH025 .2 RH041 .8
+ CH086 RH056 1. RH096 -.021
+ 1CH086 1RH025 -1. RH043 1.
+ 1CH086 RH080 -9.171 RH081 -6.286
+ 1CH086 RH083 49. RH084 5.623
+ CH087 1RH025 -1. RH048 1.
+ CH087 RH085 -6.926 RH086 -26.286
+ CH087 RH088 49. RH089 5.623
+ CH089 RH018 -.2 RH019 -.8
+ CH089 RH043 1. RH080 2.487
+ CH089 RH081 -6.927 RH082 -7.4
+ CH089 RH083 -15. RH084 7.987
+ 1CH089 RH018 -.18 2RH018 -.82
+ 1CH089 RH043 1. RH080 1.076
+ 1CH089 RH081 -6.849 RH082 -8.
+ 1CH089 RH083 -14. RH084 7.987
+ 2CH089 RH018 -.18 1RH019 -.82
+ 2CH089 RH043 1. RH080 .921
+ 2CH089 RH081 -6.841 RH082 -8.5
+ 2CH089 RH083 -8. RH084 7.987
+ CH090 RH018 -.2 RH019 -.8
+ CH090 RH048 1. RH085 4.782
+ CH090 RH086 -28.967 RH087 -7.4
+ CH090 RH088 -15. RH089 7.987
+ 1CH090 RH018 -.18 2RH018 -.82
+ 1CH090 RH048 1. RH085 3.321
+ 1CH090 RH086 -28.643 RH087 -8.
+ 1CH090 RH088 -14. RH089 7.987
+ 2CH090 RH018 -.18 1RH019 -.82
+ 2CH090 RH048 1. RH085 3.166
+ 2CH090 RH086 -28.607 RH087 -8.5
+ 2CH090 RH088 -8. RH089 7.987
+ CH093 RH018 -.22 2RH018 -.78
+ CH093 1RH025 .2 RH041 .8
+ CH093 RH056 1.488 RH096 -.021
+ 1CH093 RH018 -.22 3RH018 -.78
+ 1CH093 1RH025 .2 RH041 .8
+ 1CH093 RH056 1.488 RH096 -.021
+ CH097 RH019 -1. RH043 1.
+ CH097 RH080 1.699 RH081 -6.884
+ CH097 RH082 -6.8 RH083 -14.
+ CH097 RH084 2.987
+ 1CH097 2RH018 -1. RH043 1.
+ 1CH097 RH080 .152 RH081 -6.799
+ 1CH097 RH082 -7.8 RH083 -11.
+ 1CH097 RH084 2.987
+ 2CH097 1RH019 -1. RH043 1.
+ 2CH097 RH081 -6.79 RH082 -8.3
+ 2CH097 RH083 -6.5 RH084 2.987
+ CH098 RH019 -1. RH048 1.
+ CH098 RH085 3.944 RH086 -28.786
+ CH098 RH087 -6.8 RH088 -14.
+ CH098 RH089 2.987
+ 1CH098 2RH018 -1. RH048 1.
+ 1CH098 RH085 2.397 RH086 -28.43
+ 1CH098 RH087 -7.8 RH088 -11.
+ 1CH098 RH089 2.987
+ 2CH098 1RH019 -1. RH048 1.
+ 2CH098 RH085 2.244 RH086 -28.395
+ 2CH098 RH087 -8.3 RH088 -6.5
+ 2CH098 RH089 2.987
+ CH101 RH020 -1. RH043 1.
+ CH101 RH080 -3.697 RH081 10.778
+ CH101 RH082 1.3 RH083 -9.
+ CH101 RH084 -2.795
+ 1CH101 RH020 -1. RH043 .98
+ 1CH101 RH062 .0098 RH080 -2.488
+ 1CH101 RH081 10.665 RH082 -8.33
+ 1CH101 RH083 -11.76 RH084 -2.674
+ 1CH101 RH096 -.023 RH113 .013
+ CH102 RH020 -1. RH048 1.
+ CH102 RH085 -1.452 RH086 -10.18
+ CH102 RH087 1.3 RH088 -9.
+ CH102 RH089 -2.795
+ 1CH102 RH020 -1. RH048 .98
+ 1CH102 RH062 .0098 RH085 -.288
+ 1CH102 RH086 -10.073 RH087 -8.33
+ 1CH102 RH088 -11.76 RH089 -2.674
+ 1CH102 RH096 -.023 RH113 .013
+ CH105 RH021 -1. RH043 1.
+ CH105 RH080 -4.551 RH081 10.702
+ CH105 RH082 -1.5 RH083 -6.
+ CH105 RH084 -2.729
+ CH106 RH021 -1. RH048 1.
+ CH106 RH085 -2.306 RH086 -10.107
+ CH106 RH087 -1.5 RH088 -4.5
+ CH106 RH089 -2.729
+ CH112 1RH021 -1. RH043 1.
+ CH112 RH080 -5.532 RH081 12.264
+ CH112 RH082 -4.5 RH083 -2.5
+ CH112 RH084 -2.729
+ CH113 1RH021 -1. RH048 1.
+ CH113 RH085 -3.287 RH086 -8.373
+ CH113 RH087 -4.5 RH088 -2.5
+ CH113 RH089 -2.729
+ CH114 RH024 -1. RH043 1.
+ CH114 RH080 -6.77 RH081 13.769
+ CH114 RH082 -2.2 RH084 -2.729
+ CH115 RH024 -1. RH048 1.
+ CH115 RH085 -4.526 RH086 -6.651
+ CH115 RH087 -2.2 RH089 -2.729
+ CH119 RH026 -1. RH028 .07
+ CH119 RH029 .459 RH030 .471
+ CH119 RH060 1. RH096 -.027
+ 2CH119 2RH017 -1. RH028 .08
+ 2CH119 RH029 .537 3RH030 .383
+ 2CH119 RH060 1. RH096 -.027
+ CH121 RH027 -1. RH028 .113
+ CH121 RH029 .525 RH030 .362
+ CH121 RH060 1.007 RH096 -.027
+ CH122 4RH022 1.777 RH026 -8.174
+ CH122 RH028 .572 RH029 2.195
+ CH122 RH030 2.61 RH050 1.
+ CH122 RH060 8.174 RH096 -.651
+ CH124 4RH022 1.777 RH027 -7.147
+ CH124 RH028 .808 RH029 2.195
+ CH124 RH030 1.347 RH050 1.
+ CH124 RH060 7.2 RH096 -.624
+ CH126 RH028 -1. RH048 1.
+ CH126 RH085 -6.005 RH086 8.065
+ CH126 RH087 8.5 RH088 4.5
+ CH126 RH089 -3.281
+ 1CH126 1RH028 -1. RH048 1.
+ 1CH126 RH085 -6.926 RH086 8.
+ 1CH126 RH087 6. RH088 10.
+ 1CH126 RH089 -3.281
+ 2CH126 1RH028 -.6 RH029 -.4
+ 2CH126 RH048 1. RH085 -7.576
+ 2CH126 RH086 58.523 RH087 7.
+ 2CH126 RH088 11. RH089 -2.95
+ 3CH126 RH028 -.8 RH029 -.2
+ 3CH126 RH048 1. RH085 -6.334
+ 3CH126 RH086 21. RH087 9.25
+ 3CH126 RH088 5.25 RH089 -2.953
+ CH128 RH028 -1. RH043 1.
+ CH128 RH080 -8.25 RH081 28.226
+ CH128 RH082 8.5 RH083 4.5
+ CH128 RH084 -3.281
+ 1CH128 1RH028 -1. RH043 1.
+ 1CH128 RH080 -9.171 RH081 28.
+ 1CH128 RH082 6. RH083 10.
+ 1CH128 RH084 -3.281
+ 1CH130 R0000 .15 RH007 .022
+ 1CH130 RH008 .007 RH009 .037
+ 1CH130 RH012 .157 RH013 .119
+ 1CH130 RH025 .222 2RH025 .322
+ 1CH130 RH029 -1. RH061 1.
+ 1CH130 RH096 -.047 RH114 .069
+ 1CH131 R0000 .15 RH007 .028
+ 1CH131 RH008 .009 RH009 .049
+ 1CH131 RH012 .176 RH013 .122
+ 1CH131 RH025 .227 2RH025 .268
+ 1CH131 RH029 -1. RH061 1.138
+ 1CH131 RH096 -.047 RH114 .073
+ 2CH131 R0000 .15 RH007 .035
+ 2CH131 RH008 .011 RH009 .06
+ 2CH131 RH012 .195 RH013 .126
+ 2CH131 RH025 .228 2RH025 .216
+ 2CH131 RH029 -1. RH061 1.222
+ 2CH131 RH096 -.047 RH114 .077
+ CH134 RH025 -1. RH043 1.
+ CH134 RH080 -14.168 RH081 12.896
+ CH134 RH082 15. RH083 40.5
+ CH134 RH084 -2.729
+ CH135 RH025 -1. RH048 1.
+ CH135 RH085 -11.923 RH086 -6.23
+ CH135 RH087 15. RH088 40.5
+ CH135 RH089 -2.729
+ 1CH140 RH048 -1. 2RH048 1.
+ 1CH140 RH085 -.739 RH086 6.951
+ 1CH140 RH087 3. RH088 -5.
+ 2CH140 RH048 -1. 3RH048 1.
+ 2CH140 RH085 -.739 RH086 -5.732
+ 2CH140 RH087 3. RH088 -5.
+ CH143 1RH018 -1. RH096 1.
+ CH144 RH020 -1. RH096 1.
+ CH145 RH025 -1. RH096 1.
+ CH146 RH028 -1. RH096 1.
+ CH150 RH039 -1. RH096 1.11
+ CH150 UKLDF 1.
+ CH151 RH052 -1. RH096 1.
+ 1CH151 RH029 -1. RH096 1.
+ 2CH151 RH013 -1. RH096 1.1
+ CH153 RH042 -1. 2RH042 1.
+ CH155 RH018 -.49 3RH018 -.51
+ CH155 RH042 1. RH096 -.002
+ CH156 RH018 -.64 RH019 -.36
+ CH156 RH042 1. RH096 -.002
+ 1CH156 1RH018 1. 2RH018 -1.
+ 2CH156 2RH018 1. 3RH018 -1.
+ 3CH156 1RH018 1. RH019 -1.
+ 4CH156 1RH018 1. 1RH019 -1.
+ CH180 RH001 1.151 2RH001 1.01
+ CH180 RH007 .0022 RH008 .0088
+ CH180 1RH008 .002 RH010 .065
+ CH180 RH016 .157 RH018 .03
+ CH180 RH019 .09 RH020 .083
+ CH180 2RH025 .005 RH026 .551
+ CH180 RH096 -.017 RH107 1.151
+ CH180 1RH107 -1. RH113 .004
+ 1CH180 RH001 1.151 2RH001 1.01
+ 1CH180 RH007 .0022 RH008 .0088
+ 1CH180 1RH008 .002 RH010 .065
+ 1CH180 RH016 .157 RH018 .03
+ 1CH180 RH019 .09 RH020 .083
+ 1CH180 2RH025 .005 RH026 .551
+ 1CH180 RH096 -.017 RH113 .004
+ CH183 RH001 1.1 RH005 1.01
+ CH183 RH007 .0012 RH008 .0018
+ CH183 1RH008 .0003 RH010 .025
+ CH183 RH015 .138 RH018 .037
+ CH183 RH019 .161 1RH021 .178
+ CH183 2RH025 .014 1RH026 .441
+ CH183 RH096 -.017 RH107 1.1
+ CH183 1RH107 1. RH113 .0007
+ CH188 1RH008 -1. RH113 1.
+ CH189 RH096 1.16 RH113 -1.
+ CH190 RH096 1.16 RH114 -1.
+ CH196 RH034 -1. 1RH034 1.
+ CH196 RH063 -.94 2RH106 1.
+ CH197 RH035 -1. 1RH035 1.
+ CH197 RH067 1.745 2RH106 1.
+ CH200 RH036 -1. 1RH036 1.
+ CH200 RH072 7.31 2RH106 1.
+ CH300 RH052 -1. 4RH052 1.
+ CH300 1RH093 -5. RH094 11.
+ 1CH302 R0000 .15 RH007 .014
+ 1CH302 RH008 .007 RH009 .039
+ 1CH302 RH012 .15 RH013 .14
+ 1CH302 1RH024 .215 2RH025 .27
+ 1CH302 1RH029 -1. RH061 1.138
+ 1CH302 RH096 -.047 RH114 .08
+ CH303 2RH023 -1. RH046 1.
+ CH303 1RH089 2.457 2RH089 -17.
+ CH303 3RH089 -3.04
+ CH304 1RH024 -1. RH046 1.
+ CH304 1RH089 -5.8 2RH089 34.
+ CH304 3RH089 -11.422
+ CH305 2RH028 -1. RH046 1.
+ CH305 1RH089 -.85 2RH089 -16.
+ CH305 3RH089 2.934
+ CH306 2RH023 -1. RH043 1.
+ CH306 RH080 -1.95 RH081 23.69
+ CH306 RH082 -9.2 RH083 -18.
+ CH306 RH084 -3.486
+ CH307 2RH023 -1. RH048 1.
+ CH307 RH085 .295 RH086 2.43
+ CH307 RH087 -9.2 RH088 -18.
+ CH307 RH089 -3.486
+ CH310 1RH024 -1. RH048 1.
+ CH310 RH085 -7.96 RH086 -6.23
+ CH310 RH087 -8.3 RH088 33.
+ CH310 RH089 -2.733
+ CH311 1RH024 -1. RH043 1.
+ CH311 RH080 -10.21 RH081 12.896
+ CH311 RH082 -8.3 RH083 33.
+ CH311 RH084 -2.733
+ CH314 2RH028 -1. RH048 1.
+ CH314 RH085 -3.01 RH086 8.065
+ CH314 RH087 -8. RH088 -17.
+ CH314 RH089 -3.281
+ CH360 RH018 .0235 1RH019 -.4382
+ CH360 RH024 -.5393 1RH025 -.046
+ CH360 2RH043 1.
+ CH361 RH018 .0235 1RH019 -.4842
+ CH361 RH024 -.5393 2RH043 1.
+ CH362 RH018 .0275 2RH018 -.5444
+ CH362 RH021 -.5576 2RH043 1.
+ CH362 RH048 .0745 RH085 -2.445
+ CH362 RH087 -.0745 RH088 -.447
+ CH363 RH018 .0275 3RH018 -.5444
+ CH363 RH021 -.5576 2RH043 1.
+ CH363 RH048 .0745 RH085 -2.445
+ CH363 RH087 -.0745 RH088 -.447
+ CH401 RH018 -1. RH053 1.
+ CH401 RH115 -32.68 RH116 31.2
+ CH401 RH117 -78. RH118 -38.
+ CH401 1RH118 95.
+ CH404 RH018 -1. RH052 1.
+ CH404 RH093 -36.73 1RH093 -25.
+ CH404 RH094 -38. RH110 36.06
+ CH406 1RH018 -1. RH053 1.
+ CH406 RH115 -25.16 RH116 24.68
+ CH406 RH117 -71. RH118 -36.2
+ CH406 1RH118 -5.
+ CH408 1RH018 -1. RH109 1.
+ CH408 1RH109 -25.15 2RH109 -18.43
+ CH409 1RH018 -1. RH052 1.
+ CH409 RH093 -29.21 1RH093 -32.
+ CH409 RH094 -35.8 RH110 28.54
+ CH410 RH048 -1. RH051 1.
+ CH410 RH085 1.88 RH086 -5.609
+ CH410 RH087 -1. RH088 2.
+ CH410 RH090 -16.58 1RH090 -16.
+ CH410 2RH090 15.25 RH091 -18.
+ CH410 RH103 1. RH108 -30.
+ CH411 RH048 -1. RH053 1.
+ CH411 RH085 1.88 RH086 -5.609
+ CH411 RH087 -1. RH088 2.
+ CH411 RH115 -20.38 RH116 18.9
+ CH411 RH117 -48. RH118 28.
+ CH411 1RH118 -5.
+ CH413 RH048 -1. RH085 1.88
+ CH413 RH086 -5.609 RH087 -1.
+ CH413 RH088 2. RH109 1.
+ CH413 1RH109 -20.38 2RH109 18.9
+ CH414 RH048 -1. RH052 1.
+ CH414 RH085 1.88 RH086 -5.609
+ CH414 RH087 -1. RH088 2.
+ CH414 RH093 -24.43 1RH093 -53.
+ CH414 RH094 -28. RH110 23.76
+ CH415 2RH025 -1. RH053 1.
+ CH415 RH115 -9.11 RH116 7.63
+ CH415 RH117 -10. RH118 -10.
+ CH415 1RH118 -5.
+ CH417 2RH025 -1. RH052 1.
+ CH417 RH093 -13.16 1RH093 -15.
+ CH417 RH094 -10. RH110 12.49
+ CH419 RH026 -1. RH053 1.
+ CH419 RH115 2.54 RH116 -4.02
+ CH419 RH117 -6. RH118 -.9
+ CH419 1RH118 -5.
+ CH421 RH026 -1. RH052 1.
+ CH421 RH093 -1.51 1RH093 -11.
+ CH421 RH094 -.9 RH110 .84
+ CH423 RH027 -1. RH053 1.
+ CH423 RH115 .55 RH116 -2.03
+ CH423 RH117 1. RH118 -3.9
+ CH423 1RH118 -5.
+ CH425 RH027 -1. RH052 1.
+ CH425 RH093 -3.5 1RH093 -4.
+ CH425 RH094 -3.9 RH110 2.83
+ CH427 2RH017 -1. RH053 1.
+ CH427 RH115 -1.82 RH116 .34
+ CH427 RH117 11. RH118 -14.
+ CH427 1RH118 -5.
+ CH430 2RH017 -1. RH052 1.
+ CH430 RH093 -5.87 1RH093 6.
+ CH430 RH094 -14. RH110 5.2
+ CH432 RH017 -1. RH053 1.
+ CH432 RH115 .86 RH116 -2.34
+ CH432 RH117 1. RH118 -16.
+ CH432 1RH118 -5.
+ CH434 RH017 -1. RH052 1.
+ CH434 RH093 -3.19 1RH093 -4.
+ CH434 RH094 -16. RH110 2.52
+ CH435 1RH017 -1. RH051 1.
+ CH435 RH090 8.9 1RH090 16.
+ CH435 2RH090 -10.15 RH091 -4.5
+ CH435 RH103 1. RH108 -30.
+ CH437 1RH017 -1. RH109 1.
+ CH437 1RH109 5.02 2RH109 -6.5
+ CH438 1RH017 -1. RH052 1.
+ CH438 RH093 .97 1RH093 -21.
+ CH438 RH094 -14.5 RH110 -1.64
+ CH442 2RH026 -1. RH053 1.
+ CH442 RH115 2.57 RH116 -4.05
+ CH442 RH117 34. RH118 -35.5
+ CH442 1RH118 -5.
+ CH444 2RH026 -1. RH052 1.
+ CH444 RH093 -1.48 1RH093 29.
+ CH444 RH094 -35.5 RH110 .81
+ CH445 1RH026 -1. RH053 1.
+ CH445 RH115 -2.03 RH116 .55
+ CH445 RH117 57. RH118 -35.5
+ CH445 1RH118 -5.
+ CH447 1RH026 -1. RH052 1.
+ CH447 RH093 -6.08 1RH093 52.
+ CH447 RH094 -35.5 RH110 5.41
+ CH448 1RH027 -1. RH053 1.
+ CH448 RH115 .52 RH116 -2.
+ CH448 RH117 71. RH118 -36.7
+ CH448 1RH118 -5.
+ CH450 1RH027 -1. RH052 1.
+ CH450 RH093 -3.53 1RH093 66.
+ CH450 RH094 -36.7 RH110 2.86
+ CH451 RH030 -1. RH051 1.
+ CH451 RH090 17.72 1RH090 3.
+ CH451 2RH090 -19.05 RH091 23.
+ CH451 RH103 1. RH108 -30.
+ CH452 RH030 -1. RH053 1.
+ CH452 RH115 13.92 RH116 -15.4
+ CH452 RH117 -29. RH118 13.
+ CH452 1RH118 -5.
+ CH454 RH030 -1. RH052 1.
+ CH454 RH093 9.87 1RH093 -34.
+ CH454 RH094 13. RH110 -10.54
+ CH455 3RH030 -1. RH051 1.
+ CH455 RH090 13.23 2RH090 -14.56
+ CH455 RH091 6. RH103 1.
+ CH455 RH108 -30.
+ CH456 3RH030 -1. RH053 1.
+ CH456 RH115 9.43 RH116 -10.91
+ CH456 RH117 -32. RH118 -4.
+ CH456 1RH118 -5.
+ CH459 3RH030 -1. RH052 1.
+ CH459 RH093 5.38 1RH093 -37.
+ CH459 RH094 -4. RH110 -6.05
+ CH460 2RH030 -1. RH051 1.
+ CH460 RH090 16.41 1RH090 11.
+ CH460 2RH090 -17.74 RH091 2.6
+ CH460 RH103 1. RH108 -30.
+ CH461 2RH030 -1. RH053 1.
+ CH461 RH115 12.61 RH116 -14.09
+ CH461 RH117 -21. RH118 -7.4
+ CH461 1RH118 -5.
+ CH464 2RH030 -1. RH052 1.
+ CH464 RH093 8.56 1RH093 -26.
+ CH464 RH094 -7.4 RH110 -9.23
+ CH465 1RH030 -1. RH051 1.
+ CH465 RH090 18.45 1RH090 2.
+ CH465 2RH090 -19.79 RH103 1.
+ CH465 RH108 -30.
+ CH467 1RH030 -1. RH109 1.
+ CH467 1RH109 14.66 2RH109 -16.14
+ CH468 1RH030 -1. RH052 1.
+ CH468 RH093 10.61 1RH093 -35.
+ CH468 RH094 -10. RH110 -11.28
+ CH472 1RH033 -1. RH053 1.
+ CH472 RH115 9.82 RH116 -11.3
+ CH472 RH117 51. RH118 -34.2
+ CH472 1RH118 -5.
+ CH474 1RH033 -1. RH052 1.
+ CH474 RH093 5.77 1RH093 46.
+ CH474 RH094 -34.2 RH110 -6.44
+ CH475 2RH033 -1. RH053 1.
+ CH475 RH115 7.32 RH116 -8.8
+ CH475 RH117 59. RH118 -34.5
+ CH475 1RH118 -5.
+ CH477 2RH033 -1. RH052 1.
+ CH477 RH093 3.27 1RH093 54.
+ CH477 RH094 -34.5 RH110 -3.94
+ CH478 4RH030 -1. RH053 1.
+ CH478 RH115 11.19 RH116 -12.67
+ CH478 RH117 71. RH118 -35.
+ CH478 1RH118 -5.
+ CH480 4RH030 -1. RH052 1.
+ CH480 RH093 7.14 1RH093 66.
+ CH480 RH094 -35. RH110 -7.81
+ CH481 RH022 .934 RH030 -1.
+ CH481 RH096 .032 RH099 1.
+ CH481 RH113 .016
+ CH482 RH022 .467 RH030 -1.
+ CH482 RH051 .467 RH090 10.409
+ CH482 1RH090 3.736 2RH090 -6.361
+ CH482 RH091 10.04 RH096 .032
+ CH482 RH099 1. RH103 .467
+ CH482 RH108 32.69 RH113 .016
+ CH483 RH022 -1. RH053 1.
+ CH483 RH115 8.49 RH116 -9.97
+ CH483 RH117 -24. RH118 11.5
+ CH483 1RH118 -5.
+ CH485 RH022 -1. RH052 1.
+ CH485 RH093 4.44 1RH093 -29.
+ CH485 RH094 11.5 RH110 -5.11
+ CH486 1RH022 .934 3RH030 -1.
+ CH486 RH096 .032 RH099 1.
+ CH486 RH113 .016
+ CH487 1RH022 .467 3RH030 -1.
+ CH487 RH051 .467 RH090 5.193
+ CH487 1RH090 1.401 2RH090 -5.814
+ CH487 RH091 3.876 RH096 .032
+ CH487 RH099 1. RH103 .467
+ CH487 RH108 32.69 RH113 .016
+ CH488 1RH022 -1. RH053 1.
+ CH488 RH115 7.32 RH116 -8.8
+ CH488 RH117 -29. RH118 -1.7
+ CH488 1RH118 -5.
+ CH491 1RH022 -1. RH052 1.
+ CH491 RH093 3.27 1RH093 -34.
+ CH491 RH094 -1.7 RH110 -3.94
+ CH492 2RH022 .934 2RH030 -1.
+ CH492 RH096 .032 RH099 1.
+ CH492 RH113 .016
+ CH493 2RH022 .467 2RH030 -1.
+ CH493 RH051 .467 RH090 10.656
+ CH493 1RH090 6.071 2RH090 -6.608
+ CH493 RH091 2.148 RH096 .032
+ CH493 RH099 1. RH103 .467
+ CH493 RH108 32.69 RH113 .016
+ CH494 2RH022 -1. RH053 1.
+ CH494 RH115 9.02 RH116 -10.05
+ CH494 RH117 -19. RH118 -5.4
+ CH494 1RH118 -5.
+ CH497 2RH022 -1. RH052 1.
+ CH497 RH093 4.97 1RH093 -24.
+ CH497 RH094 -5.4 RH110 -5.64
+ CH498 3RH022 .934 1RH030 -1.
+ CH498 RH096 .032 RH099 1.
+ CH498 RH113 .016
+ CH499 3RH022 .467 1RH030 -1.
+ CH499 RH051 .467 RH090 10.676
+ CH499 1RH090 1.401 2RH090 -6.627
+ CH499 RH091 .934 RH096 .032
+ CH499 RH099 1. RH103 .467
+ CH499 RH108 32.69 RH113 .016
+ CH501 3RH022 -1. RH109 1.
+ CH501 1RH109 9.06 2RH109 -10.54
+ CH502 3RH022 -1. RH052 1.
+ CH502 RH093 5.03 1RH093 -34.
+ CH502 RH094 -8. RH110 -5.68
+ CH503 RH029 -1. RH053 1.
+ CH503 RH115 -5.18 RH116 3.7
+ CH503 RH117 48. RH118 -16.
+ CH503 1RH118 -5.
+ CH505 RH029 -1. RH052 1.
+ CH505 RH093 -9.23 1RH093 43.
+ CH505 RH094 -16. RH110 8.56
+ CH506 1RH029 -1. RH053 1.
+ CH506 RH115 -6.03 RH116 4.55
+ CH506 RH117 91. RH118 -37.6
+ CH506 1RH118 -5.
+ CH508 1RH029 -1. RH052 1.
+ CH508 RH093 -10.08 1RH093 86.
+ CH508 RH094 -37.7 RH110 9.41
+ CH509 RH020 .09 RH029 -1.
+ CH509 RH053 .78 RH096 .076
+ CH509 RH099 1. RH113 .04
+ CH509 RH115 -6.29 RH116 5.
+ CH509 RH117 5.22 RH118 -11.31
+ CH509 1RH118 -4.35
+ CH511 RH020 .09 RH029 -1.
+ CH511 RH052 .78 RH093 -9.81
+ CH511 1RH093 .87 RH094 -11.31
+ CH511 RH096 .076 RH099 1.
+ CH511 RH110 9.23 RH113 .04
+ CH512 2RH023 .09 1RH029 -1.
+ CH512 RH053 .78 RH096 .076
+ CH512 RH099 1. RH113 .04
+ CH512 RH115 -8.74 RH116 8.33
+ CH512 RH117 31.3 RH118 -32.45
+ CH512 1RH118 -4.35
+ CH514 2RH023 .09 1RH029 -1.
+ CH514 RH052 .78 RH093 -12.27
+ CH514 1RH093 27. RH094 -32.45
+ CH514 RH096 .076 RH099 1.
+ CH514 RH110 11.68 RH113 .04
+ CH515 4RH022 -1. RH053 1.
+ CH515 RH115 10.17 RH116 -11.65
+ CH515 RH117 -12. RH118 15.
+ CH515 1RH118 -5.
+ CH517 4RH022 -1. RH052 1.
+ CH517 RH093 6.12 1RH093 -17.
+ CH517 RH094 15. RH110 -6.79
+ CH518 RH001 1. 1RH001 1.01
+ CH518 RH007 .0024 RH008 .0099
+ CH518 1RH008 .0022 RH010 .0382
+ CH518 RH016 .1081 RH018 .0242
+ CH518 RH019 .101 RH020 .0929
+ CH518 2RH025 .005 RH026 .394
+ CH518 1RH028 .0151 RH029 .0988
+ CH518 RH030 .1014 1RH060 .2153
+ CH518 RH096 -.0228 RH107 1.
+ CH518 1RH107 -1. RH113 .0048
+ CH519 RH001 1.151 2RH001 1.01
+ CH519 RH007 .0022 RH008 .0088
+ CH519 1RH008 .002 RH010 .065
+ CH519 RH016 .157 RH018 .03
+ CH519 RH019 .09 RH020 .083
+ CH519 2RH025 .007 RH026 .3019
+ CH519 1RH028 .0174 RH029 .1143
+ CH519 RH030 .1174 1RH060 .2491
+ CH519 RH096 -.0237 RH107 1.151
+ CH519 1RH107 -1. RH113 .004
+ CH520 RH001 1.027 RH003 1.01
+ CH520 RH007 .0039 RH008 .0092
+ CH520 1RH008 .0004 RH010 .0485
+ CH520 RH016 .1344 RH018 .0394
+ CH520 RH019 .1373 RH020 .107
+ CH520 2RH025 .005 RH027 .2999
+ CH520 1RH028 .0251 RH029 .1168
+ CH520 RH030 .0805 1RH060 .2224
+ CH520 RH096 -.023 RH107 1.027
+ CH520 1RH107 -1. RH113 .0006
+ CH521 RH001 1.1 RH006 1.01
+ CH521 RH007 .002 RH008 .0072
+ CH521 1RH008 .0005 RH010 .0378
+ CH521 RH016 .1495 2RH017 .2627
+ CH521 RH018 .0436 3RH018 .1228
+ CH521 RH021 .1257 2RH025 .005
+ CH521 1RH028 .0191 RH029 .1279
+ CH521 3RH030 .0912 1RH060 .2382
+ CH521 RH096 -.0234 RH107 1.1
+ CH521 1RH107 -1. RH113 .003
+ CH522 RH001 1.1 RH002 1.01
+ CH522 RH007 .0024 RH008 .009
+ CH522 1RH008 .0019 RH010 .0259
+ CH522 RH015 .1192 RH017 .2843
+ CH522 RH018 .0354 2RH018 .1273
+ CH522 RH021 .1333 2RH025 .005
+ CH522 1RH028 .0198 RH029 .1327
+ CH522 2RH030 .0956 1RH060 .2481
+ CH522 RH096 -.0237 RH107 1.1
+ CH522 1RH107 -1. RH113 .0062
+ CH524 RH001 1.1 1RH005 1.01
+ CH524 RH007 .0002 RH008 .0004
+ CH524 1RH008 .0003 RH010 .0236
+ CH524 RH015 .07 RH018 .03
+ CH524 RH019 .15 RH023 .22
+ CH524 2RH025 .005 2RH026 .2619
+ CH524 1RH028 .019 1RH029 .0834
+ CH524 1RH033 .1357 1RH060 .2381
+ CH524 RH096 -.0234 RH107 1.1
+ CH524 1RH107 -1. RH113 .0005
+ CH525 RH001 1.1 RH005 1.01
+ CH525 RH007 .0012 RH008 .0018
+ CH525 1RH008 .0003 RH010 .025
+ CH525 RH015 .138 RH018 .037
+ CH525 RH019 .161 1RH021 .178
+ CH525 2RH025 .014 1RH026 .2032
+ CH525 1RH028 .026 1RH029 .1424
+ CH525 2RH033 .069 1RH060 .2378
+ CH525 RH096 -.0234 RH107 1.1
+ CH525 1RH107 1. RH113 .0007
+ CHF28 RH051 -1. 1RH051 1.
+ CHF28 RH091 3.
+ 1CHF29 2RH051 1. RH052 -1.
+ 1CHF29 1RH093 -3. RH094 5.
+ CHF35 RH052 -1. 3RH052 1.
+ CHF35 RH093 3.08 RH094 5.
+ CHF35 RH110 -3.19
+ CHF48 RH053 -1. 3RH053 1.
+ CHF48 RH117 -3. RH118 5.
+ CHF80 RH052 -1. 2RH052 1.
+ CHF80 RH094 5.
+ CHF82 RH053 -1. 2RH053 1.
+ CHF82 RH115 -1.05 RH116 1.67
+ CHF82 RH117 -5. RH118 15.
+ C1002 R1002 1.01 R1008 .0005
+ C1002 R1012 .012 R1013 .0775
+ C1002 R1015 .09 R1016 .031
+ C1002 R1017 .026 R1018 .134
+ C1002 R1019 .141 R1022 .051
+ C1002 R1025 .437 R1039 -.026
+ C1002 R1071 1.028 1R1071 .973
+ C1002 2R1071 1.
+ C1003 R1003 1.01 R1008 .0025
+ C1003 R1010 .003 R1012 .011
+ C1003 R1013 .0635 R1015 .064
+ C1003 R1016 .022 R1017 .022
+ C1003 R1018 .103 R1019 .118
+ C1003 R1022 .044 R1026 .547
+ C1003 R1039 -.0212 R1071 1.
+ C1003 1R1071 1. 2R1071 1.
+ C1004 R1004 1.01 R1008 .0025
+ C1004 R1010 .0025 R1012 .01
+ C1004 R1014 .065 R1015 .082
+ C1004 R1016 .026 R1017 .026
+ C1004 R1018 .127 R1020 .141
+ C1004 R1023 .054 R1027 .464
+ C1004 R1039 -.0247 R1071 1.018
+ C1004 1R1071 .973 2R1071 1.
+ C1005 R1005 1.01 R1008 .0016
+ C1005 R1010 .0022 R1012 .011
+ C1005 R1014 .0642 R1015 .081
+ C1005 R1016 .02 R1017 .025
+ C1005 R1018 .112 1R1019 .127
+ C1005 R1022 .046 R1028 .51
+ C1005 R1039 -.0212 R1071 .999
+ C1005 1R1071 1. 2R1071 1.
+ 1C1005 R1005 .808 1R1006 .202
+ 1C1005 2R1006 .202 R1008 .0017
+ 1C1005 R1010 .002 R1012 .0104
+ 1C1005 R1014 .0621 R1015 .0778
+ 1C1005 R1016 .021 R1017 .025
+ 1C1005 R1018 .1096 3R1021 .1256
+ 1C1005 R1023 .0498 1R1027 .515
+ 1C1005 R1039 -.0213 R1071 1.004
+ 1C1005 1R1071 1.0032 2R1071 1.
+ 1C1006 1R1007 1.01 R1008 .0035
+ 1C1006 R1010 .0005 R1012 .007
+ 1C1006 R1013 .067 R1015 .107
+ 1C1006 R1016 .032 R1017 .033
+ 1C1006 R1018 .17 1R1020 .158
+ 1C1006 R1023 .057 1R1028 .365
+ 1C1006 R1039 -.0247 R1071 1.052
+ 1C1006 1R1071 .95 2R1071 1.
+ C1007 R1007 1.01 R1008 .001
+ C1007 R1012 .004 R1013 .044
+ C1007 R1015 .093 R1016 .027
+ C1007 R1017 .03 R1018 .141
+ C1007 1R1021 .193 R1024 .069
+ C1007 R1029 .398 R1039 -.0264
+ C1007 R1071 1.024 1R1071 .992
+ C1007 2R1071 1.
+ C1008 1R1004 1.01 R1008 .001
+ C1008 R1010 .001 R1012 .002
+ C1008 R1013 .037 R1015 .048
+ C1008 R1016 .02 R1017 .02
+ C1008 R1018 .138 2R1021 .266
+ C1008 R1024 .031 2R1028 .436
+ C1008 R1039 -.0264 R1071 .973
+ C1008 1R1071 .992 2R1071 1.
+ 1C1008 1R1004 .808 1R1006 .202
+ 1C1008 2R1006 .202 R1008 .0012
+ 1C1008 R1010 .001 R1012 .0032
+ 1C1008 R1013 .0404 R1015 .0514
+ 1C1008 R1016 .021 R1017 .021
+ 1C1008 R1018 .1304 R1021 .2368
+ 1C1008 R1024 .0378 2R1028 .4558
+ 1C1008 R1039 -.0254 R1071 .9834
+ 1C1008 1R1071 .9968 2R1071 1.
+ C1009 R1002 .7575 1R1006 .2525
+ C1009 2R1006 .2525 R1008 .0009
+ C1009 R1010 .0003 R1012 .011
+ C1009 R1013 .0716 R1015 .0838
+ C1009 R1016 .0296 R1017 .0258
+ C1009 R1018 .1255 3R1021 .1357
+ C1009 R1023 .0546 3R1028 .4612
+ C1009 R1039 -.0248 R1071 1.0273
+ C1009 1R1071 .9838 2R1071 1.
+ 2C1009 R1003 .7575 1R1006 .2525
+ 2C1009 2R1006 .2525 R1008 .0024
+ 2C1009 R1010 .0026 R1012 .0103
+ 2C1009 R1013 .0611 R1015 .0643
+ 2C1009 R1016 .0228 R1017 .0228
+ 2C1009 R1018 .1022 3R1021 .1185
+ 2C1009 R1023 .0493 3R1028 .5437
+ 2C1009 R1039 -.0212 R1071 1.0063
+ 2C1009 1R1071 1.004 2R1071 1.
+ C1012 R1008 -1. R1039 1.19
+ C1013 R1009 -1. R1039 1.19
+ 1C1013 R0000 -16. R1009 -1.
+ 1C1013 1R1009 1.
+ C1015 R0000 16.7 R1010 1.
+ 1C1015 R1009 1. R1010 -1.
+ C1016 R0000 -11.5 1R1009 1.
+ C1016 R1012 -1.
+ C1017 R1008 1. R1010 -1.
+ C1018 R0000 12. R1012 1.
+ C1020 R1008 1. R1012 -1.
+ C1021 R0000 .228 R1012 -1.
+ C1021 R1046 1. R1075 -6.38
+ C1021 R1076 -.579 R1077 -91.399899
+ C1021 R1078 225.899897
+ C1022 R0000 .114 R1012 -1.
+ C1022 R1050 1. R1079 -23.8
+ C1022 R1080 -.772 R1081 -91.399899
+ C1022 R1082 225.899897
+ C1023 R1014 -1. R1039 1.11
+ C1023 1R1039 1. R1042 -1.
+ 1C1023 R1013 -1. R1014 1.
+ C1024 R0000 .196 R1014 -1.
+ C1024 R1046 1. R1075 18.22
+ C1024 R1076 -.498 R1077 -63.7
+ C1024 R1078 28.1
+ C1025 R0000 .098 R1014 -1.
+ C1025 R1050 1. R1079 9.33
+ C1025 R1080 -.664 R1081 -63.7
+ C1025 R1082 28.1
+ C1026 R1014 -1. R1055 1.
+ C1026 UKLDF -1.
+ 1C1027 R1013 -1. R1054 1.
+ 1C1027 R1070 1. UKLDF -1.
+ C1028 R1015 -1. R1039 1.11
+ C1028 1R1039 1. R1042 -1.
+ C1029 R0000 .09 R1015 -1.
+ C1029 R1050 1. R1079 22.2
+ C1029 R1080 -.61 R1081 30.
+ C1029 R1082 -36.8
+ C1030 R1015 -1. R1055 1.
+ C1030 UKLDF -1.
+ C1032 R1016 -1. R1055 1.
+ C1032 UKLDF -1.
+ C1034 R1016 -1. R1062 1.
+ C1034 R1091 10.58 R1092 -8.5
+ C1034 R1093 -21.48 R1094 56.8
+ C1034 R1095 -7. R1096 -100.
+ C1035 R1016 -1. R1063 1.
+ C1035 R1097 13.41 R1098 -13.5
+ C1035 R1099 -30.52 R1100 56.8
+ C1035 R1101 14.88
+ C1036 R1016 -1. R1065 1.
+ C1036 R1106 -36.06 R1107 35.35
+ C1036 R1108 -18.5 R1109 56.8
+ C1036 R1110 -117.
+ C1037 R1016 -1. R1068 1.
+ C1037 R1111 -35.54 R1112 34.85
+ C1037 R1113 -38.5 R1114 56.8
+ C1037 R1115 -104.
+ C1038 R1016 -.52 R1017 -.48
+ C1038 R1055 1. UKLDF -1.
+ C1040 R1016 -.52 R1017 -.48
+ C1040 R1062 1. R1091 8.89
+ C1040 R1092 -8.5 R1093 -21.16
+ C1040 R1094 38.71 R1095 -7.
+ C1040 R1096 -100.
+ C1041 R1016 -.52 R1017 -.48
+ C1041 R1063 1. R1097 11.72
+ C1041 R1098 -13.5 R1099 -30.06
+ C1041 R1100 38.71 R1101 14.88
+ C1042 R1016 -.52 R1017 -.48
+ C1042 R1065 1. R1106 -36.06
+ C1042 R1107 35.35 R1108 -18.5
+ C1042 R1109 38.71 R1110 -117.
+ C1043 R1016 -.52 R1017 -.48
+ C1043 R1068 1. R1111 -35.54
+ C1043 R1112 34.85 R1113 -38.5
+ C1043 R1114 38.71 R1115 -104.
+ 1C1043 R1016 -.52 R1017 -.48
+ 1C1043 R1039 1.09 1R1039 1.
+ 1C1043 R1042 -1.
+ C1044 R1016 -.26 R1017 -.24
+ C1044 R1018 -.5 R1057 1.
+ C1044 1R1057 1.
+ C1045 R1017 -.6 R1018 -.4
+ C1045 R1057 1. 1R1057 1.
+ C1047 R1017 -.185 R1018 -.575
+ C1047 R1039 -.0194 R1058 .76
+ C1047 R1074 1.
+ C1048 R1017 -.16 R1018 -.84
+ C1048 R1060 1. R1086 1.96
+ C1048 R1087 -7. R1088 -5.78
+ C1048 R1089 6.62 R1090 -7.
+ C1049 R1017 -.16 R1018 -.84
+ C1049 R1062 1. R1091 3.28
+ C1049 R1092 -7. R1093 -18.67
+ C1049 R1094 6.62 R1095 -7.
+ C1049 R1096 -100.
+ C1050 R1017 -.16 R1018 -.84
+ C1050 R1063 1. R1097 6.11
+ C1050 R1098 -12. R1099 -27.23
+ C1050 R1100 6.62 R1101 9.08
+ C1052 R1017 -.16 R1018 -.84
+ C1052 R1065 1. R1106 -30.26
+ C1052 R1107 29.55 R1108 -17.
+ C1052 R1109 6.62 R1110 -99.
+ C1053 R1017 -.16 R1018 -.84
+ C1053 R1068 1. R1111 -29.74
+ C1053 R1112 29.05 R1113 -37.
+ C1053 R1114 6.62 R1115 -86.
+ C1055 R1018 -1. R1060 1.
+ C1055 R1086 1.2 R1087 -6.6
+ C1055 R1088 -5.41 R1089 .58
+ C1055 R1090 -7.
+ C1056 R1018 -1. R1062 1.
+ C1056 R1091 2.52 R1092 -6.6
+ C1056 R1093 -18.2 R1094 .58
+ C1056 R1095 -7. R1096 -100.
+ C1057 R1018 -1. R1063 1.
+ C1057 R1097 5.35 R1098 -11.6
+ C1057 R1099 -26.69 R1100 .58
+ C1057 R1101 7.98
+ C1058 R1018 -1. R1064 1.
+ C1058 R1102 -21.98 1R1102 20.84
+ C1058 R1103 -28.6 R1104 .58
+ C1058 R1105 -47.
+ C1059 R1018 -1. R1065 1.
+ C1059 R1106 -29.16 R1107 28.45
+ C1059 R1108 -16.6 R1109 .58
+ C1059 R1110 -99.
+ 1C1059 R1018 -1. R1039 1.08
+ C1060 R1018 -1. R1068 1.
+ C1060 R1111 -28.64 R1112 27.95
+ C1060 R1113 -36.6 R1114 .58
+ C1060 R1115 -86.
+ 1C1060 R1019 1. 1R1019 -1.
+ 2C1060 R1021 1. 1R1021 -1.
+ C1061 R1019 -1. R1060 1.
+ C1061 R1086 -1.46 R1087 1.2
+ C1061 R1088 13.32 R1089 -2.94
+ C1061 R1090 -5.
+ 1C1061 R1020 1. 1R1020 -1.
+ 2C1061 R1021 1. 2R1021 -1.
+ C1062 R1019 -1. R1062 1.
+ C1062 R1091 -.14 R1092 1.2
+ C1062 R1093 .84 R1094 -2.94
+ C1062 R1095 -5.
+ C1063 R1019 -1. R1063 1.
+ C1063 R1097 2.69 R1098 -3.8
+ C1063 R1099 -7.44 R1100 -2.94
+ C1063 R1101 2.33
+ C1064 R1019 -1. R1064 1.
+ C1064 R1102 -16.33 1R1102 15.19
+ C1064 R1103 -20.8 R1104 -2.94
+ C1064 R1105 -18.
+ C1065 R1019 -1. R1068 1.
+ C1065 R1111 -22.99 R1112 22.3
+ C1065 R1113 -28.8 R1114 -2.94
+ C1065 R1115 -57.
+ 1C1065 R1019 -1. R1039 1.06
+ C1066 R1020 -1. R1060 1.
+ C1066 R1086 -3.32 R1087 -2.5
+ C1066 R1088 13.1 R1089 -2.94
+ C1066 R1090 -3.
+ C1067 R1020 -1. R1062 1.
+ C1067 R1091 -2. R1092 -2.5
+ C1067 R1093 .83 R1094 -2.94
+ C1067 R1095 -3.
+ C1068 R1020 -1. R1063 1.
+ C1068 R1097 .83 R1098 -7.5
+ C1068 R1099 -7.32 R1100 -2.94
+ C1068 R1101 .37
+ C1069 R1020 -1. R1064 1.
+ C1069 R1102 -14.37 1R1102 13.23
+ C1069 R1103 -24.5 R1104 -2.94
+ C1069 R1105 -18.
+ C1070 R1021 -1. R1060 1.
+ C1070 R1086 -4.84 R1087 -8.3
+ C1070 R1088 12.99 R1089 -2.94
+ C1070 R1090 7.
+ 1C1070 3R1021 -1. R1060 1.
+ 1C1070 R1086 -1.17 R1087 -1.
+ 1C1070 R1088 13.43 R1089 -2.94
+ 1C1070 R1090 -7.
+ C1071 R1021 -1. R1062 1.
+ C1071 R1091 -3.52 R1092 -8.3
+ C1071 R1093 .82 R1094 -2.94
+ C1071 R1095 7.
+ 1C1071 3R1021 -1. R1062 1.
+ 1C1071 R1091 -.15 R1092 -1.
+ 1C1071 R1093 .85 R1094 -2.94
+ 1C1071 R1095 -7.
+ C1072 R1021 -1. R1063 1.
+ C1072 R1097 -.69 R1098 -13.3
+ C1072 R1099 -7.25 R1100 -2.94
+ C1072 R1101 .78
+ C1074 R1021 -1. R1065 1.
+ C1074 R1106 -21.96 R1107 21.25
+ C1074 R1108 -18.3 R1109 -2.94
+ C1074 R1110 -70.
+ C1076 R1019 -.86 R1022 -.14
+ C1076 R1064 1. R1102 -13.57
+ C1076 1R1102 12.43 R1103 -19.
+ C1076 R1104 -3.17 R1105 -17.
+ C1078 R1020 -.88 R1023 -.12
+ C1078 R1064 1. R1102 -14.48
+ C1078 1R1102 13.34 R1103 -23.7
+ C1078 R1104 -3.17 R1105 -17.
+ C1081 R1022 -1. R1062 1.
+ C1081 R1091 -5.54 R1092 7.8
+ C1081 R1093 113.399899 R1094 -3.47
+ C1081 R1095 1.
+ C1082 R1022 -1. R1063 1.
+ C1082 R1097 -2.71 R1098 2.8
+ C1082 R1099 105.459998 R1100 -3.47
+ C1082 R1101 -3.64
+ C1083 R1022 -1. R1065 1.
+ C1083 R1106 -17.54 R1107 16.83
+ C1083 R1108 -2.2 R1109 -3.47
+ C1083 R1110 -37.
+ C1084 R1022 -1. R1068 1.
+ C1084 R1111 -17.02 R1112 16.33
+ C1084 R1113 -22.2 R1114 -3.47
+ C1084 R1115 -24.
+ 1C1084 R1022 -1. R1039 1.05
+ C1085 R1023 -1. R1062 1.
+ C1085 R1091 -5.54 R1092 4.1
+ C1085 R1093 113.399899 R1094 -3.47
+ C1085 R1095 2.
+ 1C1085 R1023 -1. R1063 1.
+ 1C1085 R1097 -2.71 R1098 -.9
+ 1C1085 R1099 105.459998 R1100 -3.47
+ 1C1085 R1101 -5.02
+ C1086 R1023 -1. R1068 1.
+ C1086 R1111 -15.64 R1112 14.95
+ C1086 R1113 -25.9 R1114 -3.47
+ C1086 R1115 -24.
+ C1087 R1023 -1. R1065 1.
+ C1087 R1106 -16.16 R1107 15.45
+ C1087 R1108 -5.9 R1109 -3.47
+ C1087 R1110 -37.
+ C1088 R1024 -1. R1062 1.
+ C1088 R1091 -4.2 R1092 -7.4
+ C1088 R1093 114.3799 R1094 -3.61
+ C1088 R1095 7.
+ C1089 R1024 -1. R1063 1.
+ C1089 R1097 -1.37 R1098 -12.4
+ C1089 R1099 106.370098 R1100 -3.61
+ C1089 R1101 -1.84
+ C1090 R1024 -1. R1065 1.
+ C1090 R1106 -19.34 R1107 18.63
+ C1090 R1108 -17.4 R1109 -3.61
+ C1090 R1110 -37.
+ C1091 R1024 -1. R1068 1.
+ C1091 R1111 -18.82 R1112 18.13
+ C1091 R1113 -37.4 R1114 -3.61
+ C1091 R1115 -24.
+ 1C1091 3R1028 -1. R1030 .5
+ 1C1091 2R1033 .598 R1037 -.098
+ 1C1091 R1039 -.0154 R1072 1.005
+ 2C1091 3R1028 -1. R1065 1.
+ 2C1091 R1106 -.26 R1107 -.45
+ 2C1091 R1108 10.5 R1109 -.8
+ 2C1091 R1110 6.
+ 3C1091 3R1028 -1. R1068 1.
+ 3C1091 R1111 .26 R1112 -.95
+ 3C1091 R1113 -9.5 R1114 -.8
+ 3C1091 R1115 19.
+ C1092 R1025 -1. R1030 .52
+ C1092 R1032 .6 R1037 -.12
+ C1092 R1039 -.0154 R1072 1.003
+ C1093 R1025 -1. R1065 1.
+ C1093 R1106 -.06 R1107 -.65
+ C1093 R1108 20.5 R1109 -.8
+ C1093 R1110 -10.
+ C1094 R1025 -1. R1068 1.
+ C1094 R1111 .46 R1112 -1.15
+ C1094 R1113 .5 R1114 -.8
+ C1094 R1115 3.
+ C1095 R1026 -1. R1030 .479
+ C1095 R1032 .618 R1037 -.097
+ C1095 R1039 -.0154 R1072 1.
+ C1096 R1026 -1. R1065 1.
+ C1096 R1106 1.24 R1107 -1.95
+ C1096 R1108 21.5 R1109 -.8
+ C1096 R1110 -20.
+ C1097 R1026 -1. R1068 1.
+ C1097 R1111 1.76 R1112 -2.45
+ C1097 R1113 1.5 R1114 -.8
+ C1097 R1115 -7.
+ 1C1097 1R1027 -1. R1030 .464
+ 1C1097 3R1033 .691 R1037 -.155
+ 1C1097 R1039 -.0154 R1072 1.
+ 2C1097 1R1027 -1. R1065 1.
+ 2C1097 R1106 1.73 R1107 -2.44
+ 2C1097 R1108 1.3 R1109 -.8
+ 2C1097 R1110 2.
+ C1098 R1027 -1. R1030 .577
+ C1098 R1033 .536 R1037 -.113
+ C1098 R1039 -.0154 R1072 1.007
+ C1099 R1027 -1. R1065 1.
+ C1099 R1106 .24 R1107 -.95
+ C1099 R1108 3. R1109 -.8
+ C1099 R1110 -10.
+ C1100 R1027 -1. R1068 1.
+ C1100 R1111 .76 R1112 -1.45
+ C1100 R1113 -17. R1114 -.8
+ C1100 R1115 3.
+ C1101 R1028 -1. R1030 .454
+ C1101 R1033 .732 R1037 -.186
+ C1101 R1039 -.0154 R1072 1.044
+ C1102 R1028 -1. R1065 1.
+ C1102 R1106 2.44 R1107 -3.15
+ C1102 R1108 6.3 R1109 -.8
+ C1102 R1110 -10.
+ C1103 R1028 -1. R1068 1.
+ C1103 R1111 2.96 R1112 -3.65
+ C1103 R1113 -13.7 R1114 -.8
+ C1103 R1115 3.
+ 1C1103 1R1028 -1. R1030 .653
+ 1C1103 1R1033 .347 R1039 -.0154
+ 1C1103 R1072 1.052
+ 2C1103 1R1028 -1. R1065 1.
+ 2C1103 R1106 -5.35 R1107 4.64
+ 2C1103 R1108 -4.5 R1109 -.8
+ 2C1103 R1110 4.
+ 3C1103 1R1028 -1. R1068 1.
+ 3C1103 R1111 -4.83 R1112 4.14
+ 3C1103 R1113 -24.5 R1114 -.8
+ 3C1103 R1115 17.
+ C1104 R1021 -.037 R1024 -.008
+ C1104 R1029 -1. R1031 .77
+ C1104 R1034 .275 R1039 -.0154
+ C1104 R1072 1.246
+ 1C1104 R1021 -.073 R1024 -.016
+ 1C1104 2R1028 -1. R1031 .63
+ 1C1104 R1034 .459 R1039 -.0154
+ 1C1104 R1072 1.02
+ 2C1104 2R1028 -1. R1065 1.
+ 2C1104 R1106 -1.2 R1107 .49
+ 2C1104 R1108 -14.5 R1109 -.8
+ 2C1104 R1110 -3.
+ 3C1104 2R1028 -1. R1068 1.
+ 3C1104 R1111 -.68 R1112 -.01
+ 3C1104 R1113 -34.5 R1114 -.8
+ 3C1104 R1115 10.
+ C1105 R1029 -1. R1065 1.
+ C1105 R1106 -4.02 R1107 3.31
+ C1105 R1108 -16.1 R1109 -.8
+ C1105 R1110 50.
+ C1106 R1029 -1. R1068 1.
+ C1106 R1111 -3.5 R1112 2.81
+ C1106 R1113 -36.1 R1114 -.8
+ C1106 R1115 63.
+ C1108 R0000 .0504 R1009 .075
+ C1108 R1010 .039 R1012 .095
+ C1108 R1030 -1. R1035 .16
+ C1108 R1036 .202 R1037 .233
+ C1108 1R1038 .015 R1039 .0437
+ C1108 R1073 1.5
+ 1C1108 R0000 .0504 R1009 .076
+ 1C1108 R1010 .04 R1012 .097
+ 1C1108 R1022 -.15 R1030 -.85
+ 1C1108 R1035 .159 R1036 .205
+ 1C1108 R1037 .229 1R1038 .015
+ 1C1108 R1039 .0466 R1073 1.5
+ C1109 R0000 .0504 R1009 .025
+ C1109 R1010 .014 R1012 .054
+ C1109 R1030 -1. R1035 .111
+ C1109 R1036 .192 R1037 .227
+ C1109 1R1038 .246 R1039 .0552
+ C1109 R1073 1.
+ C1111 R0000 .0504 R1009 .067
+ C1111 R1010 .036 R1012 .089
+ C1111 R1030 -1. R1035 .144
+ C1111 R1036 .176 R1037 .194
+ C1111 1R1038 .144 R1039 .0532
+ C1111 R1073 1.11
+ C1112 R0000 .0504 R1009 .049
+ C1112 R1010 .026 R1012 .073
+ C1112 R1030 -1. R1035 .13
+ C1112 R1036 .185 R1037 .209
+ C1112 1R1038 .189 R1039 .055
+ C1112 R1073 1.
+ 1C1112 R0000 .0504 R1009 .047
+ 1C1112 R1010 .027 R1012 .076
+ 1C1112 R1022 -.15 R1030 -.85
+ 1C1112 R1035 .128 R1036 .188
+ 1C1112 R1037 .203 1R1038 .191
+ 1C1112 R1039 .0557 R1073 1.
+ C1113 R0000 .0504 R1009 .03
+ C1113 R1010 .02 R1012 .053
+ C1113 R1031 -1. R1035 .101
+ C1113 R1036 .188 R1038 .195
+ C1113 2R1038 .281 R1039 .0509
+ C1113 R1073 1.
+ C1116 R0000 .0504 R1009 .017
+ C1116 R1010 .013 R1012 .036
+ C1116 R1031 -1. R1035 .087
+ C1116 R1036 .19 R1038 .208
+ C1116 2R1038 .323 R1039 .0463
+ C1116 R1073 1.11
+ C1117 R0000 .0504 R1009 .047
+ C1117 R1010 .029 R1012 .081
+ C1117 R1031 -1. R1035 .119
+ C1117 R1036 .181 R1038 .177
+ C1117 2R1038 .224 R1039 .0526
+ C1117 R1073 1.
+ 1C1117 R0000 .0504 R1009 .048
+ 1C1117 R1010 .03 R1012 .082
+ 1C1117 R1024 -.17 R1031 -.83
+ 1C1117 R1035 .117 R1036 .183
+ 1C1117 R1038 .172 2R1038 .227
+ 1C1117 R1039 .0531 R1073 1.
+ C1118 R0000 .0504 R1009 .058
+ C1118 R1010 .035 R1012 .098
+ C1118 R1031 -1. R1035 .17
+ C1118 R1036 .207 R1038 .212
+ C1118 2R1038 .043 R1039 .0397
+ C1118 R1073 1.67
+ 1C1118 R0000 .0504 R1009 .058
+ 1C1118 R1010 .036 R1012 .099
+ 1C1118 R1024 -.17 R1031 -.83
+ 1C1118 R1035 .169 R1036 .211
+ 1C1118 R1038 .208 2R1038 .044
+ 1C1118 R1039 .0416 R1073 1.67
+ 2C1118 3R1033 -1. R1065 1.
+ 2C1118 R1106 3.01 R1107 -3.72
+ 2C1118 R1108 7.4 R1109 -.8
+ 2C1118 R1110 -19.
+ 3C1118 3R1033 -2. R1068 1.
+ 3C1118 R1111 3.53 R1112 -4.22
+ 3C1118 R1113 -12.6 R1114 -.8
+ 3C1118 R1115 -6.
+ C1119 R1032 -1. R1064 1.
+ C1119 R1102 10.19 1R1102 -11.33
+ C1119 R1103 18.9 R1104 -.08
+ C1119 R1105 -2.
+ C1120 R1032 -1. R1068 1.
+ C1120 R1111 3.53 R1112 -4.22
+ C1120 R1113 10.9 R1114 -.8
+ C1120 R1115 -41.
+ 1C1120 R1032 -1. R1065 1.
+ 1C1120 R1106 3.01 R1107 -3.72
+ 1C1120 R1108 30.9 R1109 -.8
+ 1C1120 R1110 -54.
+ 2C1120 2R1033 -1. R1065 1.
+ 2C1120 R1106 3.01 R1107 -3.72
+ 2C1120 R1108 18.5 R1109 -.8
+ 2C1120 R1110 -17.
+ 3C1120 2R1033 -1. R1068 1.
+ 3C1120 R1111 3.53 R1112 -4.22
+ 3C1120 R1113 -1.5 R1114 -.8
+ 3C1120 R1115 -4.
+ C1121 R1033 -1. R1064 1.
+ C1121 R1102 10.19 1R1102 -11.33
+ C1121 R1103 -.5 R1104 -.08
+ C1121 R1105 2.
+ C1122 R1033 -1. R1065 1.
+ C1122 R1106 3.01 R1107 -3.72
+ C1122 R1108 11.5 R1109 -.8
+ C1122 R1110 -50.
+ C1123 R1033 -1. R1068 1.
+ C1123 R1111 3.53 R1112 -4.22
+ C1123 R1113 -8.5 R1114 -.8
+ C1123 R1115 -37.
+ 1C1123 1R1033 -1. R1065 1.
+ 1C1123 R1106 3.09 R1107 -3.8
+ 1C1123 R1108 1.5 R1109 -.8
+ 1C1123 R1110 -17.
+ 2C1123 1R1033 -1. R1068 1.
+ 2C1123 R1111 3.61 R1112 -4.3
+ 2C1123 R1113 -18.5 R1114 -.8
+ 2C1123 R1115 -4.
+ 3C1123 1R1033 -1. R1064 1.
+ 3C1123 R1102 10.27 1R1102 -11.41
+ 3C1123 R1103 -10.5 R1104 -.08
+ 3C1123 R1105 35.
+ C1124 R1034 -1. R1065 1.
+ C1124 R1106 3.01 R1107 -3.72
+ C1124 R1108 -15.9 R1109 -.8
+ C1124 R1110 20.
+ C1125 R1034 -1. R1068 1.
+ C1125 R1111 3.53 R1112 -4.22
+ C1125 R1113 -35.9 R1114 -.8
+ C1125 R1115 33.
+ C1128 R1017 -.0075 R1018 -.04
+ C1128 R1022 -.0475 R1065 -.905
+ C1128 R1066 1. R1108 -5.88
+ C1128 R1110 14.5
+ C1130 R1039 1. R1068 -1.
+ C1131 R0000 .194 R1035 -1.
+ C1131 R1046 1. R1075 .73
+ C1131 R1076 -.493 R1077 -76.399899
+ C1131 R1078 43.5
+ C1132 R0000 .097 R1035 -1.
+ C1132 R1050 1. R1079 -19.7
+ C1132 R1080 -.658 R1081 -76.399899
+ C1132 R1082 43.5
+ C1133 R0000 .17 R1036 -1.27
+ C1133 R1037 .27 R1046 1.
+ C1133 R1075 2.05 R1076 -.431
+ C1133 R1077 52.6 R1078 -50.1
+ C1134 R0000 .085 R1036 -1.27
+ C1134 R1037 .27 R1050 1.
+ C1134 R1079 -15.1 R1080 -.574
+ C1134 R1081 52.6 R1082 -50.1
+ C1135 R0000 .165 R1036 -1.
+ C1135 R1046 1. R1075 2.
+ C1135 R1076 -.419 R1077 52.4
+ C1135 R1078 -48.8
+ C1136 R0000 .082 R1036 -1.
+ C1136 R1050 1. R1079 -14.7
+ C1136 R1080 -.559 R1081 52.4
+ C1136 R1082 -48.8
+ C1137 R1037 -1. R1060 1.
+ C1137 R1086 -13.81 R1087 17.3
+ C1137 R1088 7.02 R1089 -3.48
+ C1137 R1090 43.
+ C1138 R1037 -1. R1062 1.
+ C1138 R1091 -12.49 R1092 17.3
+ C1138 R1093 -4.21 R1094 -3.48
+ C1138 R1095 43.
+ C1139 R1037 -1. R1063 1.
+ C1139 R1097 -9.66 R1098 12.3
+ C1139 R1099 -11.66 R1100 -3.48
+ C1139 R1101 1.33
+ C1140 R1037 -1. R1064 1.
+ C1140 R1102 -15.33 1R1102 14.19
+ C1140 R1103 -3.5 R1104 -3.48
+ C1140 R1105 -22.
+ C1141 R1037 -1. R1068 1.
+ C1141 R1111 -21.99 R1112 21.3
+ C1141 R1113 -11.5 R1114 -3.48
+ C1141 R1115 -61.
+ C1142 R1038 -1. R1060 1.
+ C1142 R1086 -12.51 R1087 -5.8
+ C1142 R1088 7.5 R1089 -3.48
+ C1142 R1090 40.
+ C1143 R1038 -1. R1062 1.
+ C1143 R1091 -11.19 R1092 -5.8
+ C1143 R1093 -4.25 R1094 -3.48
+ C1143 R1095 40.
+ C1144 R1038 -1. R1064 1.
+ C1144 R1102 -15.33 1R1102 14.19
+ C1144 R1103 -27.5 R1104 -3.48
+ C1144 R1105 -22.
+ C1145 R1038 -1. R1065 1.
+ C1145 R1106 -22.51 R1107 21.8
+ C1145 R1108 -15.5 R1109 -3.48
+ C1145 R1110 -74.
+ C1146 R1038 -1. R1068 1.
+ C1146 R1111 -21.99 R1112 21.3
+ C1146 R1113 -35.5 R1114 -3.48
+ C1146 R1115 -61.
+ C1147 R1037 1. R1038 -1.
+ 1C1147 1R1038 -1. R1068 1.
+ 1C1147 R1111 -14.54 R1112 13.85
+ 1C1147 R1113 -11.5 R1114 -3.44
+ 1C1147 R1115 -10.
+ 2C1147 2R1038 -1. R1068 1.
+ 2C1147 R1111 -14.54 R1112 13.85
+ 2C1147 R1113 -35.5 R1114 -3.44
+ 2C1147 R1115 17.
+ C1148 1R1038 -1. R1039 1.
+ 1C1148 2R1038 -1. R1039 1.
+ C1149 R0000 .183 R1040 1.
+ C1149 R1046 1. R1075 -.28
+ C1149 R1076 -.463 R1077 -64.799999
+ C1149 R1078 24.6
+ C1150 R0000 .091 R1040 1.
+ C1150 R1050 1. R1079 -17.79
+ C1150 R1080 -.618 R1081 -64.799999
+ C1150 R1082 24.6
+ C1151 R0000 .156 R1041 1.
+ C1151 R1046 1. R1075 -3.76
+ C1151 R1076 -.397 R1077 68.5
+ C1151 R1078 -51.3
+ C1152 R0000 .078 R1041 1.
+ C1152 R1050 1. R1079 -18.69
+ C1152 R1080 -.529 R1081 68.5
+ C1152 R1082 -51.3
+ C1154 R0000 .166 R1043 1.
+ C1154 R1046 1. R1075 -4.38
+ C1154 R1076 -.42 R1077 21.25
+ C1154 R1078 -24.4
+ C1156 R0000 .344 R1035 -.2
+ C1156 R1040 .2 R1043 .6
+ C1156 R1045 1.
+ C1158 R1046 -1. R1047 1.
+ C1158 R1075 1.32
+ C1162 R1050 -1. R1051 1.
+ C1162 R1079 6.9
+ C1163 R1018 -.196 R1020 -.285
+ C1163 1R1021 -.377 R1023 -.06
+ C1163 R1024 -.082 R1061 1.
+ 1C1163 R1018 -.468 R1020 -.241
+ 1C1163 1R1021 -.163 R1023 -.093
+ 1C1163 R1024 -.035 R1061 1.
+ 2C1163 R1018 -.438 1R1019 -.197
+ 2C1163 1R1021 -.365 R1061 1.
+ 3C1163 R1018 -.31 1R1020 -.31
+ 3C1163 2R1021 -.38 R1061 1.
+ C1165 R1062 -1. 2R1062 1.
+ C1165 R1091 -1.47 R1092 2.5
+ C1165 R1093 -13.8 R1095 -5.
+ C1166 R1063 -1. 1R1063 1.
+ C1166 R1097 -3.56 R1098 3.
+ C1166 R1101 -7.36
+ 1C1166 R1063 -1. 2R1063 1.
+ 1C1166 R1097 -2.83 R1098 3.
+ 1C1166 R1099 -8.5 R1101 -7.36
+ C1167 R0000 .591 R1075 -4.46
+ C1167 R1076 1.
+ C1168 R0000 .591 R1079 -11.2
+ C1168 R1080 1.
+ C1F28 R1064 -1. 1R1064 1.
+ C1F28 R1103 2.
+ C1F35 R1068 -1. R1069 1.
+ C1F35 R1111 1.83 R1112 -1.98
+ C1F35 R1113 5.5 R1115 3.
+ C1F64 R1068 -1. 1R1068 1.
+ C1F64 R1112 .15 R1113 5.5
+ C1F64 R1115 3.
+ CJ001 1RJ006 1.01 RJ007 .019
+ CJ001 1RJ007 .006 1RJ008 .06
+ CJ001 RJ010 .083 RJ012 .066
+ CJ001 RJ013 .141 RJ014 .016
+ CJ001 RJ018 .192 RJ019 .028
+ CJ001 RJ024 .389 RJ031 -.0234
+ CJ001 RJ048 1.222
+ CJ002 RJ001 1.01 RJ007 .014
+ CJ002 1RJ007 .006 1RJ008 .049
+ CJ002 RJ010 .081 RJ012 .044
+ CJ002 RJ013 .091 RJ014 .01
+ CJ002 RJ015 .136 RJ016 .024
+ CJ002 RJ025 .545 RJ031 -.0202
+ CJ002 RJ048 1.
+ 2CJ002 1RJ001 1.01 RJ007 .013
+ 2CJ002 1RJ007 .005 1RJ008 .074
+ 2CJ002 RJ010 .143 RJ012 .039
+ 2CJ002 RJ013 .082 RJ014 .009
+ 2CJ002 RJ015 .122 RJ016 .022
+ 2CJ002 RJ025 .491 RJ031 -.0226
+ 2CJ002 RJ048 1.21
+ CJ003 RJ002 1.01 RJ007 .013
+ CJ003 1RJ007 .005 RJ008 .047
+ CJ003 RJ009 .107 1RJ011 .05
+ CJ003 RJ014 .124 RJ018 .164
+ CJ003 RJ019 .027 RJ026 .463
+ CJ003 RJ031 -.022 RJ048 1.052
+ CJ004 RJ003 1.01 RJ007 .017
+ CJ004 1RJ007 .007 1RJ008 .059
+ CJ004 RJ010 .098 RJ012 .051
+ CJ004 RJ013 .105 RJ014 .012
+ CJ004 RJ015 .149 RJ016 .024
+ CJ004 RJ027 .478 RJ031 -.0215
+ CJ004 RJ048 1.043
+ CJ005 RJ004 1.01 RJ007 .024
+ CJ005 1RJ007 .009 1RJ008 .078
+ CJ005 RJ010 .127 RJ012 .065
+ CJ005 RJ013 .13 RJ014 .015
+ CJ005 RJ020 .172 RJ021 .025
+ CJ005 RJ028 .355 RJ031 -.0234
+ CJ005 RJ048 1.235
+ CJ006 RJ005 1.01 RJ007 .015
+ CJ006 1RJ007 .003 RJ008 .047
+ CJ006 RJ009 .097 RJ011 .049
+ CJ006 RJ014 .107 RJ018 .149
+ CJ006 RJ019 .023 RJ029 .51
+ CJ006 RJ031 -.0203 RJ048 1.
+ 1CJ006 RJ005 1.01 RJ007 .015
+ 1CJ006 1RJ007 .003 RJ008 .047
+ 1CJ006 RJ009 .097 1RJ011 .049
+ 1CJ006 RJ014 .107 RJ018 .149
+ 1CJ006 RJ019 .023 RJ029 .51
+ 1CJ006 RJ031 -.023 RJ048 1.
+ 1CJ006 RJ100 .0464
+ CJ007 RJ006 1.01 RJ007 .012
+ CJ007 1RJ007 .004 RJ008 .06
+ CJ007 RJ010 .103 RJ012 .061
+ CJ007 RJ013 .126 RJ014 .014
+ CJ007 RJ020 .172 RJ021 .03
+ CJ007 RJ030 .418 RJ031 -.022
+ CJ007 RJ048 1.142
+ CJ008 RJ007 -1. RJ031 1.16
+ 1CJ008 1RJ007 -1. RJ031 1.2
+ CJ009 R0000 .251 RJ007 -1.
+ CJ009 RJ032 1. RJ052 -7.41
+ CJ009 RJ053 -96.5 RJ054 214.1001
+ CJ009 RJ095 -.541
+ CJ010 R0000 .126 RJ007 -1.
+ CJ010 RJ033 1. RJ055 -26.03
+ CJ010 RJ056 -96.54 RJ057 214.1001
+ CJ010 RJ096 -.734
+ CJ012 RJ008 1. 1RJ008 -1.
+ CJ013 R0000 .219 RJ008 -1.
+ CJ013 RJ032 1. 1RJ050 1.
+ CJ013 RJ052 34.5 RJ053 -76.6001
+ CJ013 RJ054 33.02 RJ095 -.471
+ CJ014 R0000 .109 RJ008 -1.
+ CJ014 RJ033 1. 1RJ050 1.
+ CJ014 RJ055 22.52 RJ056 -76.549999
+ CJ014 RJ057 33.02 RJ096 -.639
+ CJ016 R0000 .1 RJ010 -1.
+ CJ016 RJ033 1. 1RJ050 1.
+ CJ016 RJ055 31.26 RJ056 30.29
+ CJ016 RJ057 -42.14 RJ096 -.586
+ 1CJ016 R0000 .091 RJ009 -1.
+ 1CJ016 RJ033 1. 1RJ050 1.
+ 1CJ016 RJ055 31.26 RJ056 30.29
+ 1CJ016 RJ057 -42.14 RJ096 -.586
+ CJ018 RJ007 -.04 RJ008 -.96
+ CJ018 RJ035 1.
+ 1CJ018 RJ007 -.014 RJ008 -.336
+ 1CJ018 RJ009 -.65 RJ035 1.
+ CJ019 RJ007 -.014 RJ008 -.336
+ CJ019 RJ010 -.65 RJ035 1.
+ CJ020 R0000 1.2666 RC0ST 2.004
+ CJ020 RLDEX -1. RJ007 -.014
+ CJ020 RJ008 -.336 RJ010 -.65
+ CJ020 RJ036 1.
+ 1CJ020 R0000 1.2666 RC0ST 2.004
+ 1CJ020 RLDEX -1. RJ007 -.02
+ 1CJ020 RJ008 -.48 RJ009 -.5
+ 1CJ020 RJ036 1. 1RJ050 .5
+ CJ021 R0000 1.2666 RC0ST 2.004
+ CJ021 RLDEX -1. RJ007 -.02
+ CJ021 RJ008 -.48 RJ010 -.5
+ CJ021 RJ036 1.
+ 1CJ021 RJ008 -.3 RJ010 -.7
+ 1CJ021 1RJ036 1.
+ 2CJ021 RJ010 -.7 RJ011 -.3
+ 2CJ021 1RJ036 1.
+ 3CJ021 RJ008 -.3 RJ009 -.7
+ 3CJ021 1RJ036 1.
+ 4CJ021 RJ009 -.7 RJ011 -.3
+ 4CJ021 1RJ036 1.
+ CJ022 RJ031 1.11 RJ035 -1.
+ CJ023 R0000 .0931 RJ007 .101
+ CJ023 1RJ007 .152 RJ008 .01
+ CJ023 RJ009 -1. RJ011 .04
+ CJ023 RJ031 -.101 RJ049 1.157
+ CJ023 1RJ050 1. RJ097 .697
+ CJ023 RJ099 -.19
+ CJ025 R0000 .0829 RJ007 .074
+ CJ025 1RJ007 .112 RJ008 .01
+ CJ025 RJ009 -1. RJ011 .04
+ CJ025 RJ031 -.0956 RJ049 .909
+ CJ025 1RJ050 1. 1RJ097 .764
+ CJ025 RJ099 -.19
+ CJ028 R0000 .096 RJ033 1.
+ CJ028 RJ055 -14. RJ056 -9.25
+ CJ028 RJ057 -9.25 RJ096 -.562
+ CJ028 1RJ097 -1.
+ CJ029 R0000 .193 RJ032 1.
+ CJ029 RJ052 -.66 RJ053 -9.25
+ CJ029 RJ054 -9.25 RJ095 -.414
+ CJ029 1RJ097 -1.
+ CJ030 R0000 .1209 RJ007 .099
+ CJ030 1RJ007 .148 RJ008 .01
+ CJ030 RJ010 -1. RJ011 .04
+ CJ030 RJ031 -.0956 RJ049 1.
+ CJ030 1RJ097 .703 RJ099 -.19
+ CJ031 R0000 .1289 RJ007 .126
+ CJ031 1RJ007 .167 RJ008 .01
+ CJ031 RJ010 -1. RJ011 .04
+ CJ031 RJ031 -.101 RJ049 1.3
+ CJ031 RJ051 .02 RJ097 .637
+ CJ031 RJ099 -.19
+ CJ032 R0000 .1084 RJ007 .126
+ CJ032 1RJ007 .187 RJ008 .01
+ CJ032 RJ010 -1. RJ011 .04
+ CJ032 RJ031 -.101 RJ049 1.445
+ CJ032 RJ097 .637 RJ099 -.19
+ CJ033 R0000 .19 RJ032 1.
+ CJ033 RJ052 -5.34 RJ053 -5.21
+ CJ033 RJ054 -4.04 RJ095 -.408
+ CJ033 RJ097 -1.
+ CJ034 R0000 .096 RJ033 1.
+ CJ034 RJ055 -13.49 RJ056 3.97
+ CJ034 RJ057 -14.42 RJ096 -.563
+ CJ034 1RJ098 -1.
+ CJ035 R0000 .0707 RJ007 .064
+ CJ035 1RJ007 .094 RJ008 .01
+ CJ035 RJ009 -.667 1RJ011 -.333
+ CJ035 RJ014 .04 RJ031 -.0956
+ CJ035 RJ049 .808 1RJ050 .667
+ CJ035 1RJ098 .79 RJ099 -.19
+ CJ036 R0000 .0804 RJ007 .089
+ CJ036 1RJ007 .135 RJ008 .01
+ CJ036 RJ009 -.667 1RJ011 -.333
+ CJ036 RJ014 .04 RJ031 -.101
+ CJ036 RJ049 1.044 1RJ050 .667
+ CJ036 RJ098 .726 RJ099 -.19
+ CJ037 RJ011 1. RJ012 -1.
+ 1CJ037 RJ011 1. 1RJ011 -1.
+ CJ039 RJ011 -1. RJ040 1.
+ CJ039 RJ061 8. RJ062 -8.5
+ CJ039 RJ063 36.08 RJ064 -20.
+ CJ039 RJ065 -13. RJ079 1.
+ CJ040 RJ011 -1. RJ043 1.
+ CJ040 RJ066 10.2 RJ067 -13.5
+ CJ040 RJ068 36.08 RJ069 -30.
+ CJ040 RJ070 13.12 RJ071 -26.
+ CJ040 RJ079 1.
+ CJ041 RJ011 -1. RJ045 1.
+ CJ041 RJ072 -38. RJ073 -42.73
+ CJ041 1RJ073 41.92 RJ074 36.08
+ CJ041 1RJ074 -95.
+ CJ042 RJ011 -1. RJ046 1.
+ CJ042 RJ075 -38. RJ076 -39.61
+ CJ042 1RJ076 38.97 RJ077 36.08
+ CJ042 RJ078 -92.
+ 1CJ042 RJ011 -1. RJ042 1.
+ 1CJ042 RJ102 -23. RJ103 -39.61
+ 1CJ042 RJ104 38.97 RJ105 36.08
+ 1CJ042 RJ106 -92.
+ CJ043 R0000 .191 RJ032 1.
+ CJ043 RJ052 -4.84 RJ053 2.61
+ CJ043 RJ054 -10.19 RJ095 -.41
+ CJ043 RJ098 -1.
+ CJ044 R0000 .193 RJ032 1.
+ CJ044 RJ052 .13 RJ053 3.97
+ CJ044 RJ054 -14.42 RJ095 -.415
+ CJ044 1RJ098 -1.
+ CJ045 R0000 .0933 RJ007 .076
+ CJ045 1RJ007 .113 RJ008 .01
+ CJ045 RJ010 -.667 RJ012 -.333
+ CJ045 RJ014 .04 RJ031 -.0956
+ CJ045 RJ049 .88 1RJ098 .761
+ CJ045 RJ099 -.19
+ CJ046 R0000 .1074 RJ007 .103
+ CJ046 1RJ007 .144 RJ008 .01
+ CJ046 RJ010 -.667 RJ012 -.333
+ CJ046 RJ014 .04 RJ031 -.101
+ CJ046 RJ049 1.111 RJ051 .009
+ CJ046 RJ098 .694 RJ099 -.19
+ 1CJ046 R0000 .0949 RJ007 .103
+ 1CJ046 1RJ007 .153 RJ008 .01
+ 1CJ046 RJ010 -.667 RJ012 -.333
+ 1CJ046 RJ014 .04 RJ031 -.0956
+ 1CJ046 RJ049 1.182 RJ098 .694
+ 1CJ046 RJ099 -.19
+ CJ047 RJ012 -.44 RJ013 -.56
+ CJ047 RJ034 1. RJ038 1.
+ 1CJ047 1RJ011 -.44 RJ013 -.56
+ 1CJ047 RJ034 1. RJ038 1.
+ 1CJ048 RJ011 .1 RJ013 -1.6
+ 1CJ048 RJ015 .5 RJ034 1.
+ 1CJ048 1RJ037 1. 2RJ037 -1.
+ CJ049 RJ013 -1. RJ014 1.
+ CJ050 RJ011 -.15 RJ014 -.85
+ CJ050 RJ031 -.035 RJ034 .81
+ CJ050 RJ039 .81 RJ040 .19
+ CJ050 RJ050 1. RJ061 -1.48
+ CJ050 RJ062 .48 RJ063 .72
+ CJ050 RJ064 -3.8 RJ065 9.7
+ CJ050 RJ079 .19
+ CJ051 RJ011 -.15 RJ014 -.85
+ CJ051 RJ031 -.035 RJ034 .81
+ CJ051 RJ039 .81 RJ043 .19
+ CJ051 RJ050 1. RJ066 -1.06
+ CJ051 RJ067 -.48 RJ068 .74
+ CJ051 RJ069 -5.7 RJ070 1.97
+ CJ051 RJ071 7.5 RJ079 .19
+ 1CJ051 RJ011 -.68 RJ014 -1.
+ 1CJ051 RJ031 -.035 RJ034 1.55
+ 1CJ051 RJ038 1.55 RJ043 .13
+ 1CJ051 RJ050 1. RJ066 -.96
+ 1CJ051 RJ067 .46 RJ068 1.71
+ 1CJ051 RJ069 -3.9 RJ070 1.21
+ 1CJ051 RJ071 4.94 RJ079 .13
+ CJ052 RJ011 -.15 RJ014 -.85
+ CJ052 RJ031 -.035 RJ034 .81
+ CJ052 RJ039 .81 RJ045 .19
+ CJ052 RJ050 1. RJ072 -5.13
+ CJ052 RJ073 -6.12 1RJ073 5.96
+ CJ052 RJ074 .74 1RJ074 -18.1
+ 1CJ052 RJ011 -.15 RJ014 -.85
+ 1CJ052 RJ031 -.035 RJ034 .81
+ 1CJ052 RJ039 .81 RJ042 .19
+ 1CJ052 RJ050 1. RJ102 -2.28
+ 1CJ052 RJ103 -5.53 RJ104 5.4
+ 1CJ052 RJ105 .74 RJ106 -17.5
+ CJ053 RJ011 -.15 RJ014 -.85
+ CJ053 RJ031 -.035 RJ034 .81
+ CJ053 RJ039 .81 RJ046 .19
+ CJ053 RJ050 1. RJ075 -5.13
+ CJ053 RJ076 -5.53 1RJ076 5.4
+ CJ053 RJ077 .74 RJ078 -17.5
+ 1CJ053 RJ011 -.68 RJ014 -1.
+ 1CJ053 RJ031 -.035 RJ034 1.55
+ 1CJ053 RJ038 1.55 RJ046 .13
+ 1CJ053 RJ050 1. RJ075 -2.34
+ 1CJ053 RJ076 -3.51 1RJ076 3.42
+ 1CJ053 RJ077 .08 RJ078 -12.
+ 2CJ053 RJ011 -.68 RJ014 -1.
+ 2CJ053 RJ031 -.035 RJ034 1.55
+ 2CJ053 RJ038 1.55 RJ042 .13
+ 2CJ053 RJ050 1. RJ102 -.39
+ 2CJ053 RJ103 -3.51 RJ104 3.42
+ 2CJ053 RJ105 .08 RJ106 -12.
+ CJ054 RJ014 -1. RJ040 1.
+ CJ054 RJ061 3.8 RJ062 -6.5
+ CJ054 RJ063 .71 RJ064 -13.
+ CJ054 RJ065 -13. RJ079 1.
+ CJ055 RJ014 -1. RJ043 1.
+ CJ055 RJ066 6. RJ067 -11.5
+ CJ055 RJ068 .71 RJ069 -23.
+ CJ055 RJ070 8.24 RJ071 -26.
+ CJ055 RJ079 1.
+ CJ056 RJ014 -1. RJ045 1.
+ CJ056 RJ072 -36. RJ073 -30.09
+ CJ056 1RJ073 29.28 RJ074 .71
+ CJ056 1RJ074 -76.5
+ 1CJ056 RJ014 -1. RJ031 1.087
+ CJ057 RJ014 -1. RJ046 1.
+ CJ057 RJ075 -36. RJ076 -26.97
+ CJ057 1RJ076 26.33 RJ077 .71
+ CJ057 RJ078 -73.5
+ 1CJ057 RJ014 -1. RJ042 1.
+ 1CJ057 RJ102 -21. RJ103 -26.97
+ 1CJ057 RJ104 26.33 RJ105 .71
+ 1CJ057 RJ106 -73.5
+ CJ058 RJ015 -1. RJ040 1.
+ CJ058 RJ061 -2.6 RJ062 3.
+ CJ058 RJ063 -3.01 RJ064 4.
+ CJ058 RJ065 -8. RJ079 1.
+ 1CJ058 RJ015 -1. RJ031 -.055
+ 1CJ058 RJ040 1. RJ061 -2.6
+ 1CJ058 RJ062 -.5 RJ063 -3.01
+ 1CJ058 RJ064 4. RJ065 -8.
+ 1CJ058 RJ079 1. RJ100 1.
+ CJ059 RJ015 -1. RJ043 1.
+ CJ059 RJ066 -.4 RJ067 -2.
+ CJ059 RJ068 -3.33 RJ069 -6.
+ CJ059 RJ070 .38 RJ071 -21.
+ CJ059 RJ079 1.
+ CJ060 RJ015 -1. RJ045 1.
+ CJ060 RJ072 -27. RJ073 -22.23
+ CJ060 1RJ073 21.42 RJ074 -3.33
+ CJ060 1RJ074 -53.
+ 1CJ060 RJ015 -1. RJ031 1.06
+ CJ061 RJ015 -1. RJ046 1.
+ CJ061 RJ075 -27. RJ076 -19.11
+ CJ061 1RJ076 18.47 RJ077 -3.33
+ CJ061 RJ078 -50.
+ 1CJ061 RJ015 -1. RJ042 1.
+ 1CJ061 RJ102 -12. RJ103 -19.11
+ 1CJ061 RJ104 18.47 RJ105 -3.33
+ 1CJ061 RJ106 -50.
+ CJ062 RJ018 -1. RJ040 1.
+ CJ062 RJ061 -3.8 RJ062 .1
+ CJ062 RJ063 -3.01 RJ064 7.
+ CJ062 RJ065 -6.5 RJ079 1.
+ CJ063 RJ018 -1. RJ043 1.
+ CJ063 RJ066 -1.6 RJ067 -4.9
+ CJ063 RJ068 -3.33 RJ069 -3.
+ CJ063 RJ070 -1.22 RJ071 -18.5
+ CJ063 RJ079 1.
+ CJ064 RJ018 -1. RJ045 1.
+ CJ064 RJ072 -29.4 RJ073 -20.63
+ CJ064 1RJ073 19.82 RJ074 -3.33
+ CJ064 1RJ074 -50.
+ CJ065 RJ018 -1. RJ046 1.
+ CJ065 RJ075 -29.4 RJ076 -17.51
+ CJ065 1RJ076 16.87 RJ077 -3.33
+ CJ065 RJ078 -47.
+ 1CJ065 RJ018 -1. RJ042 1.
+ 1CJ065 RJ102 -14.4 RJ103 -17.51
+ 1CJ065 RJ104 16.87 RJ105 -3.33
+ 1CJ065 RJ106 -47.
+ CJ066 RJ020 -1. RJ040 1.
+ CJ066 RJ061 -2.7 RJ062 .3
+ CJ066 RJ063 -3.01 RJ064 4.
+ CJ066 RJ065 -4. RJ079 1.
+ CJ067 RJ020 -1. RJ043 1.
+ CJ067 RJ066 -.5 RJ067 -4.7
+ CJ067 RJ068 -3.17 RJ069 -6.
+ CJ067 RJ070 -.92 RJ071 -20.
+ CJ067 RJ079 1.
+ CJ068 RJ020 -1. RJ045 1.
+ CJ068 RJ072 -29.2 RJ073 -20.93
+ CJ068 1RJ073 20.12 RJ074 -3.17
+ CJ068 1RJ074 -53.
+ CJ069 RJ020 -1. RJ046 1.
+ CJ069 RJ075 -29.2 RJ076 -17.81
+ CJ069 1RJ076 17.17 RJ077 -3.17
+ CJ069 RJ078 -50.
+ CJ070 RJ020 -1. RJ042 1.
+ CJ070 RJ102 -14.2 RJ103 -17.81
+ CJ070 RJ104 17.17 RJ105 -3.17
+ CJ070 RJ106 -50.
+ CJ074 RJ016 -1. RJ040 1.
+ CJ074 RJ061 -7.6 RJ062 11.
+ CJ074 RJ063 -1.65 RJ064 26.
+ CJ074 RJ065 -4. RJ079 1.
+ CJ075 RJ016 -1. RJ043 1.
+ CJ075 RJ066 -5.4 RJ067 6.
+ CJ075 RJ068 -1.65 RJ069 16.
+ CJ075 RJ070 -7.62 RJ071 -14.
+ CJ075 RJ079 1.
+ CJ076 RJ016 -1. RJ045 1.
+ CJ076 RJ072 -18.5 RJ073 -14.23
+ CJ076 1RJ073 13.42 RJ074 -1.65
+ CJ076 1RJ074 -30.
+ 1CJ076 RJ016 -1. RJ031 1.044
+ CJ077 RJ016 -1. RJ046 1.
+ CJ077 RJ075 -18.5 RJ076 -11.11
+ CJ077 1RJ076 10.47 RJ077 -1.65
+ CJ077 RJ078 -27.
+ 1CJ077 RJ016 -1. RJ042 1.
+ 1CJ077 RJ102 -3.5 RJ103 -11.11
+ 1CJ077 RJ104 10.47 RJ105 -1.65
+ 1CJ077 RJ106 -27.
+ CJ078 RJ019 -1. RJ040 1.
+ CJ078 RJ061 -8.7 RJ062 5.5
+ CJ078 RJ063 -1.65 RJ064 38.
+ CJ078 RJ065 -2. RJ079 1.
+ CJ079 RJ019 -1. RJ043 1.
+ CJ079 RJ066 -6.5 RJ067 .5
+ CJ079 RJ068 -1.65 RJ069 28.
+ CJ079 RJ070 -9.12 RJ071 -11.5
+ CJ079 RJ079 1.
+ CJ080 RJ019 -1. RJ045 1.
+ CJ080 RJ072 -24. RJ073 -12.73
+ CJ080 1RJ073 11.92 RJ074 -1.65
+ CJ080 1RJ074 -18.
+ CJ081 RJ019 -1. RJ046 1.
+ CJ081 RJ075 -24. RJ076 -9.61
+ CJ081 1RJ076 8.97 RJ077 -1.65
+ CJ081 RJ078 -15.
+ CJ082 RJ019 -1. RJ042 1.
+ CJ082 RJ102 -9. RJ103 -9.61
+ CJ082 RJ104 8.97 RJ105 -1.65
+ CJ082 RJ106 -15.
+ CJ086 RJ021 -1. RJ040 1.
+ CJ086 RJ061 -6.3 RJ062 8.
+ CJ086 RJ063 -1.65 RJ064 38.
+ CJ086 RJ065 3. RJ079 1.
+ CJ087 RJ021 -1. RJ043 1.
+ CJ087 RJ066 -5.1 RJ067 3.
+ CJ087 RJ068 -1.65 RJ069 28.
+ CJ087 RJ070 -6.52 RJ071 -12.5
+ CJ087 RJ079 1.
+ CJ088 RJ021 -1. RJ045 1.
+ CJ088 RJ072 -21.5 RJ073 -15.33
+ CJ088 1RJ073 14.52 RJ074 -1.65
+ CJ088 1RJ074 -18.
+ CJ089 RJ021 -1. RJ046 1.
+ CJ089 RJ075 -21.5 RJ076 -12.21
+ CJ089 1RJ076 11.57 RJ077 -1.65
+ CJ089 RJ078 -15.
+ CJ090 RJ021 -1. RJ042 1.
+ CJ090 RJ102 -6.5 RJ103 -12.21
+ CJ090 RJ104 11.57 RJ105 -1.65
+ CJ090 RJ106 -15.
+ CJ099 RJ025 -1. RJ045 1.
+ CJ099 RJ072 1.5 RJ073 .21
+ CJ099 1RJ073 -1.02 RJ074 -2.14
+ CJ099 1RJ074 -10.
+ CJ100 RJ025 -1. RJ046 1.
+ CJ100 RJ075 1.5 RJ076 3.33
+ CJ100 1RJ076 -3.97 RJ077 -2.14
+ CJ100 RJ078 -7.
+ 1CJ100 RJ025 -1. RJ042 1.
+ 1CJ100 RJ102 16.5 RJ103 3.33
+ 1CJ100 RJ104 -3.97 RJ105 -2.14
+ 1CJ100 RJ106 -7.
+ CJ102 RJ026 -1. RJ045 1.
+ CJ102 RJ072 -15. RJ073 -1.8
+ CJ102 1RJ073 .99 RJ074 -2.14
+ CJ102 1RJ074 -2.
+ CJ103 RJ026 -1. RJ046 1.
+ CJ103 RJ075 -15. RJ076 1.32
+ CJ103 1RJ076 -1.96 RJ077 -2.14
+ CJ103 RJ078 1.
+ 1CJ103 RJ026 -1. RJ042 1.
+ 1CJ103 RJ103 1.32 RJ104 -1.96
+ 1CJ103 RJ105 -2.14 RJ106 1.
+ CJ105 RJ027 -1. RJ045 1.
+ CJ105 RJ072 -3.5 RJ073 -1.65
+ CJ105 1RJ073 .84 RJ074 -2.14
+ CJ105 1RJ074 -10.
+ CJ106 RJ027 -1. RJ046 1.
+ CJ106 RJ075 -3.5 RJ076 1.47
+ CJ106 1RJ076 -2.11 RJ077 -2.14
+ CJ106 RJ078 -7.
+ CJ107 RJ027 -1. RJ042 1.
+ CJ107 RJ102 11.5 RJ103 1.47
+ CJ107 RJ104 -2.11 RJ105 -2.14
+ CJ107 RJ106 -7.
+ CJ108 RJ028 -1. RJ045 1.
+ CJ108 RJ072 -14. RJ073 -4.13
+ CJ108 1RJ073 3.32 RJ074 -2.14
+ CJ108 1RJ074 10.
+ CJ109 RJ028 -1. RJ046 1.
+ CJ109 RJ075 -14. RJ076 -1.01
+ CJ109 1RJ076 .37 RJ077 -2.14
+ CJ109 RJ078 13.
+ 1CJ109 RJ028 -1. RJ042 1.
+ 1CJ109 RJ102 1. RJ103 -1.01
+ 1CJ109 RJ104 .37 RJ105 -2.14
+ 1CJ109 RJ106 13.
+ CJ111 RJ029 -1. RJ045 1.
+ CJ111 RJ072 -11. RJ073 .8
+ CJ111 1RJ073 -1.61 RJ074 -2.14
+ CJ111 1RJ074 -2.
+ CJ112 RJ029 -1. RJ046 1.
+ CJ112 RJ075 -11. RJ076 3.92
+ CJ112 1RJ076 -4.56 RJ077 -2.14
+ CJ112 RJ078 1.
+ CJ113 RJ029 -1. RJ042 1.
+ CJ113 RJ102 4. RJ103 3.92
+ CJ113 RJ104 -4.56 RJ105 -2.14
+ CJ113 RJ106 1.
+ CJ114 RJ030 -1. RJ045 1.
+ CJ114 RJ072 -11. RJ073 -3.72
+ CJ114 1RJ073 2.91 RJ074 -2.14
+ CJ114 1RJ074 -2.
+ CJ115 RJ030 -1. RJ046 1.
+ CJ115 RJ075 -11. RJ076 -.6
+ CJ115 1RJ076 -.04 RJ077 -2.14
+ CJ115 RJ078 1.
+ 1CJ115 RJ030 -1. RJ042 1.
+ 1CJ115 RJ102 4. RJ103 -.6
+ 1CJ115 RJ104 -.04 RJ105 -2.14
+ 1CJ115 RJ106 1.
+ CJ116 RJ024 -1. RJ045 1.
+ CJ116 RJ072 -22. RJ073 -5.87
+ CJ116 1RJ073 5.06 RJ074 -2.14
+ CJ116 1RJ074 17.
+ CJ117 RJ024 -1. RJ046 1.
+ CJ117 RJ075 -22. RJ076 -2.75
+ CJ117 1RJ076 2.11 RJ077 -2.14
+ CJ117 RJ078 20.
+ CJ118 RJ024 -1. RJ042 1.
+ CJ118 RJ102 -7. RJ103 -2.75
+ CJ118 RJ104 2.11 RJ105 -2.14
+ CJ118 RJ106 20.
+ 1CJ120 RJ014 -.05 RJ015 -.33
+ 1CJ120 RJ025 -.62 RJ047 1.
+ CJ121 1RJ007 -1. RJ051 1.
+ CJ122 RJ031 1. RJ045 -1.
+ 1CJ122 RJ031 1. RJ046 -1.
+ CJ123 R0000 .9103 RC0ST 1.258
+ CJ123 RJ033 -1. RJ055 2.667
+ CJ123 RJ081 1.
+ CJ124 RJ032 -.65 RJ033 -.35
+ CJ124 RJ053 2.6 RJ054 -6.07
+ CJ124 RJ056 1.4 RJ057 -3.27
+ CJ124 RJ082 1.
+ 1CJ125 R0000 .165 RJ032 -1.
+ 1CJ125 RJ052 5.73 RJ053 4.
+ 1CJ125 RJ054 -9.33 RJ083 1.
+ CJ126 R0000 1.0891 RC0ST 1.258
+ CJ126 RJ038 -1. RJ084 1.
+ 1CJ126 R0000 1.079 RC0ST 1.258
+ 1CJ126 RJ040 -1. 1RJ084 1.
+ CJ131 RJ046 -1. RJ075 6.
+ CJ131 RJ076 1.23 1RJ076 -1.77
+ CJ131 RJ078 -3. RJ089 1.
+ CJ133 R0000 .001 RJ048 1.
+ CJ133 RJ080 -1.
+ CJ134 RJ045 -1. RJ073 .74
+ CJ134 1RJ073 -.78 RJ091 1.
+ CJ135 RJ045 -1. RJ072 5.
+ CJ135 RJ073 1.96 1RJ073 -1.84
+ CJ135 1RJ074 11. RJ092 1.
+ CJ150 R0000 .651 RJ052 -8.035
+ CJ150 RJ095 1.
+ CJ151 R0000 .651 RJ055 -15.625
+ CJ151 RJ096 1.
+ CJG55 RJ040 -1. 1RJ041 1.
+ CJG55 RJ062 2.5
+ CJF35 RJ046 -1. 2RJ046 1.
+ CJF35 RJ075 5.
+ CJF80 RJ045 -1. 2RJ045 1.
+ CJF80 RJ072 5. 1RJ073 .26
+ CJF80 1RJ074 3.
+ CM001 R0000 .8675 1RM001 1.
+ CM001 RM002 .155 2RM003 .24
+ CM001 1RM006 .555 RGACH .5
+ CM001 RKUWT .5
+ 1CM004 2RM003 -.145 RM005 1.
+ 1CM004 1RM006 -.855
+ CM005 R0000 .8687 1RM001 1.
+ CM005 RM002 .15 2RM003 .255
+ CM005 1RM006 .545 RKUWT 1.
+ CM006 1RM003 1. 2RM003 -1.171
+ CM006 RM004 .171
+ CM007 R0000 .8677 1RM001 1.
+ CM007 RM002 .155 2RM003 .24
+ CM007 RM006 .416 2RM006 .139
+ CM007 RGACH .5 RKUWT .5
+ CY001 R0000 .275 RY001 -.149
+ CY001 RY002 -.273 RY004 -.55
+ CY001 RY005 1. RKUWT 1.
+ 1CY001 R0000 .275 RY001 -.173
+ 1CY001 RY002 -.245 RY004 -.55
+ 1CY001 RY005 1. RKUWT 1.
+ CY002 R0000 -2.4 RY001 1.
+ CY003 R0000 -2.4 1RY001 1.
+ CZ001 RZ001 -1. RZ002 1.4
+ CZ001 RZ004 -.3 RZ005 .2
+ CZ001 RZ006 -.25 RZ019 -.05
+ CZ013 RZ002 .16 RZ004 -.1
+ CZ013 RZ005 .9 RZ006 -1.
+ CZ013 RZ016 .03 RZ019 .01
+ CZ014 RZ016 .2 RZ019 .8
+ CZ014 RZ020 -1.
+ ZH145 R0000 1.798 RC0ST 2.5667
+ ZH145 RMSEX -1. RH031 1.
+ ZH145 RH106 1. RZ001 1.
+ HM145 R0000 1.0821 RC0ST 2.133
+ HM145 RMSEX 1. RH031 -1.
+ HM145 RM011 1.
+ ZM145 R0000 2.3051 RC0ST 3.642
+ ZM145 RM011 1. RZ001 1.
+ ZH130 R0000 1.665 RC0ST 2.5667
+ ZH130 RMSEX -1. RH032 1.
+ ZH130 RH106 1. RZ002 1.
+ HM130 R0000 1.0821 RC0ST 2.133
+ HM130 RMSEX 1. RH032 -1.
+ HM130 RM012 1.
+ ZM130 R0000 2.2078 RC0ST 3.483
+ ZM130 RM012 1. RZ002 1.
+ HBBMS R0000 .3197 RC0ST .629
+ HBBMS RB033 1. 1RH034 -1.
+ BDBMS R0000 .2691 RC0ST .44
+ BDBMS RB033 -1. RDBMS 1.
+ HDBMS R0000 .1698 RC0ST .335
+ HDBMS RDBMS 1. 1RH034 -1.
+ H1BMS R0000 .3102 RC0ST .492
+ H1BMS 1RH034 -1. R1045 1.
+ HBPMS R0000 .3196 RC0ST .6292
+ HBPMS RB035 1. 1RH035 -1.
+ JBPMS R0000 1.301 RC0ST 2.038
+ JBPMS RMSEX -1. RB035 1.
+ JBPMS RJ083 -1.
+ BHPMS R0000 .2875 RC0ST .5
+ BHPMS RB035 -1. 1RH035 1.
+ BHPMS RH106 1.
+ 1HPMS R0000 .256 RC0ST .377
+ 1HPMS 1RH035 1. RH106 1.
+ 1HPMS R1047 -1.
+ JHPMS R0000 1.2071 RC0ST 1.883
+ JHPMS RMSEX -1. 1RH035 1.
+ JHPMS RH106 1. RJ083 -1.
+ H1PMS R0000 .3102 RC0ST .492
+ H1PMS 1RH035 -1. R1047 1.
+ J1PMS R0000 1.4161 RC0ST 2.112
+ J1PMS RMSEX -1. R1047 1.
+ J1PMS RJ083 -1.
+ HBRMS R0000 .3196 RC0ST .6292
+ HBRMS RB037 1. 1RH036 -1.
+ JBRMS R0000 1.301 RC0ST 2.038
+ JBRMS RMSEX -1. RB037 1.
+ JBRMS RJ082 -1.
+ BHRMS R0000 .2875 RC0ST .5
+ BHRMS RB037 -1. 1RH036 1.
+ BHRMS RH106 1.
+ 1HRMS R0000 .256 RC0ST .377
+ 1HRMS 1RH036 1. RH106 1.
+ 1HRMS R1051 -1.
+ JHRMS R0000 1.2071 RC0ST 1.883
+ JHRMS RMSEX -1. 1RH036 1.
+ JHRMS RH106 1. RJ082 -1.
+ H1RMS R0000 .3102 RC0ST .492
+ H1RMS 1RH036 -1. R1051 1.
+ J1RMS R0000 1.4161 RC0ST 2.112
+ J1RMS RMSEX -1. R1051 1.
+ J1RMS RJ082 -1.
+ HNM00 R0000 .2909 30M00 1.
+ HNM00 RC0ST .575 RMSEX 1.
+ HNM00 RH034 -1. RH063 -2.281
+ HNM00 1RH066 .15 2RH106 1.
+ ZBM83 R0000 1.8441 RC0ST 2.708
+ ZBM83 RMSEX -1. RB036 1.
+ ZBM83 RB068 4.107 RZ006 1.
+ ZHM83 R0000 1.659 RC0ST 2.554
+ ZHM83 RMSEX -1. RH036 1.
+ ZHM83 RH072 4.138 RH106 1.
+ ZHM83 RZ006 1.
+ ZJM83 R0000 .6885 RC0ST .9542
+ ZJM83 RJ033 1. RJ055 5.58
+ ZJM83 RJ056 -8.3 RJ057 9.7
+ ZJM83 RJ096 -.594 RZ006 1.
+ EAM87 R0000 1.1876 KW1RC 1.
+ EAM87 1RA099 1. RE040 -1.
+ AEM87 R0000 1.3354 KW1RC -1.
+ AEM87 1RA099 -1. RE040 1.
+ HNM90 R0000 .4099 30M91 1.
+ HNM90 RC0ST .575 RMSEX 1.
+ HNM90 RH036 -1. RH072 5.517
+ HNM90 RH075 .154 2RH106 1.
+ 1NM90 R0000 .5832 30M91 1.
+ 1NM90 RC0ST .729 RMSEX 1.
+ 1NM90 R1050 -1. R1079 5.5
+ 1NM90 R1080 .154
+ JNM90 R0000 1.6032 30M91 1.
+ JNM90 RC0ST 2.429 RH106 1.
+ JNM90 RJ032 -.58 RJ033 -.42
+ JNM90 RJ053 2.32 RJ054 -5.41
+ JNM90 RJ056 1.68 RJ057 -3.92
+ 1HNM94 R0000 1.0859 30M94 1.
+ 1HNM94 RC0ST .575 RMSEX 1.
+ 1HNM94 RH008 -.02 RH013 -.04
+ 1HNM94 RH016 -.13 RH095 -.81
+ 1HNM94 2RH106 1.
+ 2HNM94 R0000 1.0859 30M94 1.
+ 2HNM94 RC0ST .575 RMSEX 1.
+ 2HNM94 RH010 -.13 RH013 -.29
+ 2HNM94 RH095 -.58 2RH106 1.
+ JNM94 R0000 1.6032 30M94 1.
+ JNM94 RC0ST 2.429 RH106 1.
+ JNM94 RJ032 -.92 RJ033 -.08
+ JNM94 RJ053 3.68 RJ054 -8.59
+ JNM94 RJ056 .32 RJ057 -.75
+ ZHM95 R0000 1.659 RC0ST 2.554
+ ZHM95 RMSEX -1. RH036 1.
+ ZHM95 RH072 -12.195 RH106 1.
+ ZHM95 RZ005 1.
+ ZJM95 R0000 .7866 RC0ST .954
+ ZJM95 RJ032 1. RJ052 5.48
+ ZJM95 RJ053 -4.07 RJ054 9.5
+ ZJM95 RJ095 -.43 RZ005 1.
+ EAM97 R0000 1.1876 KW1RC 1.
+ EAM97 RA097 1. RE035 -1.
+ EAM97 RE068 -1.31
+ AEM97 R0000 1.3354 KW1RC -1.
+ AEM97 RA039 -1. RE036 1.
+ ABLDF R0000 4.2007 RC0ST 2.133
+ ABLDF RLDEX -1. RA023 -1.
+ ABLDF RA100 1. 1RB038 1.
+ EBLDF R0000 4.3074 RC0ST 2.367
+ EBLDF RLDEX -1. 1RB038 1.
+ EBLDF RE039 -1. RE104 1.
+ HBLDF R0000 .3197 RC0ST .629
+ HBLDF 1RB038 1. RH039 -1.
+ 1BLDF R0000 .4124 RC0ST .662
+ 1BLDF 1RB038 1. R1055 -1.
+ JBLDF R0000 1.301 RC0ST 2.038
+ JBLDF RLDEX -1. 1RB038 1.
+ JBLDF RJ035 -1.
+ MBLDF R0000 .6302 RC0ST 1.271
+ MBLDF RLDEX -1. 1RB038 1.
+ MBLDF RM002 -1.
+ YBLDF R0000 1.5743 RC0ST 2.612
+ YBLDF RLDEX -1. 1RB038 1.
+ YBLDF RY001 1.
+ 1YBLDF R0000 1.5743 RC0ST 2.612
+ 1YBLDF RLDEX -1. 1RB038 1.
+ 1YBLDF 1RY001 1.
+ BHLDF R0000 .2875 RC0ST .5
+ BHLDF 1RB038 -1. RH039 1.
+ BHLDF RH106 1.
+ EHLDF R0000 4.2174 RC0ST 2.221
+ EHLDF RLDEX -1. RE039 -1.
+ EHLDF RE104 1. RH039 1.
+ EHLDF RH106 1.
+ 1HLDF R0000 .256 RC0ST .377
+ 1HLDF RH039 1. RH106 1.
+ 1HLDF R1055 -1.
+ JHLDF R0000 1.2071 RC0ST 1.883
+ JHLDF RLDEX -1. RH039 1.
+ JHLDF RH106 1. RJ035 -1.
+ YHLDF R0000 1.4803 RC0ST 2.458
+ YHLDF RLDEX -1. RH039 1.
+ YHLDF RH106 1. RY001 1.
+ 1YHLDF R0000 1.4803 RC0ST 2.458
+ 1YHLDF RLDEX -1. RH039 1.
+ 1YHLDF RH106 1. 1RY001 1.
+ A1LDF R0000 4.3906 RC0ST 2.367
+ A1LDF RLDEX -1. RA023 -1.
+ A1LDF RA100 1. R1055 1.
+ B1LDF R0000 .4671 RC0ST .717
+ B1LDF 1RB038 -1. R1055 1.
+ E1LDF R0000 4.4302 RC0ST 2.458
+ E1LDF RLDEX -1. RE039 -1.
+ E1LDF RE104 1. R1055 1.
+ H1LDF R0000 .3102 RC0ST .492
+ H1LDF RH039 -1. R1055 1.
+ J1LDF R0000 1.4161 RC0ST 2.112
+ J1LDF RLDEX -1. R1055 1.
+ J1LDF RJ035 -1.
+ M1LDF R0000 .745 RC0ST 1.346
+ M1LDF RLDEX -1. R1055 1.
+ M1LDF RM002 -1.
+ Y1LDF R0000 1.689 RC0ST 2.688
+ Y1LDF RLDEX -1. R1055 1.
+ Y1LDF RY001 1.
+ 1Y1LDF R0000 1.689 RC0ST 2.688
+ 1Y1LDF RLDEX -1. R1055 1.
+ 1Y1LDF 1RY001 1.
+ ACLD4 R0000 4.7156 RC0ST 2.4208
+ ACLD4 RLDEX -1. RA023 -1.
+ ACLD4 RA100 1. RCLD4 1.
+ BCLD4 R0000 .4978 RC0ST .512
+ BCLD4 2RB007 -1. RCLD4 1.
+ ECLD4 R0000 4.8185 RC0ST 2.6417
+ ECLD4 RLDEX -1. RCLD4 1.
+ ECLD4 RE039 -1. RE104 1.
+ HCLD4 R0000 .5773 RC0ST .742
+ HCLD4 RCLD4 1. 2RH039 -1.
+ 1CLD4 R0000 .3436 RC0ST .6584
+ 1CLD4 RCLD4 1. R1054 -1.
+ JCLD4 R0000 1.6987 RC0ST 2.217
+ JCLD4 RLDEX -1. RCLD4 1.
+ JCLD4 1RJ008 -1. 1RJ050 1.
+ ADLD4 R0000 4.3985 RC0ST 2.1042
+ ADLD4 RLDEX -1. RA023 -1.
+ ADLD4 RA100 1. RDLD4 1.
+ BDLD4 R0000 .2692 RC0ST .4396
+ BDLD4 2RB007 -1. RDLD4 1.
+ EDLD4 R0000 4.5113 RC0ST 2.3458
+ EDLD4 RLDEX -1. RDLD4 1.
+ EDLD4 RE039 -1. RE104 1.
+ HDLD4 R0000 .1697 RC0ST .3354
+ HDLD4 RDLD4 1. 2RH039 -1.
+ 1DLD4 R0000 .2737 RC0ST .3358
+ 1DLD4 RDLD4 1. R1054 -1.
+ JDLD4 R0000 1.2169 RC0ST 1.825
+ JDLD4 RLDEX -1. RDLD4 1.
+ JDLD4 1RJ008 -1. 1RJ050 1.
+ BJW37 R0000 .3251 RC0ST .579
+ BJW37 RB007 -.45 RB008 -.55
+ BJW37 RJ036 1. UKLDF -1.
+ 1BJW37 R0000 .3251 RC0ST .579
+ 1BJW37 RB007 -.45 1RB008 -.55
+ 1BJW37 RJ036 1. UKLDF -1.
+ YJW37 R0000 1.5376 RC0ST 2.579
+ YJW37 RLDEX -1. RJ036 1.
+ YJW37 RY001 1.
+ BNATG R0000 .5656 RC0ST .808
+ BNATG RLDEX 1. RB039 -1.
+ BNATG RN009 1.
+ BXATG R0000 .4622 RC0ST .725
+ BXATG RLDEX 1. RB039 -1.
+ BXATG RXATG 1.
+ HBK19 R0000 .3197 RC0ST .629
+ HBK19 RB041 1. RH041 -1.
+ JBK19 R0000 1.301 RC0ST 2.038
+ JBK19 RPKEX -1. RB041 1.
+ JBK19 RJ039 -1.
+ BDK19 R0000 .2691 RC0ST .44
+ BDK19 RB041 -1. RDK19 1.
+ HDK19 R0000 .1698 RC0ST .335
+ HDK19 RDK19 1. RH041 -1.
+ 1DK19 R0000 .2737 RC0ST .336
+ 1DK19 RDK19 1. R1058 -1.
+ JDK19 R0000 1.2169 RC0ST 1.825
+ JDK19 RPKEX -1. RDK19 1.
+ JDK19 RJ039 -1.
+ BHK19 R0000 .2875 RC0ST .5
+ BHK19 RB041 -1. RH041 1.
+ BHK19 RH106 1.
+ 1HK19 R0000 .256 RC0ST .377
+ 1HK19 RH041 1. RH106 1.
+ 1HK19 R1058 -1.
+ JHK19 R0000 1.2071 RC0ST 1.883
+ JHK19 RPKEX -1. RH041 1.
+ JHK19 RH106 1. RJ039 -1.
+ H1K19 R0000 .3102 RC0ST .492
+ H1K19 RH041 -1. R1058 1.
+ J1K19 R0000 1.4161 RC0ST 2.112
+ J1K19 RPKEX -1. R1058 1.
+ J1K19 RJ039 -1.
+ BNK19 R0000 .5233 30PGK 1.
+ BNK19 RC0ST .808 RPKEX 1.
+ BNK19 RB041 -1.
+ HNK19 R0000 .3624 30PGK 1.
+ HNK19 RC0ST .575 RPKEX 1.
+ HNK19 RH041 -1.
+ 1NK19 R0000 .5357 30PGK 1.
+ 1NK19 RC0ST .729 RPKEX 1.
+ 1NK19 R1058 -1.
+ JNK19 R0000 1.5557 30PGK 1.
+ JNK19 RC0ST 2.429 RH106 1.
+ JNK19 RJ039 -1.
+ JAATK R0000 -4.5305 RC0ST 1.688
+ JAATK RA041 1. RA100 -1.
+ JAATK RJ038 -1.
+ ABATK R0000 6.1787 RC0ST 2.133
+ ABATK RRKEX -1. RA041 -1.
+ ABATK RA100 1. RB042 1.
+ JBATK R0000 1.301 RC0ST 2.038
+ JBATK RRKEX -1. RB042 1.
+ JBATK RJ038 -1.
+ ZBATK R0000 1.7531 RC0ST 2.708
+ ZBATK RRKEX -1. RB042 1.
+ ZBATK RZ012 1.
+ AHATK R0000 6.1875 RC0ST 2.1958
+ AHATK RRKEX -1. RA041 -1.
+ AHATK RA100 1. 2RH042 1.
+ AHATK RH106 1.
+ BHATK R0000 .2875 RC0ST .5
+ BHATK RB042 -1. RB098 1.
+ BHATK 2RH042 1. RH106 1.
+ 1HATK R0000 .256 RC0ST .377
+ 1HATK 2RH042 1. R1057 -1.
+ JHATK R0000 1.2071 RC0ST 1.883
+ JHATK RRKEX -1. 2RH042 1.
+ JHATK RH106 1. RJ038 -1.
+ ZHATK R0000 1.659 RC0ST 2.554
+ ZHATK RRKEX -1. 2RH042 1.
+ ZHATK RH106 1. RZ012 1.
+ A1ATK R0000 6.3686 RC0ST 2.367
+ A1ATK RRKEX -1. RA041 -1.
+ A1ATK RA100 1. R1057 1.
+ B1ATK R0000 .4671 RC0ST .717
+ B1ATK RB042 -1. RB098 1.
+ B1ATK R1057 1.
+ J1ATK R0000 1.4161 RC0ST 2.112
+ J1ATK RRKEX -1. R1057 1.
+ J1ATK RJ038 -1.
+ BJATK R0000 .301 RC0ST .292
+ BJATK RRKEX 1. RB042 -1.
+ BJATK RB098 1. RJ084 1.
+ ZJATK R0000 1.5604 RC0ST 1.9333
+ ZJATK RJ084 1. RZ012 1.
+ BNATK R0000 .5656 30ATK 1.
+ BNATK RC0ST .808 RRKEX 1.
+ BNATK RB042 -1. RB098 1.
+ HNATK R0000 .3624 30ATK 1.
+ HNATK RC0ST .575 RRKEX 1.
+ HNATK 2RH042 -1.
+ 1NATK R0000 .5357 30ATK 1.
+ 1NATK RC0ST .729 RRKEX 1.
+ 1NATK R1057 -1.
+ JNATK R0000 1.598 30ATK 1.
+ JNATK RC0ST 2.429 RH106 1.
+ JNATK RJ038 -1.
+ ANG17 R0000 5.2133 30G17 1.
+ ANG17 RC0ST 2.725 RA043 -1.
+ ANG17 RA075 .57 RA076 -.59
+ ANG17 RA077 -3.5 RA079 6.
+ ANG17 RA081 -15. RA100 1.
+ ANG17 RH106 1.
+ BNG17 R0000 .4919 30G17 1.
+ BNG17 RC0ST .808 RG0EX 1.
+ BNG17 RB045 -1. RB078 -1.
+ HNG17 R0000 .3435 30G17 1.
+ HNG17 RC0ST .575 RG0EX 1.
+ HNG17 RH043 -1. RH080 1.506
+ HNG17 RH081 -4.146
+ 1NG17 R0000 .5168 30G17 1.
+ 1NG17 RC0ST .729 RG0EX 1.
+ 1NG17 R1060 -1. R1088 -4.08
+ JNG17 R0000 1.5368 30G17 1.
+ JNG17 RC0ST 2.429 RH106 1.
+ JNG17 RJ040 -1. RJ061 -.8
+ JNG17 RJ064 6.
+ MNG17 R0000 .858 30G17 1.
+ MNG17 RC0ST 1.646 RH106 1.
+ MNG17 1RM003 -1.
+ NNG17 R0000 -.3435 30G17 -1.
+ NNG17 RC0ST -.575 RG0EX -1.
+ NNG17 1RN014 1.
+ HAG20 R0000 -3.0715 RC0ST 1.8
+ HAG20 RG0EX 1. RA044 1.
+ HAG20 RA100 -1. RH046 -1.002
+ HAG20 RH062 .002 1RH089 -1.434
+ HAG20 2RH089 4. 3RH089 8.434
+ AEG20 R0000 1.3172 KW1RC -1.
+ AEG20 RA044 -1. RE044 1.
+ 1AJG22 R0000 3.8065 RC0ST .5
+ 1AJG22 RA043 -1. RA077 -3.5
+ 1AJG22 RA081 -15. RA100 1.
+ 1AJG22 RJ040 1.
+ BJG22 R0000 .3011 RC0ST .2917
+ BJG22 RG0EX 1. RB047 -1.
+ BJG22 RB082 -1.8 RB083 2.5
+ BJG22 RB086 -7.42 1RJ084 1.
+ MJG22 R0000 .2747 RC0ST .329
+ MJG22 1RJ084 1. 1RM003 -1.
+ YJG22 R0000 .4078 RC0ST .858
+ YJG22 RJ040 1. RJ079 1.
+ YJG22 RY002 1.
+ 1YJG22 R0000 2.0671 RC0ST 3.338
+ 1YJG22 1RJ084 1. RY002 1.
+ ZJG22 R0000 .5866 RC0ST .954
+ ZJG22 RJ040 1. RJ079 1.
+ ZJG22 RZ016 1.
+ ANG22 R0000 5.2133 30G22 1.
+ ANG22 RC0ST 2.725 RA043 -1.
+ ANG22 RA077 -3.5 RA081 -15.
+ ANG22 RA100 1. RH106 1.
+ BNG22 R0000 .4919 30G22 1.
+ BNG22 RC0ST .808 RG0EX 1.
+ BNG22 RB047 -1. RB082 -1.8
+ BNG22 RB086 -7.42
+ HNG22 R0000 .3435 30G22 1.
+ HNG22 RC0ST .575 RG0EX 1.
+ HNG22 RH048 -1.
+ 1NG22 R0000 .5168 30G22 1.
+ 1NG22 RC0ST .729 RG0EX 1.
+ 1NG22 R1062 -1. R1093 -9.48
+ JNG22 R0000 1.5368 30G22 1.
+ JNG22 RC0ST 2.429 RH106 1.
+ JNG22 RJ040 -1.
+ 1MNG22 R0000 .858 30G22 1.
+ 1MNG22 RC0ST 1.6458 RH106 1.
+ 1MNG22 2RM003 -1.
+ YNG22 R0000 1.8099 30G22 1.
+ YNG22 RC0ST 3.004 RH106 1.
+ YNG22 RY002 1.
+ H1G27 R0000 .3102 RC0ST .492
+ H1G27 RH046 -1. R1061 1.
+ 1ARG29 R0000 5.0009 RC0ST 2.45
+ 1ARG29 RA043 -1. RA075 -1.42
+ 1ARG29 RA077 -1. RA078 -.99
+ 1ARG29 RA079 1.5 RA081 -15.
+ 1ARG29 RA100 1. RH106 .33
+ 1ARG29 RRG29 1.
+ 1BRG29 R0000 .2829 RC0ST .517
+ 1BRG29 RG0EX 1. RB047 -1.
+ 1BRG29 RB081 -.6 RB082 7.2
+ 1BRG29 RB083 4. RB084 .5
+ 1BRG29 RB085 -2.19 RB086 -3.76
+ 1BRG29 RRG29 1.
+ 1HRG29 R0000 .192 RC0ST .404
+ 1HRG29 RG0EX 1. RH043 -1.
+ 1HRG29 RH080 2.245 RH081 -12.606
+ 1HRG29 RH082 5. RH083 -5.
+ 1HRG29 RH084 -1.379 RRG29 1.
+ 11RG29 R0000 .3039 RC0ST .429
+ 11RG29 RG0EX 1. R1062 -1.
+ 11RG29 R1091 -.73 R1092 4.
+ 11RG29 R1094 -1.98 R1095 -5.
+ 11RG29 R1096 25. RRG29 1.
+ 1JRG29 R0000 1.217 RC0ST 1.904
+ 1JRG29 RH106 .25 RJ011 -.13
+ 1JRG29 RJ014 -.2 RJ015 .2
+ 1JRG29 RJ018 -.98 RJ019 .11
+ 1JRG29 RJ031 -.022 RJ079 1.
+ 1JRG29 RJ100 .5 RRG29 1.
+ 2JRG29 R0000 1.217 RC0ST 1.904
+ 2JRG29 RH106 .25 RJ011 -.13
+ 2JRG29 RJ014 -.2 RJ015 -.31
+ 2JRG29 RJ016 .04 RJ018 -.47
+ 2JRG29 RJ019 .07 RJ031 -.037
+ 2JRG29 RJ079 1. RJ100 .67
+ 2JRG29 RRG29 1.
+ 1MRG29 R0000 .3003 RC0ST 1.104
+ 1MRG29 2RM003 -1. RRG29 1.
+ ANG30 R0000 5.2133 30G30 1.
+ ANG30 RC0ST 2.725 RA043 -1.
+ ANG30 RA075 .57 RA076 -.59
+ ANG30 RA079 6. RA081 -15.
+ ANG30 RA100 1. RH106 1.
+ BNG30 R0000 .4919 30G30 1.
+ BNG30 RC0ST .808 RG0EX 1.
+ BNG30 RB045 -1. RB077 5.
+ BNG30 RB078 -1. RB100 1.
+ HNG30 R0000 .3435 30G30 1.
+ HNG30 RC0ST .575 RG0EX 1.
+ HNG30 RH043 -1. RH080 1.506
+ HNG30 RH081 -4.146 RH082 5.
+ HNG30 RH083 -3.
+ 1NG30 R0000 .5168 30G30 1.
+ 1NG30 RC0ST .729 RG0EX 1.
+ 1NG30 R1060 -1. R1087 5.
+ 1NG30 R1088 -4.08
+ BRG33 R0000 .2987 RC0ST .55
+ BRG33 RG0EX 1. RB047 -1.
+ BRG33 RB081 -.6 RB082 7.2
+ BRG33 RB083 2.5 RB084 .5
+ BRG33 RB085 -2.19 RB086 -5.23
+ BRG33 RR010 1.
+ HRG33 R0000 .2098 RC0ST .442
+ HRG33 RG0EX 1. RH043 -1.
+ HRG33 RH080 2.245 RH081 -10.909
+ HRG33 RH082 3. RH083 -5.
+ HRG33 RH084 -1.379 RR010 1.
+ 1RG33 R0000 .3216 RC0ST .467
+ 1RG33 RG0EX 1. R1062 -1.
+ 1RG33 R1091 -1.47 R1092 2.5
+ 1RG33 R1093 3.15 R1094 -2.65
+ 1RG33 R1095 5. R1096 25.
+ 1RG33 RR010 1.
+ JRG33 R0000 1.217 RC0ST 1.904
+ JRG33 RJ040 -1. RJ062 2.5
+ JRG33 RJ063 -2.53 RJ064 3.
+ JRG33 RJ065 5. RR010 1.
+ 2MRG33 R0000 .3162 RC0ST 1.1375
+ 2MRG33 2RM003 -1. RR010 1.
+ 1HNG44 R0000 .3435 30G44 1.
+ 1HNG44 RC0ST .575 RG0EX 1.
+ 1HNG44 2RH043 -1.
+ 11NG44 R0000 .5168 30G44 1.
+ 11NG44 RC0ST .729 RG0EX 1.
+ 11NG44 R1060 -1. R1086 -1.5
+ 11NG44 R1087 5. R1088 .61
+ BDG55 R0000 .2566 RC0ST .44
+ BDG55 4RB045 -1. RDG55 1.
+ HDG55 R0000 .1698 RC0ST .335
+ HDG55 RDG55 1. 3RH048 -1.
+ 1DG55 R0000 .2737 RC0ST .336
+ 1DG55 RDG55 1. 2R1062 -1.
+ JDG55 R0000 1.2169 RC0ST 1.825
+ JDG55 RG0EX -1. RDG55 1.
+ JDG55 1RJ041 -1.
+ MDG55 R0000 .5461 RC0ST 1.058
+ MDG55 RG0EX -1. RDG55 1.
+ MDG55 2RM003 -1.
+ BHG55 R0000 .275 RC0ST .5
+ BHG55 4RB045 -1. 3RH048 1.
+ BHG55 RH106 1.
+ 1HG55 R0000 .256 RC0ST .377
+ 1HG55 3RH048 1. RH106 1.
+ 1HG55 2R1062 -1.
+ JHG55 R0000 1.2071 RC0ST 1.883
+ JHG55 RG0EX -1. 3RH048 1.
+ JHG55 RH106 1. 1RJ041 -1.
+ MHG55 R0000 .5362 RC0ST 1.117
+ MHG55 RG0EX -1. 3RH048 1.
+ MHG55 RH106 1. 2RM003 -1.
+ B1G55 R0000 .4546 RC0ST .717
+ B1G55 4RB045 -1. 2R1062 1.
+ H1G55 R0000 .3102 RC0ST .492
+ H1G55 3RH048 -1. 2R1062 1.
+ J1G55 R0000 1.4161 RC0ST 2.112
+ J1G55 RG0EX -1. 2R1062 1.
+ J1G55 1RJ041 -1.
+ M1G55 R0000 .745 RC0ST 1.346
+ M1G55 RG0EX -1. 2R1062 1.
+ M1G55 2RM003 -1.
+ YAD11 R0000 -2.5103 RC0ST 2.025
+ YAD11 RA046 1. RY002 .89
+ YAD11 RY004 .11
+ ZAD11 R0000 -2.3364 RC0ST 2.121
+ ZAD11 RA046 1. RZ016 .65
+ ZAD11 RZ019 .35
+ AED16 R0000 1.3106 KW1RC -1.
+ AED16 1RA047 -1. RE047 1.
+ MHD20 R0000 .4804 RC0ST 1.117
+ MHD20 RF0EX -1. 2RH025 1.
+ MHD20 RH106 1. RM004 -1.
+ AJD20 R0000 3.8249 RC0ST .5917
+ AJD20 RA046 -1. RA082 -4.06
+ AJD20 RA083 1.39 RA086 -9.
+ AJD20 RA087 12. RA088 -6.
+ AJD20 RJ043 1.
+ JVD20 R0000 .9756 RC0ST 1.5042
+ JVD20 RJ043 -1. RV001 1.
+ YVD20 R0000 1.2182 RC0ST 2.075
+ YVD20 RV001 1. RY002 1.
+ ZVD20 R0000 1.2774 RC0ST 2.1333
+ ZVD20 RV001 1. RZ016 1.
+ BND22 R0000 .4621 30D22 1.
+ BND22 RC0ST .833 RG0EX 1.
+ BND22 3RB047 -1.
+ HND22 R0000 .3254 30D22 1.
+ HND22 RC0ST .6 RG0EX 1.
+ HND22 2RH048 -1.
+ 1ND22 R0000 .491 30D22 1.
+ 1ND22 RC0ST .754 RG0EX 1.
+ 1ND22 2R1063 -1.
+ EJD26 R0000 3.8023 RC0ST .6
+ EJD26 RE046 -1. RJ043 1.
+ BND30 R0000 .4621 30D30 1.
+ BND30 RC0ST .833 RG0EX 1.
+ BND30 2RB047 -1.
+ HND30 R0000 .3254 30D30 1.
+ HND30 RC0ST .6 RG0EX 1.
+ HND30 2RH048 -1.
+ 1ND30 R0000 .491 30D30 1.
+ 1ND30 RC0ST .754 RG0EX 1.
+ 1ND30 1R1063 -1.
+ ATF07 R0000 2.9319 RA051 -1.
+ ATF07 RA093 -3.19 RA094 3.1
+ ATF07 RA095 -6. RA096 -3.
+ ATF07 RT005 1.
+ ETF07 R0000 3.0015 RE048 -1.
+ ETF07 RE088 1.04 RE089 1.14
+ ETF07 RE091 18. RT005 1.
+ JTF07 R0000 1.0134 RJ045 -1.
+ JTF07 RJ073 1.05 1RJ073 -.94
+ JTF07 1RJ074 11. RT005 1.
+ YTF07 R0000 1.1479 RT005 1.
+ YTF07 RY002 .046 RY004 .954
+ ATF09 R0000 2.9319 RA048 -1.
+ ATF09 RA089 -1.2 RA090 .81
+ ATF09 RA091 -2.5 RA092 4.
+ ATF09 RT006 1.
+ ETF09 R0000 3.0015 1RE056 -1.
+ ETF09 RT006 1.
+ JTF09 R0000 1.0134 RJ042 -1.
+ JTF09 RJ102 -3. RJ103 -.15
+ JTF09 RJ104 -.69 RJ105 -.31
+ JTF09 RJ106 6. RT006 1.
+ ZTF09 R0000 1.1756 RT006 1.
+ ZTF09 RZ020 1.
+ HNF21 R0000 .3148 30121 .5
+ HNF21 30F52 .5 RC0ST .575
+ HNF21 RF0EX 1. RH051 -1.
+ HNF21 RH091 13.
+ 1NF21 R0000 .4804 30121 .9
+ 1NF21 RC0ST .729 RF0EX 1.
+ 1NF21 R1018 -.32 R1033 -.15
+ 1NF21 1R1033 -.53 R1065 .1
+ 1NF21 R1106 -.75 R1107 .65
+ 1NF21 R1108 -.29 R1109 -.11
+ 1NF21 R1110 -4.9
+ HBF28 R0000 .2033 RC0ST .429
+ HBF28 RB050 1. 1RH051 -1.
+ BHF28 R0000 .2292 RC0ST .5
+ BHF28 RB050 -1. 1RH051 1.
+ BHF28 RH106 1.
+ B1F28 R0000 .398 RC0ST .717
+ B1F28 RB050 -1. 1R1064 1.
+ H1F28 R0000 .3335 RC0ST .604
+ H1F28 1RH051 -1. 1R1064 1.
+ HBF35 R0000 .2033 RC0ST .429
+ HBF35 RB052 1. 3RH052 -1.
+ JBF35 R0000 1.1142 RC0ST 1.838
+ JBF35 RF0EX -1. RB052 1.
+ JBF35 2RJ046 -1.
+ MBF35 R0000 .4716 RC0ST 1.071
+ MBF35 RF0EX -1. RB052 1.
+ MBF35 RM005 -1.
+ BCF35 R0000 .3721 RC0ST .512
+ BCF35 RB052 -1. RCF35 1.
+ HCF35 R0000 .4234 RC0ST .742
+ HCF35 RCF35 1. 3RH052 -1.
+ JCF35 R0000 1.4671 RC0ST 2.217
+ JCF35 RF0EX -1. RCF35 1.
+ JCF35 2RJ046 -1.
+ MCF35 R0000 .8382 RC0ST 1.458
+ MCF35 RF0EX -1. RCF35 1.
+ MCF35 RM005 -1.
+ ZCF35 R0000 1.8837 RC0ST 2.883
+ ZCF35 RF0EX -1. RCF35 1.
+ ZCF35 RZ019 1.
+ BDF35 R0000 .4905 RC0ST .6792
+ BDF35 RB052 -1. RDF35 1.
+ HDF35 R0000 .153 RC0ST .335
+ HDF35 RDF35 1. 3RH052 -1.
+ 1DF35 R0000 .3125 RC0ST .467
+ 1DF35 RDF35 1. R1069 -1.
+ JDF35 R0000 1.1257 RC0ST 1.825
+ JDF35 RF0EX -1. RDF35 1.
+ JDF35 2RJ046 -1.
+ MDF35 R0000 .4932 RC0ST 1.058
+ MDF35 RF0EX -1. RDF35 1.
+ MDF35 RM005 -1.
+ ZDF35 R0000 1.3948 RC0ST 2.4583
+ ZDF35 RF0EX -1. RDF35 1.
+ ZDF35 RZ019 1.
+ BHF35 R0000 .2292 RC0ST .5
+ BHF35 RB052 -1. 3RH052 1.
+ BHF35 RH106 1.
+ 1HF35 R0000 .293 RC0ST .509
+ 1HF35 3RH052 1. RH106 1.
+ 1HF35 R1069 -1.
+ JHF35 R0000 1.1129 RC0ST 1.883
+ JHF35 RF0EX -1. 3RH052 1.
+ JHF35 RH106 1. 2RJ046 -1.
+ MHF35 R0000 .4804 RC0ST 1.117
+ MHF35 RF0EX -1. 3RH052 1.
+ MHF35 RH106 1. RM005 -1.
+ ZHF35 R0000 1.3821 RC0ST 2.5167
+ ZHF35 RF0EX -1. 3RH052 1.
+ ZHF35 RH106 1. RZ019 1.
+ B1F35 R0000 .398 RC0ST .717
+ B1F35 RB052 -1. R1069 1.
+ H1F35 R0000 .3335 RC0ST .604
+ H1F35 3RH052 -1. R1069 1.
+ J1F35 R0000 1.3104 RC0ST 2.112
+ J1F35 RF0EX -1. R1069 1.
+ J1F35 2RJ046 -1.
+ M1F35 R0000 .6778 RC0ST 1.346
+ M1F35 RF0EX -1. R1069 1.
+ M1F35 RM005 -1.
+ Z1F35 R0000 1.5795 RC0ST 2.7458
+ Z1F35 RF0EX -1. R1069 1.
+ Z1F35 RZ019 1.
+ MJF35 R0000 .2582 RC0ST .3292
+ MJF35 RJ046 1. RM005 -1.
+ YJF35 R0000 1.1795 RC0ST 1.8958
+ YJF35 RJ046 1. RY002 .13
+ YJF35 RY004 .87
+ HVF35 R0000 .2531 RC0ST .458
+ HVF35 RF0EX 1. 3RH052 -1.
+ HVF35 RV002 1.
+ JVF35 R0000 1.0101 RC0ST 1.504
+ JVF35 2RJ046 -1. RV002 1.
+ YVF35 R0000 1.2527 RC0ST 2.075
+ YVF35 RV002 1. RY002 .13
+ YVF35 RY004 .87
+ ZVF35 R0000 1.2774 RC0ST 2.1333
+ ZVF35 RV002 1. RZ019 1.
+ YJF46 R0000 .3649 RC0ST .858
+ YJF46 RJ045 1. RJ072 1.
+ YJF46 RJ073 -.28 1RJ073 -.53
+ YJF46 1RJ074 -14. RJ080 1.
+ YJF46 RY004 1.
+ JVF46 R0000 .9756 RC0ST 1.504
+ JVF46 RJ045 -1. RV003 1.
+ BNF48 R0000 .4908 30F48 1.
+ BNF48 RC0ST .95 RF0EX 1.
+ BNF48 1RB053 -1. RB102 3.38
+ BNF48 RB103 -3.11 RB104 12.
+ BNF48 RB106 -7.5
+ HNF48 R0000 .3148 30F48 1.
+ HNF48 RC0ST .575 RF0EX 1.
+ HNF48 3RH053 -1.
+ 1NF48 R0000 .4804 30F48 1.
+ 1NF48 RC0ST .729 RF0EX 1.
+ 1NF48 R1069 -1. R1111 1.06
+ 1NF48 R1112 -1.67 R1115 2.
+ JNF48 R0000 1.4154 30F48 1.
+ JNF48 RC0ST 2.429 RH106 1.
+ JNF48 2RJ046 -1. RJ076 1.03
+ JNF48 1RJ076 -1.77 RJ078 2.
+ ZNF48 R0000 1.6187 30F48 1.
+ ZNF48 RC0ST 2.675 RZ020 1.
+ BNF52 R0000 .4908 30F52 1.
+ BNF52 RC0ST .95 RF0EX 1.
+ BNF52 RB050 -1.
+ HNF52 R0000 .3148 30F52 1.
+ HNF52 RC0ST .575 RF0EX 1.
+ HNF52 1RH051 -1.
+ 1NF52 R0000 .4804 30F52 1.
+ 1NF52 RC0ST .729 RF0EX 1.
+ 1NF52 1R1064 -1.
+ ZJF57 R0000 .3896 RC0ST .9167
+ ZJF57 RJ089 1. RZ019 1.
+ EAF59 R0000 1.1876 KW1RC 1.
+ EAF59 RA049 1. RE058 -1.
+ EAF59 RE098 -1.82 RE099 2.76
+ EAF59 RE100 .5 RE101 25.
+ EAF60 R0000 1.1876 KW1RC 1.
+ EAF60 RA051 1. RE048 -1.
+ EAF60 RE088 4.12 RE089 -2.85
+ EAF60 RE090 7. RE091 21.
+ AEF60 R0000 1.3106 KW1RC -1.
+ AEF60 RA051 -1. RE050 1.
+ EAF64 R0000 1.1876 KW1RC 1.
+ EAF64 RA052 1. RE048 -1.
+ EAF64 RE088 1.27 RE090 6.
+ EAF64 RE091 10.
+ B1F64 R0000 .398 RC0ST .717
+ B1F64 RB051 -.704 1RB053 -.296
+ B1F64 RB091 .06 RB092 .29
+ B1F64 1RB093 4.22 RB102 1.
+ B1F64 RB103 -.92 RB104 2.96
+ B1F64 RB106 -2.66 1R1068 1.
+ H1F64 R0000 .3335 RC0ST .604
+ H1F64 2RH052 -1. RH093 1.25
+ H1F64 RH110 -1.06 1R1068 1.
+ J1F64 R0000 1.3104 RC0ST 2.112
+ J1F64 RF0EX -1. 1R1068 1.
+ J1F64 2RJ045 -1. RJ073 1.27
+ J1F64 1RJ073 -.78
+ BNF64 R0000 .4908 2SF145 1.
+ BNF64 RC0ST .95 RF0EX 1.
+ BNF64 RB051 -.704 1RB053 -.296
+ BNF64 RB091 .06 RB092 .29
+ BNF64 1RB093 4.22 RB102 1.
+ BNF64 RB103 -.92 RB104 2.96
+ BNF64 RB106 -2.66
+ HNF64 R0000 .3148 2SF145 1.
+ HNF64 RC0ST .575 RF0EX 1.
+ HNF64 2RH052 -1. RH093 1.25
+ HNF64 RH110 -1.06
+ 1NF64 R0000 .4804 2SF145 1.
+ 1NF64 RC0ST .729 RF0EX 1.
+ 1NF64 1R1068 -1.
+ JNF64 R0000 1.4154 2SF145 1.
+ JNF64 RC0ST 2.429 RH106 1.
+ JNF64 RJ045 -1. RJ073 1.27
+ JNF64 1RJ073 -.78
+ YNF64 R0000 1.6597 2SF145 1.
+ YNF64 RC0ST 3.004 RH106 1.
+ YNF64 RY002 .055 RY004 .945
+ AEF68 R0000 1.3106 KW1RC -1.
+ AEF68 RA013 -.236 RA019 -.764
+ AEF68 RE049 1.
+ AXF72 R0000 3.0796 RC0ST 1.308
+ AXF72 1RA053 -1. RXF72 1.
+ EXF72 R0000 3.0963 RC0ST .812
+ EXF72 RE051 -1. RXF72 1.
+ 1BF75 R0000 .3366 RC0ST .562
+ 1BF75 RB053 1. R1065 -1.
+ 1BF75 R1106 .46 R1107 .25
+ HBF80 R0000 .2033 RC0ST .429
+ HBF80 2RB051 1. 2RH052 -1.
+ JBF80 R0000 1.1142 RC0ST 1.838
+ JBF80 RF0EX -1. 2RB051 1.
+ JBF80 2RJ045 -1.
+ MBF80 R0000 .4716 RC0ST 1.071
+ MBF80 RF0EX -1. 2RB051 1.
+ MBF80 RM006 -1.
+ BCF80 R0000 .3721 RC0ST .512
+ BCF80 2RB051 -1. RCF80 1.
+ HCF80 R0000 .4234 RC0ST .742
+ HCF80 RCF80 1. 2RH052 -1.
+ JCF80 R0000 1.4671 RC0ST 2.217
+ JCF80 RF0EX -1. RCF80 1.
+ JCF80 2RJ045 -1.
+ MCF80 R0000 .8382 RC0ST 1.458
+ MCF80 RF0EX -1. RCF80 1.
+ MCF80 RM006 -1.
+ BHF80 R0000 .2292 RC0ST .5
+ BHF80 2RB051 -1. 2RH052 1.
+ BHF80 RH106 1.
+ JHF80 R0000 1.1129 RC0ST 1.883
+ JHF80 RF0EX -1. 2RH052 1.
+ JHF80 RH106 1. 2RJ045 -1.
+ MHF80 R0000 .4804 RC0ST 1.117
+ MHF80 RF0EX -1. 2RH052 1.
+ MHF80 RH106 1. RM006 -1.
+ BNF80 R0000 .4908 2SF129 1.
+ BNF80 RC0ST .95 RF0EX 1.
+ BNF80 1RB051 -1.
+ YJF83 R0000 .4078 RC0ST .858
+ YJF83 RJ080 1. RJ091 1.
+ YJF83 RY002 .025 RY004 .975
+ HNF89 R0000 .3126 2SF089 1.
+ HNF89 RC0ST .575 RF0EX 1.
+ HNF89 RH052 -1. RH093 1.25
+ HNF89 1RH093 -16. RH094 21.
+ HNF89 RH110 -1.06
+ 1NF89 R0000 .4804 2SF089 1.
+ 1NF89 RC0ST .729 RF0EX 1.
+ 1NF89 R1065 -1. R1106 .52
+ 1NF89 R1107 -.35 R1108 -5.
+ 117FHR R0000 .1718 RC0ST .4042
+ 117FHR RH053 -1. RH115 .24
+ 117FHR RH117 -5. RH118 15.
+ 117FHR RR021 1.
+ 117FZR R0000 1.3821 RC0ST 2.5167
+ 117FZR RR021 1. RZ019 1.
+ 118FAT R0000 2.9319 RA048 -1.
+ 118FAT RA091 .5 RA092 4.
+ 118FAT 3RT006 1.
+ 118FET R0000 3.0015 RE048 -1.
+ 118FET RE088 4.32 RE089 -1.96
+ 118FET RE090 17. RE091 16.
+ 118FET 3RT006 1.
+ 118FJT R0000 1.0134 RJ042 -1.
+ 118FJT RJ103 1.23 RJ104 -1.77
+ 118FJT RJ106 6. 3RT006 1.
+ 118FZT R0000 1.1756 3RT006 1.
+ 118FZT RZ020 1.
+ 129FHB R0000 .2033 RC0ST .429
+ 129FHB 1RB051 1. 2RH051 -1.
+ 129FJB R0000 1.1142 RC0ST 1.838
+ 129FJB RF0EX -1. 1RB051 1.
+ 129FJB 2RJ045 -1.
+ 129FBH R0000 .2292 RC0ST .5
+ 129FBH 1RB051 -1. 2RH051 1.
+ 129FBH RH106 1.
+ 129F1H R0000 .293 RC0ST .509
+ 129F1H 2RH051 1. RH106 1.
+ 129F1H R1068 -1.
+ 129FJH R0000 1.1129 RC0ST 1.883
+ 129FJH RF0EX -1. 2RH051 1.
+ 129FJH RH106 1. 2RJ045 -1.
+ HN129 R0000 .3148 2SF129 1.
+ HN129 RC0ST .575 RF0EX 1.
+ HN129 RH052 -1.
+ JN129 R0000 1.4154 2SF129 1.
+ JN129 RC0ST 2.429 RH106 1.
+ JN129 RJ045 -1. RJ072 5.
+ MN129 R0000 .7757 2SF129 1.
+ MN129 RC0ST 1.646 RH106 1.
+ MN129 RM006 -1.
+ YN129 R0000 1.6597 2SF129 1.
+ YN129 RC0ST 3.0042 RH106 1.
+ YN129 RY004 1.
+ HV129 R0000 .2531 RC0ST .458
+ HV129 RF0EX 1. RH052 -1.
+ HV129 RV003 1.
+ YV129 R0000 1.2527 RC0ST 2.075
+ YV129 RV003 1. RY004 1.
+ AT137 R0000 2.9319 RA051 -1.
+ AT137 RA093 1.7 RA094 -2.87
+ AT137 RA095 5. RA096 9.
+ AT137 4RT006 1.
+ ET137 R0000 3.0015 RE058 -1.
+ ET137 RE099 .78 RE100 -10.
+ ET137 RE101 19. 4RT006 1.
+ JT137 R0000 1.0134 RJ014 -.3
+ JT137 RJ025 -.7 4RT006 1.
+ YAFLD R0000 -2.2771 RC0ST 2.025
+ YAFLD RA009 .87 RA010 .13
+ YAFLD RA060 1. 3RA060 1.
+ YAFLD RA100 -1. RY001 1.007
+ 1YAFLD R0000 -2.4796 RA009 .87
+ 1YAFLD RA010 .13 RA055 2.133
+ 1YAFLD 2RA060 1. 3RA060 1.
+ 1YAFLD RY001 1.01
+ YEFLD R0000 -1.987 RC0ST 2.5667
+ YEFLD 3RA060 1. RE012 .257
+ YEFLD RE013 .556 RE015 .187
+ YEFLD RE060 -.01 RE062 1.
+ YEFLD RE104 -1. RY001 1.01
+ 1YEFLD R0000 -2.238 3RA060 1.
+ 1YEFLD RE005 1. RE012 .257
+ 1YEFLD RE013 .556 RE015 .187
+ 1YEFLD RE060 -.0308 RE061 2.8
+ 1YEFLD RE062 1. RY001 1.01
+ YHFLD R0000 .9886 RH010 .285
+ YHFLD RH016 .665 RH096 .028
+ YHFLD RH105 1. RH106 1.
+ YHFLD RY001 1.01
+ 1YHFLD R0000 1.6603 RC0ST 2.458
+ 1YHFLD RLDEX -1. RH007 .04
+ 1YHFLD RH008 .08 1RH038 .66
+ 1YHFLD 1RH054 1. RH057 1.15
+ 1YHFLD RH096 -.12 RH106 1.
+ 1YHFLD RH113 .12 RH114 .12
+ 1YHFLD RY001 1.
+ YJFLD R0000 .4078 RC0ST .858
+ YJFLD 1RJ008 .3 RJ010 .55
+ YJFLD RJ012 .15 RJ099 .81
+ YJFLD RY001 1.01
+ JASRB R0000 -2.3645 RC0ST 1.688
+ JASRB RA009 1.6 RA023 -.6
+ JASRB RA060 1. 3RA060 1.
+ JASRB RA100 -1. RJ010 -1.
+ 1JASRB R0000 -2.3645 RC0ST 1.688
+ 1JASRB RA009 1.6 RA023 -.6
+ 1JASRB RA060 1. 3RA060 1.
+ 1JASRB RA100 -1. RJ009 -1.
+ JESRB R0000 -2.0691 RC0ST 2.238
+ JESRB 3RA060 1. RE013 1.
+ JESRB RE060 -.01 RE062 1.
+ JESRB RE104 -1. RJ010 -1.
+ 1JESRB R0000 -2.0691 RC0ST 2.238
+ 1JESRB 3RA060 1. RE014 1.
+ 1JESRB RE060 -.01 RE062 1.
+ 1JESRB RE104 -1. RJ009 -1.
+ BHSRB R0000 .2875 RC0ST .5
+ BHSRB RB008 -1. RH015 .95
+ BHSRB RH096 .025 RH105 .9494
+ BHSRB RH106 1.
+ 1BHSRB R0000 .2875 RC0ST .5
+ 1BHSRB 1RB008 -1. RH016 .95
+ 1BHSRB RH096 .025 RH105 .9494
+ 1BHSRB RH106 1.
+ 2BHSRB R0000 .2875 RC0ST .5
+ 2BHSRB RB008 -1. RH015 .99
+ 2BHSRB 1RH054 .99 RH106 1.
+ 3BHSRB R0000 .2875 RC0ST .5
+ 3BHSRB 1RB008 -1. RH016 .99
+ 3BHSRB 1RH054 .99 RH106 1.
+ JHSRB R0000 1.1129 RC0ST 1.883
+ JHSRB RLDEX -1. RH016 .95
+ JHSRB RH096 .025 RH105 .9494
+ JHSRB RH106 1. RJ010 -1.
+ 1JHSRB R0000 1.1129 RC0ST 1.883
+ 1JHSRB RLDEX -1. RH015 .95
+ 1JHSRB RH096 .025 RH105 .9494
+ 1JHSRB RH106 1. RJ009 -1.
+ BHFCR R0000 .2875 RC0ST .5
+ BHFCR 1RB024 -1. 1RH038 1.
+ JHFCR R0000 1.2071 RC0ST 1.883
+ JHFCR RMSEX -1. 1RH038 1.
+ JHFCR RH106 1. RJ097 -1.
+ 1JHFCR R0000 1.3921 RC0ST 1.883
+ 1JHFCR RMSEX -1. RH035 1.
+ 1JHFCR RH067 .1307 RH068 7.843
+ 1JHFCR RH069 -17.017 RH070 7.937
+ 1JHFCR RH071 -.3259 RH106 1.
+ 1JHFCR RJ098 -1.
+ 2JHFCR R0000 1.3921 RC0ST 1.883
+ 2JHFCR RMSEX -1. RH035 1.
+ 2JHFCR RH067 2.604 RH068 .643
+ 2JHFCR RH069 -10.936 RH070 6.43
+ 2JHFCR RH071 -.317 RH106 1.
+ 2JHFCR RJ097 -.4 1RJ097 -.6
+ 3JHFCR R0000 1.3921 RC0ST 1.883
+ 3JHFCR RMSEX -1. RH035 1.
+ 3JHFCR RH067 3.267 RH068 7.843
+ 3JHFCR RH069 -17.017 RH070 7.937
+ 3JHFCR RH071 -.3259 RH106 1.
+ 3JHFCR RJ098 -.4 1RJ098 -.6
+ ZHFCR R0000 1.8441 RC0ST 2.554
+ ZHFCR RMSEX -1. RH035 1.
+ ZHFCR RH067 -.128 RH068 1.282
+ ZHFCR RH069 -13.305 RH070 6.41
+ ZHFCR RH071 -.316 RH106 1.
+ ZHFCR RZ004 1.
+ ZJFCR R0000 .7736 RC0ST .954
+ ZJFCR RJ032 1. RJ052 -4.5
+ ZJFCR RJ053 10.3 RJ054 -10.2
+ ZJFCR RJ095 -.402 RZ004 1.
+ H1HCR R0000 .3102 RC0ST .492
+ H1HCR RH011 -.548 RH095 -.452
+ H1HCR R1043 -1.
+ BHLCS R0000 .2875 RC0ST .5
+ BHLCS RB028 -1. RH012 1.
+ BHLCS RH106 1.
+ 1HHSC R0000 .425 RC0ST .377
+ 1HHSC RH035 1. RH067 -.708
+ 1HHSC RH068 69.649899 RH069 -19.95
+ 1HHSC RH070 82.639899 RH071 -.291
+ 1HHSC RH106 1. R1041 1.
+ 11HHSC R0000 .334 RC0ST .377
+ 11HHSC RH036 1. RH072 -14.99
+ 11HHSC RH073 -19.95 RH074 -5.
+ 11HHSC RH075 -.529 RH106 1.
+ 11HHSC R1041 1.
+ 1HLSC R0000 .454 RC0ST .377
+ 1HLSC RH035 1. RH067 1.379
+ 1HLSC RH068 -63.4 RH069 27.31
+ 1HLSC RH070 -34.48 RH071 -.34
+ 1HLSC RH106 1. R1040 1.
+ 11HLSC R0000 .347 RC0ST .377
+ 11HLSC RH036 1. RH072 -16.14
+ 11HLSC RH073 27.31 RH074 -5.
+ 11HLSC RH075 -.618 RH106 1.
+ 11HLSC R1040 1.
+ EAKER R0000 1.1876 KW1RC 1.
+ EAKER RA013 1. RE017 -1.
+ EHKER R0000 4.8104 RC0ST 2.221
+ EHKER RG0EX -1. RE017 -1.
+ EHKER RE104 1. RH048 1.
+ EHKER RH085 3.944 RH086 -28.786
+ EHKER RH087 -6.8 RH088 -14.
+ EHKER RH089 2.987 RH106 1.
+ EAALG R0000 1.1876 KW1RC 1.
+ EAALG RA014 1. RE019 -1.
+ EHALG R0000 4.8104 RC0ST 2.221
+ EHALG RG0EX -1. RE019 -1.
+ EHALG RE104 1. RH048 1.
+ EHALG RH085 -2.306 RH086 -10.107
+ EHALG RH087 -1.5 RH088 -4.5
+ EHALG RH089 -2.729 RH106 1.
+ EAKLG R0000 1.1876 KW1RC 1.
+ EAKLG RA015 1. RE018 -1.
+ EHKLG R0000 4.8104 RC0ST 2.221
+ EHKLG RG0EX -1. RE018 -1.
+ EHKLG RE104 1. RH048 1.
+ EHKLG RH085 -1.452 RH086 -10.18
+ EHKLG RH087 1.3 RH088 -9.
+ EHKLG RH089 -2.795 RH106 1.
+ MUKG0 R0000 -.9481 RC0ST -1.342
+ MUKG0 1RM003 -1. RY002 -1.
+ 1YBLG0 R0000 1.5743 RC0ST 2.612
+ 1YBLG0 RG0EX -1. RB047 1.
+ 1YBLG0 RB081 3.565 RB082 -5.4
+ 1YBLG0 RB083 .3 RB084 -.9
+ 1YBLG0 RB085 -.636 RB086 2.16
+ 1YBLG0 RY002 1.
+ 2YBLG0 R0000 1.5743 RC0ST 2.612
+ 2YBLG0 RG0EX -1. RB046 1.
+ 2YBLG0 1RB050 1. RB087 -14.9
+ 2YBLG0 RB088 -22.2 RB089 -.636
+ 2YBLG0 RB090 -25. 1RB090 -18.
+ 2YBLG0 RY002 1.
+ 3YBLG0 R0000 1.5743 RC0ST 2.612
+ 3YBLG0 RG0EX -1. RB051 1.
+ 3YBLG0 RB091 -22.57 RB092 13.08
+ 3YBLG0 1RB092 -54. RB093 -.636
+ 3YBLG0 1RB093 -30.2 RY002 1.
+ 1ZBLG0 R0000 1.7531 RC0ST 2.708
+ 1ZBLG0 RG0EX -1. RB047 1.
+ 1ZBLG0 RB081 1.053 RB082 -3.8
+ 1ZBLG0 RB083 -1.4 RB084 -.5
+ 1ZBLG0 RB085 -.636 RB086 2.16
+ 1ZBLG0 RZ016 1.
+ 2ZBLG0 R0000 1.7531 RC0ST 2.708
+ 2ZBLG0 RG0EX -1. RB046 1.
+ 2ZBLG0 1RB050 1. RB087 -14.9
+ 2ZBLG0 RB088 -23.9 RB089 -.636
+ 2ZBLG0 RB090 -25. 1RB090 -18.
+ 2ZBLG0 RZ016 1.
+ 3ZBLG0 R0000 1.7531 RC0ST 2.708
+ 3ZBLG0 RG0EX -1. RB051 1.
+ 3ZBLG0 RB091 -22.57 RB092 13.08
+ 3ZBLG0 1RB092 -54. RB093 -.636
+ 3ZBLG0 1RB093 -31.9 RZ016 1.
+ YHLG0 R0000 1.4803 RC0ST 2.458
+ YHLG0 RG0EX -1. RH051 1.
+ YHLG0 RH090 -16.33 1RH090 -22.
+ YHLG0 2RH090 15. RH091 -22.2
+ YHLG0 RH103 1. RH106 1.
+ YHLG0 RH108 -30. RY002 1.
+ 1YHLG0 R0000 1.4803 RC0ST 2.458
+ 1YHLG0 RG0EX -1. RH052 1.
+ 1YHLG0 RH093 -24.18 1RH093 -61.
+ 1YHLG0 RH094 -30.2 RH106 1.
+ 1YHLG0 RH110 23.51 RY002 1.
+ 4YHLG0 R0000 1.4803 RC0ST 2.458
+ 4YHLG0 RG0EX -1. RH048 1.
+ 4YHLG0 RH086 -13.333 RH087 -.2
+ 4YHLG0 RH088 -10. RH089 -.7
+ 4YHLG0 RH106 1. RY002 1.
+ YHLGG R0000 1.4803 RC0ST 2.458
+ YHLGG RG0EX -1. RH106 1.
+ YHLGG RH109 1. 1RH109 -18.23
+ YHLGG 2RH109 16.95 RY002 1.
+ ZHLG0 R0000 1.659 RC0ST 2.554
+ ZHLG0 RG0EX -1. RH051 1.
+ ZHLG0 RH090 -16.33 1RH090 -17.
+ ZHLG0 2RH090 15. RH091 -23.9
+ ZHLG0 RH103 1. RH106 1.
+ ZHLG0 RH108 -30. RZ016 1.
+ 1ZHLG0 R0000 1.659 RC0ST 2.554
+ 1ZHLG0 RG0EX -1. RH052 1.
+ 1ZHLG0 RH093 -24.18 1RH093 -56.
+ 1ZHLG0 RH094 -31.9 RH106 1.
+ 1ZHLG0 RH110 23.51 RZ016 1.
+ 3ZHLG0 R0000 1.659 RC0ST 2.554
+ 3ZHLG0 RG0EX -1. RH048 1.
+ 3ZHLG0 RH085 -2.447 RH086 -6.77
+ 3ZHLG0 RH087 -1.9 RH088 -6.
+ 3ZHLG0 RH089 -.7 RH106 1.
+ 3ZHLG0 RZ016 1.
+ EAAHG R0000 1.1876 KW1RC 1.
+ EAAHG RA016 1. RE022 -1.
+ EAKHG R0000 1.1876 KW1RC 1.
+ EAKHG RA017 1. RE021 -1.
+ EAHWD R0000 1.1876 KW1RC 1.
+ EAHWD RA026 1. RE028 -1.
+ AJCG0 R0000 4.0551 RC0ST 1.425
+ AJCG0 RA033 -1. RA100 1.
+ AJCG0 RJ040 1. RJ061 -10.7
+ AJCG0 RJ062 7. RJ063 -3.43
+ AJCG0 RJ064 4. RJ065 29.
+ 1AJCG0 R0000 4.0551 RC0ST 1.425
+ 1AJCG0 RA033 -1. RJ043 1.
+ 1AJCG0 RJ066 -7.8 RJ067 2.
+ 1AJCG0 RJ068 -3.43 RJ069 -6.
+ 1AJCG0 RJ070 -.5 RJ071 16.
+ MHRES R0000 .4804 RC0ST 1.117
+ MHRES RF0EX -1. RH052 1.
+ MHRES RH094 -5. RH106 1.
+ MHRES RH110 -.67 RM006 -1.
+ 1MHRES R0000 .4804 RC0ST 1.117
+ 1MHRES RF0EX -1. RH052 1.
+ 1MHRES RH093 -3.08 RH094 -5.
+ 1MHRES RH106 1. RH110 2.41
+ 1MHRES RM005 -1.
+ 2MHRES R0000 .4804 RC0ST 1.117
+ 2MHRES RF0EX -1. RH052 1.
+ 2MHRES RH106 1. RH110 .67
+ 2MHRES 1RM006 -1.
+ 3MHRES R0000 .4804 RC0ST 1.117
+ 3MHRES RF0EX -1. RH052 1.
+ 3MHRES RH106 1. RH110 .67
+ 3MHRES 2RM006 -1.
+ YHRES R0000 1.3573 RC0ST 2.458
+ YHRES RF0EX -1. RH052 1.
+ YHRES 1RH093 -7. RH094 -.5
+ YHRES RH106 1. RH110 -.67
+ YHRES RY004 1.
+ ZHRES R0000 1.5313 RC0ST 2.554
+ ZHRES RF0EX -1. RH052 1.
+ ZHRES RH093 -4.05 1RH093 -5.
+ ZHRES RH094 -15. RH106 1.
+ ZHRES RH110 3.38 RZ019 1.
+ ZJRES R0000 .5388 RC0ST .954
+ ZJRES RJ045 1. RJ072 -16.
+ ZJRES RJ073 -4.46 1RJ073 3.65
+ ZJRES RJ074 -1.03 RJ080 1.
+ ZJRES RZ019 1.
+ 1ZJRES R0000 .5388 RC0ST .954
+ 1ZJRES RJ046 1. RJ075 -16.
+ 1ZJRES RJ076 -1.34 1RJ076 .7
+ 1ZJRES RJ077 -1.03 RJ078 3.
+ 1ZJRES RJ080 1. RZ019 1.
+ 2ZJRES R0000 .5388 RC0ST .954
+ 2ZJRES RJ042 1. RJ080 1.
+ 2ZJRES RJ102 -1. RJ103 -1.34
+ 2ZJRES RJ104 .7 RJ105 -1.03
+ 2ZJRES RJ106 3. RZ019 1.
+ ZJREX R0000 .5388 RC0ST .954
+ ZJREX RJ045 1. RJ072 -16.
+ ZJREX RJ073 -4.46 1RJ073 3.65
+ ZJREX RJ074 -1.03 1RJ074 -7.
+ ZJREX RJ080 1. RZ020 1.
+ 1ZJREX R0000 .5388 RC0ST .954
+ 1ZJREX RJ046 1. RJ075 -16.
+ 1ZJREX RJ076 -1.34 1RJ076 .7
+ 1ZJREX RJ077 -1.03 RJ078 -4.
+ 1ZJREX RJ080 1. RZ020 1.
+ 2ZJREX R0000 .5388 RC0ST .954
+ 2ZJREX RJ042 1. RJ080 1.
+ 2ZJREX RJ102 -1. RJ103 -1.34
+ 2ZJREX RJ104 .7 RJ105 -1.03
+ 2ZJREX RJ106 -4. RZ020 1.
+ HSPMS R0000 -9. 1RH035 -1.
+ HSPMS HSPMS 1.
+ HSRMS R0000 -8. 1RH036 -1.
+ HSRMS HSRMS 1.
+ HSLDF R0000 -7. RH039 -1.
+ HSLDF HSLDF 1.
+ HSATK R0000 -8. 2RH042 -1.
+ HSATK HSATK 1.
+ NSG17 R0000 -6.5 1RN014 -1.
+ NSG17 NSG17 1.
+ HSG58 R0000 -6. 2RH048 -1.
+ HSG58 HSG58 1.
+ HSF80 R0000 -2. 2RH052 -1.
+ HSF80 HSF80 1.
+ 2CB002 RB017 .511 RB001 .707
+ 2CB002 1RB003 .303 1RB005 .003
+ 2CB002 RB006 .009 RB007 .03
+ 2CB002 RB008 .102 1RB008 .023
+ 2CB002 RB009 .045 RB011 .129
+ 2CB002 RB013 .063 2RB015 .041
+ 2CB002 RB016 .017 RB022 .025
+ 2CB002 RB031 -.026 1RB031 .002
+ 2CB002 RB058 1. 1RB058 1.
+ 2CB002 RB101 .983
+ 3CB003 2RB020 .539 RB003 .707
+ 3CB003 1RB003 .303 1RB005 .002
+ 3CB003 RB006 .011 RB007 .057
+ 3CB003 RB008 .062 1RB008 .023
+ 3CB003 RB010 .071 RB012 .082
+ 3CB003 1RB013 .07 2RB015 .041
+ 3CB003 RB016 .016 RB022 .024
+ 3CB003 RB031 -.024 1RB031 .002
+ 3CB003 RB058 1. 1RB058 1.
+ 3CB003 RB101 1.02
+ 3CB004 2RB018 .484 1RB001 .707
+ 3CB004 1RB003 .303 RB006 .008
+ 3CB004 1RB007 .05 1RB008 .122
+ 3CB004 RB009 .047 RB011 .135
+ 3CB004 1RB013 .063 2RB015 .041
+ 3CB004 1RB016 .02 RB022 .029
+ 3CB004 RB031 -.025 1RB031 .001
+ 3CB004 RB058 1. 1RB058 1.
+ 3CB004 RB101 .983
+ 4CB004 2RB018 .484 1RB001 .707
+ 4CB004 1RB003 .303 RB006 .008
+ 4CB004 2RB007 .096 2RB008 .076
+ 4CB004 RB009 .047 RB011 .135
+ 4CB004 1RB013 .063 2RB015 .041
+ 4CB004 1RB016 .02 RB022 .029
+ 4CB004 RB031 -.025 1RB031 .001
+ 4CB004 RB058 1. 1RB058 1.
+ 4CB004 RB099 .096 RB101 .983
+ 4CB004 UKLDF -.096
+ 3CB005 1RB019 .553 RB002 .707
+ 3CB005 1RB003 .303 1RB005 .003
+ 3CB005 RB006 .01 1RB007 .045
+ 3CB005 1RB008 .094 RB009 .039
+ 3CB005 RB011 .108 1RB013 .058
+ 3CB005 2RB015 .041 1RB016 .02
+ 3CB005 RB022 .026 RB031 -.024
+ 3CB005 1RB031 .003 RB058 1.
+ 3CB005 1RB058 1. RB101 1.005
+ 1CB096 2RB018 -1. RB053 1.
+ 1CB096 RB094 -1.5 RB095 .79
+ 1CB096 RB096 4.7 RB097 3.2
+ 2CB096 1RB019 -1. RB053 1.
+ 2CB096 RB094 -.02 RB095 -.69
+ 2CB096 RB096 8.4 RB097 -4.6
+ 3CB096 2RB020 -1. RB053 1.
+ 3CB096 RB094 .39 RB095 -1.1
+ 3CB096 RB096 -1.6 RB097 4.4
+ 2CB095 1RB019 -1. 1RB053 1.
+ 2CB095 RB102 -.02 RB103 -1.73
+ 2CB095 RB104 1.4 RB105 -.803
+ 2CB095 RB106 3.4
+ 3CB095 2RB020 -1. 1RB053 1.
+ 3CB095 RB102 .39 RB103 -2.14
+ 3CB095 RB104 10.4 RB105 -.803
+ 3CB095 RB106 -6.6
+ CB096 RB017 -1. RB053 1.
+ CB096 RB094 -1.55 RB095 .84
+ CB096 RB096 -4.3 RB097 5.5
+ 3CB084 2RB020 -1. RB051 1.
+ 3CB084 RB091 -.37 RB092 -.8
+ 3CB084 1RB092 20.4 RB093 -.803
+ 3CB084 1RB093 -21.6
+ CB095 RB017 -1. 1RB053 1.
+ CB095 RB102 -1.55 RB103 -.2
+ CB095 RB104 11.5 RB105 -.803
+ CB095 RB106 -9.3
+ 1CB095 2RB018 -1. 1RB053 1.
+ 1CB095 RB102 -1.5 RB103 -.25
+ 1CB095 RB104 9.2 RB105 -.803
+ 1CB095 RB106 -.3
+ CB084 RB017 -1. RB051 1.
+ CB084 RB091 -2.31 RB092 1.14
+ CB084 1RB092 21.5 RB093 -.803
+ CB084 1RB093 -24.3
+ 1CB084 2RB018 -1. RB051 1.
+ 1CB084 RB091 -2.26 RB092 1.09
+ 1CB084 1RB092 19.2 RB093 -.803
+ 1CB084 1RB093 -15.3
+ 2CB084 1RB019 -1. RB051 1.
+ 2CB084 RB091 -.78 RB092 1.09
+ 2CB084 1RB092 11.4 RB093 -.803
+ 2CB084 1RB093 -11.6
+ 4CB005 1RB019 .553 RB002 .707
+ 4CB005 1RB003 .303 1RB005 .003
+ 4CB005 RB006 .01 2RB007 .08
+ 4CB005 2RB008 .059 RB009 .039
+ 4CB005 RB011 .108 1RB013 .058
+ 4CB005 2RB015 .041 1RB016 .02
+ 4CB005 RB022 .026 RB031 -.024
+ 4CB005 1RB031 .003 RB058 1.
+ 4CB005 1RB058 1. RB099 .08
+ 4CB005 RB101 1.005 UKLDF -.08
+ 1CB068 RB009 -.07 RB011 -.24
+ 1CB068 RB012 -.32 RB015 -.3
+ 1CB068 1RB016 -.07 1RB045 1.
+ CH458 3RH030 -1. RH109 1.
+ CH458 1RH109 9.43 2RH109 -10.91
+ CH463 2RH030 -1. RH109 1.
+ CH463 1RH109 12.61 2RH109 -14.09
+ CB152 RB022 -1. RB031 1.0313
+ CB153 1RB022 -1. RB031 1.0148
+ 1C1076 R1019 -.86 R1022 -.14
+ 1C1076 R1062 1. R1091 -2.28
+ 1C1076 R1092 2.6 R1093 9.3
+ 1C1076 R1094 -3.17 R1095 -5.
+ 1C1078 R1020 -.88 R1023 -.12
+ 1C1078 R1062 1. R1091 -1.68
+ 1C1078 R1092 -1.7 R1093 9.38
+ 1C1078 R1094 -3.17 R1095 -6.
+ C1080 R1021 -.92 R1024 -.08
+ C1080 R1062 1. R1091 -5.88
+ C1080 R1092 -7.2 R1093 9.05
+ C1080 R1094 -3.24 R1095 7.
+ CH147 2RH025 -1. RH096 1.
+ 3CH151 1RH029 -1. RH096 1.
+ CH526 RH060 1. 1RH060 -1.
+ 1CJ015 R0000 .201 RJ010 -1.
+ 1CJ015 RJ032 1. 1RJ050 1.
+ 1CJ015 RJ052 42. RJ053 30.29
+ 1CJ015 RJ054 -42.14
+ 2CJ015 R0000 .201 RJ009 -1.
+ 2CJ015 RJ032 1. 1RJ050 1.
+ 2CJ015 RJ052 42. RJ053 30.29
+ 2CJ015 RJ054 -42.14
+ 1CJ062 RJ018 -1. RJ031 -.055
+ 1CJ062 RJ040 1. RJ061 -3.8
+ 1CJ062 RJ062 -3. RJ063 -3.01
+ 1CJ062 RJ064 7. RJ065 -6.5
+ 1CJ062 RJ079 1. RJ100 1.
+ 128FNN 30F48 -1. 30128 1.
+ 90AS30 R0000 .2079 30G22 -1.
+ 90AS30 RC0ST .4375 RH048 1.
+ 90A930 R0000 .186 2SF129 -1.
+ 90A930 RC0ST .4375 RH052 1.
+ 3CB007 1RB003 .303 1RB004 .707
+ 3CB007 RB006 .006 1RB007 .035
+ 3CB007 1RB008 .064 RB010 .059
+ 3CB007 RB012 .069 1RB015 .218
+ 3CB007 2RB015 .02 RB022 .038
+ 3CB007 2RB025 .49 RB031 -.026
+ 3CB007 1RB031 .001 RB058 1.
+ 3CB007 1RB058 1. RB101 1.015
+ 4CB007 1RB003 .303 1RB004 .707
+ 4CB007 RB006 .006 2RB007 .069
+ 4CB007 2RB008 .03 RB010 .059
+ 4CB007 RB012 .069 RB015 .218
+ 4CB007 2RB015 .02 RB022 .038
+ 4CB007 2RB025 .49 RB031 -.026
+ 4CB007 1RB031 .001 RB058 1.
+ 4CB007 1RB058 1. RB099 .069
+ 4CB007 RB101 1.015 UKLDF -.069
+ 1CH301 RH001 1.455 1RH006 1.01
+ 1CH301 RH007 .003 RH008 .0103
+ 1CH301 1RH008 .002 RH010 .0444
+ 1CH301 RH015 .097 RH018 .0475
+ 1CH301 RH019 .1101 2RH023 .0707
+ 1CH301 2RH025 .005 1RH027 .505
+ 1CH301 1RH029 .102 RH096 -.017
+ 1CH301 RH107 1.455 1RH107 -1.
+ 1CH301 2RH107 1. RH113 .003
+ 2CH301 RH001 1.455 1RH006 1.01
+ 2CH301 RH007 .003 RH008 .0103
+ 2CH301 1RH008 .002 RH010 .0444
+ 2CH301 RH015 .097 RH018 .0475
+ 2CH301 RH019 .1101 2RH023 .0707
+ 2CH301 2RH025 .005 1RH027 .217
+ 2CH301 2RH028 .0058 1RH029 .2518
+ 2CH301 4RH030 .1324 RH060 .288
+ 2CH301 RH096 -.027 RH107 1.455
+ 2CH301 1RH107 -1. 2RH107 1.
+ 2CH301 RH113 .003
+ 3CH301 2RH025 -1. RH029 1.
+ 1CH119 RH026 -1. 1RH028 .07
+ 1CH119 RH029 .459 RH030 .471
+ 1CH119 1RH060 1. RH096 -.027
+ 3CH119 2RH017 -1. 1RH028 .08
+ 3CH119 RH029 .537 3RH030 .383
+ 3CH119 1RH060 1. RH096 -.027
+ 1CH121 RH027 -1. 1RH028 .113
+ 1CH121 RH029 .525 RH030 .362
+ 1CH121 1RH060 1.007 RH096 -.027
+ C1129 R1030 -1. R1039 1.03
+ 1C1129 R1031 -1. R1039 1.04
+ 1ZHREX R0000 1.5313 RC0ST 2.554
+ 1ZHREX RH053 1. RH115 -.48
+ 1ZHREX RH116 -1. RH117 1.
+ 1ZHREX RH118 -14. 1RH118 -5.
+ 1ZHREX RZ020 1.
+RHS
+ .00001 2SF145 29. 2SF089 60.
+ .00001 2SF129 73. 30M00 77.
+ .00001 30M94 27. 30M91 44.
+ .00001 30ATK 4. 30PGK 23.
+ .00001 30G30 44. 30G17 164.
+ .00001 30G44 31. 30G22 79.
+ .00001 30D22 19. 30D30 1.
+ .00001 30121 4. 30F52 86.
+ .00001 30F48 88. 30128 20.
+ .00001 RCRFT -62.5 RA009 .8
+ .00001 RA023 2. RA035 2.42
+ .00001 RA036 12.13 RA037 12.2
+ .00001 RA038 4.6 RA040 1.
+ .00001 RA041 31. RA043 25.
+ .00001 1RA043 7. RA044 24.
+ .00001 RA046 8. RA047 5.
+ .00001 RA049 2. RA051 68.299998
+ .00001 RA052 32. 1RA052 5.
+ .00001 RA054 19. RA055 700.
+ .00001 1RA055 350. RA056 135.
+ .00001 RA057 230. RA058 115.
+ .00001 1RA058 45. RA059 60.
+ .00001 RA060 35. 2RA060 25.
+ .00001 3RA060 133. RA097 80.
+ .00001 1RA099 28. RB002 215.
+ .00001 2RB005 3.6 1RB006 6.4
+ .00001 2RB007 22. 1RB022 12.
+ .00001 2RB030 5. RB031 4.
+ .00001 1RB031 5. RB033 9.
+ .00001 RB035 60. RB037 31.
+ .00001 RB038 10. 1RB038 52.
+ .00001 RB039 6. RB040 6.5
+ .00001 1RB040 1.2 2RB040 1.1
+ .00001 RB041 7. RB042 22.
+ .00001 1RB043 .8 1RB044 1.8
+ .00001 1RB045 51. 4RB045 33.
+ .00001 RB046 60. 3RB047 30.
+ .00001 RB048 24.7 2RB049 4.
+ .00001 RB050 57. 2RB051 113.
+ .00001 RB052 23. RB053 89.
+ .00001 RB054 28. 1RB054 28.
+ .00001 RB055 14. RB057 96.7
+ .00001 RB058 1321.899979 1RB058 881.299988
+ .00001 RB059 182.099997 RB060 110.599999
+ .00001 RB061 130.299997 RB062 23.5
+ .00001 RB063 22. RB098 18.
+ .00001 RB099 50. RB101 1376.199966
+ .00001 RCLD4 34. RCF35 14.
+ .00001 RCF80 98. RDBMS 16.
+ .00001 RDLD4 11. RDK19 55.
+ .00001 RDG55 1. RDF35 83.
+ .00001 RE005 67. RE008 4.3
+ .00001 RE009 4.8 RE010 1.5
+ .00001 RE011 1.8 RE036 56.
+ .00001 RE040 17. RE044 7.
+ .00001 RE046 11. RE047 18.
+ .00001 RE049 5. RE050 72.
+ .00001 RE055 23. RE057 17.
+ .00001 RE060 -4.7 RE061 400.
+ .00001 1RE061 -160. 2RE061 280.
+ .00001 RE062 120. RE063 105.
+ .00001 RE064 35. RE066 9.34
+ .00001 RE103 4. RH001 1972.699966
+ .00001 RH008 19.4 1RH008 3.2
+ .00001 RH009 -1. RH010 1.
+ .00001 RH011 4. RH016 -14.2
+ .00001 RH018 .2 2RH025 -16.
+ .00001 RH031 44.3 RH032 14.
+ .00001 1RH034 8. 1RH035 42.
+ .00001 1RH036 22. RH038 2.68
+ .00001 2RH038 4.03 2RH039 30.
+ .00001 RH041 14. RH042 30.
+ .00001 2RH042 48. RH046 73.
+ .00001 3RH048 38. RH050 30.
+ .00001 1RH051 89. 2RH051 12.
+ .00001 2RH052 177.699997 3RH052 49.
+ .00001 4RH052 50. 2RH053 16.
+ .00001 3RH053 26.3 RH054 4.88
+ .00001 1RH054 80. RH055 3.66
+ .00001 RH056 60. RH057 323.299995
+ .00001 RH058 98. RH059 18.34
+ .00001 RH060 390.399994 RH061 134.199999
+ .00001 RH062 1.02 RH096 3.97
+ .00001 RH099 109.799999 RH103 200.
+ .00001 RH105 45.75 RH106 2000.
+ .00001 1RH106 60. 2RH106 300.
+ .00001 RH107 986.399986 2RH107 260.
+ .00001 RH109 73. RH114 18.8
+ .00001 R1003 175. 2R1006 130.
+ .00001 R1009 4.71 1R1009 1.2
+ .00001 R1010 4.1 R1012 8.7
+ .00001 R1039 54.9 1R1039 35.
+ .00001 R1040 23.2 R1041 11.
+ .00001 R1042 -10. R1043 -.6
+ .00001 R1045 6. R1047 52.
+ .00001 R1051 27.8 R1055 62.
+ .00001 R1057 15. 1R1057 15.
+ .00001 R1058 3. R1061 36.
+ .00001 2R1062 49. 2R1063 8.
+ .00001 1R1064 24. R1065 61.
+ .00001 R1066 10. 1R1068 154.
+ .00001 R1069 44. R1070 14.
+ .00001 R1071 635.899986 1R1071 793.
+ .00001 2R1071 823.5 R1072 231.799999
+ .00001 R1073 129.9 R1074 16.5
+ .00001 RJ001 200. RJ003 24.
+ .00001 RJ007 .9 1RJ007 4.
+ .00001 RJ008 5. RJ031 6.6
+ .00001 RJ032 3.6 RJ033 6.4
+ .00001 RJ034 160. RJ036 44.
+ .00001 1RJ036 42. 1RJ037 17.
+ .00001 2RJ037 -2. RJ038 31.
+ .00001 RJ039 2. RJ040 22.
+ .00001 RJ043 66. RJ045 56.
+ .00001 RJ046 193. RJ047 17.
+ .00001 RJ048 1432.299973 RJ049 69.
+ .00001 RJ050 78.9 1RJ050 97.599999
+ .00001 RJ051 9. RJ079 320.
+ .00001 RJ080 180. RJ081 1.
+ .00001 RJ084 24. 1RJ084 8.
+ .00001 RJ089 10. RJ091 193.
+ .00001 RJ092 4. RJ100 13.5
+ .00001 1RM001 208. RM011 4.5
+ .00001 RM012 4.5 RN009 18.
+ .00001 RR010 30. RR021 68.
+ .00001 RRG29 81. HSPMS 100.
+ .00001 HSRMS 100. HSLDF 50.
+ .00001 HSATK 30. NSG17 100.
+ .00001 HSG58 100. HSF80 100.
+ .00001 RT005 85. RT006 15.
+ .00001 3RT006 9. 4RT006 15.
+ .00001 RV001 10. RV002 22.
+ .00001 RV003 4. RXATG 16.
+ .00001 RXF72 26. RY001 7.
+ .00001 1RY001 29. RY005 518.
+ .00001 RZ002 4. RZ004 19.
+ .00001 RZ005 23. RZ012 43.
+ .00001 RZ016 63. RZ019 30.
+ .00001 RZ020 118. RABDH 506.
+ .00001 RAGJA 575. RGACH 966.
+ .00001 RHN1G 436. RK1RK 272.
+ .00001 RL1BY 200. RMN1G 79.
+ .00001 RMURB 148. RQATR 146.
+ .00001 RT1JA 247.
+ENDATA
diff --git a/modules/optimization/tests/unit_tests/colnew.dia.ref b/modules/optimization/tests/unit_tests/colnew.dia.ref
new file mode 100755
index 000000000..894d76581
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/colnew.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+exec(SCI+'/modules/differential_equations/tests/unit_tests/bvode_tst.sci');
+[z,zf]=col1();
+if max(abs(z-zf))>1.e-5 then bugmes();quit;end
+[z,zf]=col2(0);
+// Fortran Coded version
+if max(abs(z-zf))>1.e-2 then bugmes();quit;end
+[z,zf]=col2(1);
+// Scilab coded version
+if max(abs(z-zf))>1.e-2 then bugmes();quit;end
diff --git a/modules/optimization/tests/unit_tests/colnew.tst b/modules/optimization/tests/unit_tests/colnew.tst
new file mode 100755
index 000000000..1a99d4b54
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/colnew.tst
@@ -0,0 +1,25 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+exec(SCI+'/modules/differential_equations/tests/unit_tests/bvode_tst.sci');
+
+
+[z,zf]=col1();
+if max(abs(z-zf))>1.e-5 then pause,end
+
+[z,zf]=col2(0);
+// Fortran Coded version
+if max(abs(z-zf))>1.e-2 then pause,end
+
+[z,zf]=col2(1);
+// Scilab coded version
+if max(abs(z-zf))>1.e-2 then pause,end
+
+
+
diff --git a/modules/optimization/tests/unit_tests/derivative.dia.ref b/modules/optimization/tests/unit_tests/derivative.dia.ref
new file mode 100755
index 000000000..0e53a94c9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/derivative.dia.ref
@@ -0,0 +1,214 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// 1. Test with a scalar function
+function y = myfunction (x)
+ y = x*x;
+endfunction
+x = 1.0;
+expected = 2.0;
+// 1.1 With default parameters
+computed = derivative(myfunction,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.2 Test order 1
+computed = derivative(myfunction,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 1.3 Test order 2
+computed = derivative(myfunction,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.4 Test order 4
+computed = derivative(myfunction,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , %eps );
+// 1.5 Compute second derivative at the same time
+Jexpected = 2.0;
+Hexpected = 2.0;
+[Jcomputed , Hcomputed] = derivative(myfunction,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.6 Test order 1
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 1.7 Test order 2
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.8 Test order 4
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , %eps );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+// 2. Test with a vector function
+function y = myfunction2 (x)
+ y = x(1)*x(1) + x(2)+ x(1)*x(2);
+endfunction
+x = [1.0
+2.0];
+expected = [4.0 2.0];
+// 2.1 With default parameters
+computed = derivative(myfunction2,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-10 );
+// 2.2 Test order 1
+computed = derivative(myfunction2,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 2.3 Test order 2
+computed = derivative(myfunction2,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-10 );
+// 2.4 Test order 4
+computed = derivative(myfunction2,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , %eps );
+// 2.5 Compute second derivative at the same time
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0];
+[Jcomputed , Hcomputed] = derivative(myfunction2,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.6 Test order 1
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 );
+// 2.7 Test order 2
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.8 Test order 4
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , %eps );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+// 3. Test H_form
+// 3.1 Test H_form="default"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="default");
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.2 Test H_form='hypermat'
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="hypermat");
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.3 Test H_form='hypermat'
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="hypermat");
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 4. Test verbose
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , verbose = 1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+h = 0.0000061
+order = 2
+H_form = default
+Q =
+1 0
+0 1
+// 5. Test h parameter
+// Test a case where the default step h is very small ~ 1.e-9,
+// but, because the function is very flat in the neighbourhood of the
+// point, a larger step ~ 1.e-4 reduces the error.
+// This means that this test cannot pass if the right step is
+// not taken into account, therefore testing the feature "h is used correctly".
+myn = 1.e5;
+function y = myfunction3 (x)
+ y = x^(2/myn);
+endfunction
+x = 1.0;
+h = 6.055454e-006;
+Jexpected = (2/myn) * x^(2/myn-1);
+Hexpected = (2/myn) * (2/myn-1) * x^(2/myn-2);
+[Jcomputed , Hcomputed] = derivative(myfunction3 , x , h = 1.e-4 , order = 1 );
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-4 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-3 );
+// 6. Test Q parameter
+// TODO !
diff --git a/modules/optimization/tests/unit_tests/derivative.linux.dia.ref b/modules/optimization/tests/unit_tests/derivative.linux.dia.ref
new file mode 100755
index 000000000..0e53a94c9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/derivative.linux.dia.ref
@@ -0,0 +1,214 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// 1. Test with a scalar function
+function y = myfunction (x)
+ y = x*x;
+endfunction
+x = 1.0;
+expected = 2.0;
+// 1.1 With default parameters
+computed = derivative(myfunction,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.2 Test order 1
+computed = derivative(myfunction,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 1.3 Test order 2
+computed = derivative(myfunction,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.4 Test order 4
+computed = derivative(myfunction,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , %eps );
+// 1.5 Compute second derivative at the same time
+Jexpected = 2.0;
+Hexpected = 2.0;
+[Jcomputed , Hcomputed] = derivative(myfunction,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.6 Test order 1
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 1.7 Test order 2
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.8 Test order 4
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , %eps );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+// 2. Test with a vector function
+function y = myfunction2 (x)
+ y = x(1)*x(1) + x(2)+ x(1)*x(2);
+endfunction
+x = [1.0
+2.0];
+expected = [4.0 2.0];
+// 2.1 With default parameters
+computed = derivative(myfunction2,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-10 );
+// 2.2 Test order 1
+computed = derivative(myfunction2,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 2.3 Test order 2
+computed = derivative(myfunction2,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , 1.e-10 );
+// 2.4 Test order 4
+computed = derivative(myfunction2,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( computed , expected , %eps );
+// 2.5 Compute second derivative at the same time
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0];
+[Jcomputed , Hcomputed] = derivative(myfunction2,x);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.6 Test order 1
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 );
+// 2.7 Test order 2
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=2);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.8 Test order 4
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=4);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , %eps );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+// 3. Test H_form
+// 3.1 Test H_form="default"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="default");
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.2 Test H_form='hypermat'
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="hypermat");
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.3 Test H_form='hypermat'
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="hypermat");
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 4. Test verbose
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , verbose = 1);
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+h = 0.0000061
+order = 2
+H_form = default
+Q =
+1 0
+0 1
+// 5. Test h parameter
+// Test a case where the default step h is very small ~ 1.e-9,
+// but, because the function is very flat in the neighbourhood of the
+// point, a larger step ~ 1.e-4 reduces the error.
+// This means that this test cannot pass if the right step is
+// not taken into account, therefore testing the feature "h is used correctly".
+myn = 1.e5;
+function y = myfunction3 (x)
+ y = x^(2/myn);
+endfunction
+x = 1.0;
+h = 6.055454e-006;
+Jexpected = (2/myn) * x^(2/myn-1);
+Hexpected = (2/myn) * (2/myn-1) * x^(2/myn-2);
+[Jcomputed , Hcomputed] = derivative(myfunction3 , x , h = 1.e-4 , order = 1 );
+WARNING: Feature derivative is obsolete.
+ Please use numderivative instead.
+ This feature will be permanently removed in Scilab 6.0
+
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-4 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-3 );
+// 6. Test Q parameter
+// TODO !
diff --git a/modules/optimization/tests/unit_tests/derivative.tst b/modules/optimization/tests/unit_tests/derivative.tst
new file mode 100755
index 000000000..7a10c36f4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/derivative.tst
@@ -0,0 +1,135 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+// 1. Test with a scalar function
+function y = myfunction (x)
+ y = x*x;
+endfunction
+
+x = 1.0;
+expected = 2.0;
+// 1.1 With default parameters
+computed = derivative(myfunction,x);
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.2 Test order 1
+computed = derivative(myfunction,x,order=1);
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 1.3 Test order 2
+computed = derivative(myfunction,x,order=2);
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.4 Test order 4
+computed = derivative(myfunction,x,order=4);
+assert_checkalmostequal ( computed , expected , %eps );
+
+// 1.5 Compute second derivative at the same time
+Jexpected = 2.0;
+Hexpected = 2.0;
+[Jcomputed , Hcomputed] = derivative(myfunction,x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.6 Test order 1
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 1.7 Test order 2
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.8 Test order 4
+[Jcomputed , Hcomputed] = derivative(myfunction,x,order=4);
+assert_checkalmostequal ( Jcomputed , Jexpected , %eps );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+
+// 2. Test with a vector function
+function y = myfunction2 (x)
+ y = x(1)*x(1) + x(2)+ x(1)*x(2);
+endfunction
+x = [1.0
+2.0];
+expected = [4.0 2.0];
+// 2.1 With default parameters
+computed = derivative(myfunction2,x);
+assert_checkalmostequal ( computed , expected , 1.e-10 );
+// 2.2 Test order 1
+computed = derivative(myfunction2,x,order=1);
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 2.3 Test order 2
+computed = derivative(myfunction2,x,order=2);
+assert_checkalmostequal ( computed , expected , 1.e-10 );
+// 2.4 Test order 4
+computed = derivative(myfunction2,x,order=4);
+assert_checkalmostequal ( computed , expected , %eps );
+
+// 2.5 Compute second derivative at the same time
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0];
+[Jcomputed , Hcomputed] = derivative(myfunction2,x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.6 Test order 1
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 );
+// 2.7 Test order 2
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.8 Test order 4
+[Jcomputed , Hcomputed] = derivative(myfunction2,x,order=4);
+assert_checkalmostequal ( Jcomputed , Jexpected , %eps );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+
+// 3. Test H_form
+// 3.1 Test H_form="default"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="default");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.2 Test H_form='hypermat'
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="hypermat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.3 Test H_form='hypermat'
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , H_form="hypermat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+
+// 4. Test verbose
+[Jcomputed , Hcomputed] = derivative(myfunction2 , x , verbose = 1);
+
+// 5. Test h parameter
+// Test a case where the default step h is very small ~ 1.e-9,
+// but, because the function is very flat in the neighbourhood of the
+// point, a larger step ~ 1.e-4 reduces the error.
+// This means that this test cannot pass if the right step is
+// not taken into account, therefore testing the feature "h is used correctly".
+myn = 1.e5;
+function y = myfunction3 (x)
+ y = x^(2/myn);
+endfunction
+x = 1.0;
+h = 6.055454e-006;
+Jexpected = (2/myn) * x^(2/myn-1);
+Hexpected = (2/myn) * (2/myn-1) * x^(2/myn-2);
+[Jcomputed , Hcomputed] = derivative(myfunction3 , x , h = 1.e-4 , order = 1 );
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-4 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-3 );
+
+// 6. Test Q parameter
+// TODO !
diff --git a/modules/optimization/tests/unit_tests/fsolve.dia.ref b/modules/optimization/tests/unit_tests/fsolve.dia.ref
new file mode 100755
index 000000000..93235b269
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/fsolve.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+a=[1,7;2,8];b=[10;11];
+deff('[y]=fsol1(x)','y=a*x+b');
+deff('[y]=fsolj1(x)','y=a');
+[xres]=fsolve([100;100],fsol1);
+res1 = a*xres+b;
+if res1 <> [0;0] then bugmes();quit;end
+[xres]=fsolve([100;100],fsol1,fsolj1);
+res2 = a*xres+b;
+if res2 <> [0;0] then bugmes();quit;end
+[xres]=fsolve([100;100],'fsol1','fsolj1',1.e-7);
+res3 = a*xres+b;
+if res3 <> [0;0] then bugmes();quit;end
diff --git a/modules/optimization/tests/unit_tests/fsolve.tst b/modules/optimization/tests/unit_tests/fsolve.tst
new file mode 100755
index 000000000..759811f63
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/fsolve.tst
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+a=[1,7;2,8];b=[10;11];
+deff('[y]=fsol1(x)','y=a*x+b');
+deff('[y]=fsolj1(x)','y=a');
+[xres]=fsolve([100;100],fsol1);
+res1 = a*xres+b;
+if res1 <> [0;0] then pause,end
+[xres]=fsolve([100;100],fsol1,fsolj1);
+res2 = a*xres+b;
+if res2 <> [0;0] then pause,end
+[xres]=fsolve([100;100],'fsol1','fsolj1',1.e-7);
+res3 = a*xres+b;
+if res3 <> [0;0] then pause,end
diff --git a/modules/optimization/tests/unit_tests/karmarkar.dia.ref b/modules/optimization/tests/unit_tests/karmarkar.dia.ref
new file mode 100755
index 000000000..53b79829f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/karmarkar.dia.ref
@@ -0,0 +1,606 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// With slack variables:
+//
+// Minimize -20.x1 - 24.x2 such as:
+// 3.x1 + 6.x2 + x3 = 60
+// 4.x1 + 2.x2 + x4 = 32
+// x >= 0
+c = [-20 -24 0 0]';
+Aeq = [
+3 6 1 0
+4 2 0 1
+];
+beq = [60 32]';
+xexpected = [4 8 0 0]';
+fexpected = -272;
+x0 = [
+4.1128205
+7.7333333
+1.2615385
+0.0820513
+];
+[xopt,fopt]=karmarkar(Aeq,beq,c,x0);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+//
+// Configure the relative tolerance
+rtolf=1.e-6;
+[xopt,fopt]=karmarkar(Aeq,beq,c,x0,rtolf);
+assert_checkalmostequal ( xopt , xexpected , 1.e-4, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-5 );
+//
+// Configure the gamma
+gam = 0.1;
+[xopt,fopt]=karmarkar(Aeq,beq,c,x0,[],gam);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-2 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+////////////////////////////////////////////////////////////
+//
+// Check new API (from Scilab v5.3.x).
+//
+// Check exit flag
+[xopt,fopt,exitflag]=karmarkar(Aeq,beq,c,x0);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+//
+// Check number of iterations
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter>10 , %t );
+//
+// Check dual solution
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0);
+lambda.ineqlin = [];
+lambda.eqlin = [28/9;8/3];
+lambda.upper = [0;0;0;0];
+lambda.lower = [0;0;28/9;8/3];
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter>10 , %t );
+assert_checkequal ( yopt.ineqlin , lambda.ineqlin );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , 1.e-8 );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-8, 1.e-7 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Check number of iterations, with default options
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0,[],[],10);
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( iter , 10 );
+//
+// Check output function
+function stop = myoutputfunction ( xopt , optimValues , state )
+ localmsg = gettext("Iteration #%3.0f, state=%s, procedure=%s, fopt=%10.3e, x=[%s], dualgap=%10.3e\n")
+ xstr = strcat(msprintf("%10.3e\n",xopt)'," ")
+ teststring = sprintf(localmsg,optimValues.iteration,state,optimValues.procedure,optimValues.fval,xstr,optimValues.dualgap)
+ stop = %f
+endfunction
+xopt=karmarkar(Aeq,beq,c,x0,[],[],[],myoutputfunction);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+//
+// Check output function, without initial guess
+xopt=karmarkar(Aeq,beq,c,[],[],[],[],myoutputfunction);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+//
+// Check that the output function can stop the algorithm
+function stop = myoutputfunctionStop ( xopt , optimValues , state )
+ stop = (iter >= 7)
+endfunction
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0,[],[],[],myoutputfunctionStop);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-1 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-3 );
+assert_checkequal ( exitflag , -4 );
+assert_checkequal ( iter , 7 );
+//
+// Check output function with additional arguments
+function stop = myoutputfunction2 ( xopt , optimValues , state , myAeq , mybeq , myc )
+ localmsg = gettext("Iteration #%3.0f, fopt=%10.3e, state=%s, ||Ax-beq||=%.3e\n")
+ teststring = sprintf(localmsg,optimValues.iteration,optimValues.fval,state,norm(myAeq*xopt-mybeq))
+ stop = %f
+endfunction
+xopt=karmarkar(Aeq,beq,c,x0,[],[],[],list(myoutputfunction2,Aeq,beq,c));
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+//
+// References
+// "Practical Optimization", Antoniou, Lu, 2007
+// Chapter 11, "Linear Programming Part I: The simplex method",
+// Example 11.9, p. 361
+// Chapter 12, "Linear Programming Part II: Interior point methods",
+// Example 12.2, p.382
+//
+// Minimize 2.x1 + 9.x2 + 3.x3
+// -2.x1 + 2.x2 + x3 - x4 = 1
+// x1 + 4.x2 - x3 - x5 = 1
+// x >= 0
+Aeq = [
+-2 2 1 -1 0
+1 4 -1 0 -1
+];
+beq = [1;1];
+c = [2;9;3;0;0];
+x0 = [0.2;0.7;1;1;1];
+gam = 0.9999;
+rtolf = 1.e-4;
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0,rtolf,gam,[],myoutputfunction);
+xstar = [0 1/3 1/3 0 0]';
+fstar = 4;
+lambda.ineqlin = [];
+lambda.eqlin = [-3.5;-0.5];
+lambda.upper = [0;0;0;0;0];
+lambda.lower = [8.5;0;0;3.5;0.5];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter , 4 );
+assert_checkequal ( yopt.ineqlin , lambda.ineqlin );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , 1.e-6 , 1.e-6 );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-6 , 1.e-6 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Minimize -x1 -x2
+// x1 - x2 = 0
+// x1 + x2 + x3 = 2
+// x >= 0
+//
+// Let karmarkar find a feasible x0.
+Aeq = [
+1 -1 0
+1 1 1
+];
+beq = [0;2];
+c = [-1;-1;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c);
+xstar = [1;1;0];
+fstar = -2;
+lambda.ineqlin = [];
+lambda.eqlin = [0;1];
+lambda.upper = [0;0;0];
+lambda.lower = [0;0;1];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkequal ( yopt.ineqlin , lambda.ineqlin );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , 1.e-6 , 1.e-15);
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-6 , 1.e-6 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Give a linear inequality A*x <= b.
+//
+// Minimize -x1 -x2
+// x1 - x2 = 0
+// x1 + x2 <= 2
+//
+// Give x0.
+Aeq = [
+1 -1
+];
+beq = 0;
+c = [-1;-1];
+A = [1 1];
+b = 2;
+x0 = [0.1;0.1];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0,[],[],[],[],A,b);
+xstar=[1 1]';
+fstar = c'*xstar;
+lambda.ineqlin = 1;
+lambda.eqlin = 0;
+lambda.upper = [0;0];
+lambda.lower = [0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-6 );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , [] , 1.e-6 );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Give a linear inequality A*x <= b
+//
+// Minimize -x1 -x2
+// x1 - x2 = 0
+// x1 + x2 <= 2
+//
+// Do not give x0.
+Aeq = [
+1 -1
+];
+beq = 0;
+c = [-1;-1];
+A = [1 1];
+b = 2;
+function stop = myoutputfunction3 ( xopt , optimValues , state )
+ assert_checkequal ( size(xopt) , [2 1] );
+ assert_checkequal ( or(state==["init","iter","done"]) , %t );
+ assert_checkequal ( or(optimValues.procedure==["x0","x*"]) , %t );
+ stop = %f
+endfunction
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],myoutputfunction3,A,b);
+xstar=[1 1]';
+fstar = c'*xstar;
+lambda.ineqlin = 1;
+lambda.eqlin = 0;
+lambda.upper = [0;0];
+lambda.lower = [0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-6 );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , [] , 1.e-6 );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Minimize -20.x1 - 24.x2 such as:
+// 3.x1 + 6.x2 >= 60
+// 4.x1 + 2.x2 >= 32
+c = [-20 -24]';
+Aeq=[];
+beq=[];
+A = [
+3 6
+4 2
+];
+b = [60 32]';
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+xstar = [4 8]';
+fstar = c'*xstar;
+lambda.ineqlin = [28/9;8/3];
+lambda.eqlin = [];
+lambda.upper = [0;0];
+lambda.lower = [0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-6 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// References
+// "Practical Optimization", Antoniou, Lu, 2007
+// Chapter 11, "Linear Programming Part I: The simplex method",
+// Example 11.9, p. 361
+// Chapter 12, "Linear Programming Part II: Interior point methods",
+// Example 12.2, p.382
+//
+// Minimize 2.x1 + 9.x2 + 3.x3
+// +2.x1 - 2.x2 - x3 <= -1
+// -x1 - 4.x2 + x3 <= -1
+// x >= 0
+//
+// Give x0
+Aeq=[];
+beq=[];
+A = [
+ 2 -2 -1
+-1 -4 1
+-1 0 0
+ 0 -1 0
+ 0 0 -1
+];
+b = [-1;-1;0;0;0];
+c = [2;9;3];
+x0 = [0.2;0.7;1];
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0,[],[],[],[],A,b);
+xstar = [0 1/3 1/3]';
+fstar = c'*xstar;
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+//
+// Let x0 be found by the algorithm.
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+xstar = [0 1/3 1/3]';
+fstar = c'*xstar;
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+/////////////////////////////////////////////////////
+// References
+// "Lipsol toolbox", Yin Zhang, Scilab port by Rubio Scola, example0.sce.
+//
+// Minimize 2.x1 + 5.x2 - 2.5.x3
+// x1 S4 x3 <= 5
+// E2 x1 - x2 - x3 <= 0
+// x1 <= 2
+// x2 <= %inf
+// x3 <= 3
+// - x1 <= 2
+// - x2 <= -1
+// - x3 <= 0
+//
+// where
+// S4 = sin(pi/4)/4
+// E2 = exp(2)
+//
+S4 = sin(%pi/4)/4;
+E2 = exp(2);
+c = [ 2; 5; -2.5];
+A = [
+ 1 0 S4
+ E2 -1 -1
+ 1 0 0
+ 0 0 1
+ -1 0 0
+ 0 -1 0
+ 0 0 -1
+];
+b = [ 5; 0;2;3;2;-1;0];
+Aeq = [];
+beq = [];
+xstar = [-2;1;3];
+fstar = c'*xstar;
+lambda.ineqlin = [0;0;0;2.5;2;5;0];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [0;0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-9 , 1.e-10 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Minimize 2.x1 + 9.x2 + 3.x3
+// 2 x1 - 2 x2 - x3 <= -1
+// -1 x1 - 4 x2 + x3 <= -1
+// - x1 <= -1
+// - x2 <= 0
+// - x3 <= 0
+//
+Aeq=[];
+beq=[];
+A = [
+ 2 -2 -1
+-1 -4 1
+-1 0 0
+ 0 -1 0
+ 0 0 -1
+];
+b = [-1;-1;-1;0;0];
+c = [2;9;3];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+xstar = [1;0.5;2];
+fstar = c'*xstar;
+lambda.ineqlin = [3.5;0.5;8.5;0;0];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [0;0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-9 , 1.e-8 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//////////////////////////////////////////////////////////////////////////
+//
+// Set lower bound and do not give x0.
+Aeq=[];
+beq=[];
+A = [
+ 2 -2 -1
+-1 -4 1
+];
+b = [-1;-1];
+c = [2;9;3];
+lb = [1;0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b,lb);
+xstar = [1;0.5;2];
+fstar = c'*xstar;
+lambda.ineqlin = [3.5;0.5];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [8.5;0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-8 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-9 , 1.e-8 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Set lower bound and give x0.
+Aeq=[];
+beq=[];
+A = [
+ 2 -2 -1
+-1 -4 1
+];
+b = [-1;-1];
+c = [2;9;3];
+x0 = [1.337848;0.885225;2.535279];
+lb = [1;0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0,[],[],[],[],A,b,lb);
+xstar = [1;0.5;2];
+fstar = c'*xstar;
+lambda.ineqlin = [3.5;0.5];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [8.5;0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-9 , 1.e-8 );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , %eps , 1.e-8 );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-9 , 1.e-8 );
+assert_checkalmostequal ( yopt.upper , lambda.upper , 1.e-9 );
+// References
+// LIPSOL is a set of Linear-programming Interior-Point SOLvers written
+// by Yin Zhang.
+// The original Matlab-based code has been adapted to Scilab
+// by H. Rubio Scola.
+//
+// Minimize 2 x1 + 5 x2 - 2.5 x3
+// x1 + S4 x3 <= 5
+// E2 x1 - x2 - x3 <= 0
+// -2 <= x1 <= 2
+// 1 <= x2
+// 0 <= x3 <= 3
+// where:
+// S4 = sin(pi/4)/4
+// E2 = exp(2)
+//
+// Do not give x0.
+c = [ 2; 5; -2.5];
+S4 = sin(%pi/4)/4;
+E2 = exp(2);
+A = [
+ 1 0 S4
+ E2 -1 -1
+];
+b = [ 5; 0];
+lb = [ -2; 1 ; 0 ];
+ub = [ 2; %inf; 3 ];
+Aeq = [];
+beq = [];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b,lb,ub);
+xstar = [-2;1;3];
+fstar = c'*xstar;
+lambda.ineqlin = [0;0];
+lambda.eqlin = [];
+lambda.upper = [0;0;2.5];
+lambda.lower = [2;5;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , [] , 1.e-9 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-9 , 1.e-10 );
+assert_checkalmostequal ( yopt.upper , lambda.upper , 1.e-9 , 1.e-10 );
+//
+// An unbounded problem.
+c = [-20 -24]';
+A = [
+-3 -6
+-4 -2
+];
+b = [-60 -32]';
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b);
+assert_checkequal ( exitflag , -2 );
+//
+// "Linear Programming in Matlab"
+// Ferris, Mangasarian, Wright
+// 2008
+// Chapter 3, "The Simplex Method", Exercise 3-4-2 1.
+//
+// An infeasible problem.
+// Minimize -3 x1 + x2
+// - x1 - x2 >= -2
+// 2 x1 + 2 x2 >= 10
+// x >= 0
+c = [-3;1];
+A=[
+ -1 -1
+ 2 2
+];
+A=-A;
+b=[-2;10];
+b=-b;
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( xopt , [] );
+assert_checkequal ( fopt , [] );
+assert_checkequal ( exitflag , -1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkequal ( yopt.ineqlin , [] );
+assert_checkequal ( yopt.eqlin , [] );
+assert_checkequal ( yopt.lower , [] );
+assert_checkequal ( yopt.upper , [] );
+//
+// "Linear Programming in Matlab"
+// Ferris, Mangasarian, Wright
+// 2008
+// Chapter 3, "The Simplex Method", Exercise 3-4-2 2.
+//
+// An unbounded problem.
+// Minimize -x1 + x2
+// 2 x1 - x2 >= 1
+// x1 + 2 x2 >= 2
+// x >= 0
+c = [-1;1];
+A=[
+ 2 -1
+ 1 2
+];
+A=-A;
+b=[1;2];
+b=-b;
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( exitflag , -2 );
+//
+// "Linear and Nonlinear Optimization"
+// Griva, Nash, Sofer
+// 2009
+// Chapter 5, "The Simplex Method", Example 5.3
+//
+// An unbounded problem.
+// Minimize -x1 - 2 x2
+// -1 x1 + x2 <= 2
+// -2 x1 + x2 <= 1
+// x >= 0
+c = [-1;-2];
+A=[
+ -1 1
+ -2 1
+];
+b=[2;1];
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( exitflag , -2 );
+//
+// "Linear and Nonlinear Optimization"
+// Griva, Nash, Sofer
+// 2009
+// Chapter 5, "The Simplex Method", Example 5.6
+//
+// An unfeasible problem.
+// Minimize -x1
+// - x1 - x2 <= -6
+// 2 x1 + 3 x2 <= 4
+// x >= 0
+c = [-1;0];
+A=[
+ -1 -1
+ 2 3
+];
+b=[-6;4];
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( exitflag , -1 );
+//
+// Example from the help page
+// Check that the output points remain feasible
+function stop = myoutputfunction4 ( xopt , optimValues , state , A , b )
+ assert_checkequal ( and(A*xopt<=b) , %t );
+ stop = %f
+endfunction
+n=11;
+A = [2*linspace(0,1,n)',ones(n,1)];
+b = 1 + linspace(0,1,n)'.^2;
+c=[-1;-1];
+xopt=karmarkar([],[],c,[],[],[],[],list(myoutputfunction4,A,b),A,b);
+xstar = [0.5005127;0.7494803];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
diff --git a/modules/optimization/tests/unit_tests/karmarkar.tst b/modules/optimization/tests/unit_tests/karmarkar.tst
new file mode 100755
index 000000000..8143fe3f6
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/karmarkar.tst
@@ -0,0 +1,620 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+// With slack variables:
+//
+// Minimize -20.x1 - 24.x2 such as:
+// 3.x1 + 6.x2 + x3 = 60
+// 4.x1 + 2.x2 + x4 = 32
+// x >= 0
+c = [-20 -24 0 0]';
+Aeq = [
+3 6 1 0
+4 2 0 1
+];
+beq = [60 32]';
+xexpected = [4 8 0 0]';
+fexpected = -272;
+x0 = [
+4.1128205
+7.7333333
+1.2615385
+0.0820513
+];
+[xopt,fopt]=karmarkar(Aeq,beq,c,x0);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+//
+// Configure the relative tolerance
+rtolf=1.e-6;
+[xopt,fopt]=karmarkar(Aeq,beq,c,x0,rtolf);
+assert_checkalmostequal ( xopt , xexpected , 1.e-4, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-5 );
+//
+// Configure the gamma
+gam = 0.1;
+[xopt,fopt]=karmarkar(Aeq,beq,c,x0,[],gam);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-2 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+////////////////////////////////////////////////////////////
+//
+// Check new API (from Scilab v5.3.x).
+//
+// Check exit flag
+[xopt,fopt,exitflag]=karmarkar(Aeq,beq,c,x0);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+//
+// Check number of iterations
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter>10 , %t );
+//
+// Check dual solution
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0);
+lambda.ineqlin = [];
+lambda.eqlin = [28/9;8/3];
+lambda.upper = [0;0;0;0];
+lambda.lower = [0;0;28/9;8/3];
+assert_checkalmostequal ( xopt , xexpected , 1.e-3, 1.e-3 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter>10 , %t );
+assert_checkequal ( yopt.ineqlin , lambda.ineqlin );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , 1.e-8 );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-8, 1.e-7 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Check number of iterations, with default options
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0,[],[],10);
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( iter , 10 );
+//
+// Check output function
+function stop = myoutputfunction ( xopt , optimValues , state )
+ localmsg = gettext("Iteration #%3.0f, state=%s, procedure=%s, fopt=%10.3e, x=[%s], dualgap=%10.3e\n")
+ xstr = strcat(msprintf("%10.3e\n",xopt)'," ")
+ teststring = sprintf(localmsg,optimValues.iteration,state,optimValues.procedure,optimValues.fval,xstr,optimValues.dualgap)
+ stop = %f
+endfunction
+xopt=karmarkar(Aeq,beq,c,x0,[],[],[],myoutputfunction);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+//
+// Check output function, without initial guess
+xopt=karmarkar(Aeq,beq,c,[],[],[],[],myoutputfunction);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+//
+// Check that the output function can stop the algorithm
+function stop = myoutputfunctionStop ( xopt , optimValues , state )
+ stop = (iter >= 7)
+endfunction
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0,[],[],[],myoutputfunctionStop);
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-1 );
+assert_checkalmostequal ( fopt , fexpected , 1.e-3 );
+assert_checkequal ( exitflag , -4 );
+assert_checkequal ( iter , 7 );
+//
+// Check output function with additional arguments
+function stop = myoutputfunction2 ( xopt , optimValues , state , myAeq , mybeq , myc )
+ localmsg = gettext("Iteration #%3.0f, fopt=%10.3e, state=%s, ||Ax-beq||=%.3e\n")
+ teststring = sprintf(localmsg,optimValues.iteration,optimValues.fval,state,norm(myAeq*xopt-mybeq))
+ stop = %f
+endfunction
+xopt=karmarkar(Aeq,beq,c,x0,[],[],[],list(myoutputfunction2,Aeq,beq,c));
+assert_checkalmostequal ( xopt , xexpected , 1.e-3 , 1.e-3 );
+//
+// References
+// "Practical Optimization", Antoniou, Lu, 2007
+// Chapter 11, "Linear Programming Part I: The simplex method",
+// Example 11.9, p. 361
+// Chapter 12, "Linear Programming Part II: Interior point methods",
+// Example 12.2, p.382
+//
+// Minimize 2.x1 + 9.x2 + 3.x3
+// -2.x1 + 2.x2 + x3 - x4 = 1
+// x1 + 4.x2 - x3 - x5 = 1
+// x >= 0
+Aeq = [
+-2 2 1 -1 0
+1 4 -1 0 -1
+];
+beq = [1;1];
+c = [2;9;3;0;0];
+x0 = [0.2;0.7;1;1;1];
+gam = 0.9999;
+rtolf = 1.e-4;
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0,rtolf,gam,[],myoutputfunction);
+xstar = [0 1/3 1/3 0 0]';
+fstar = 4;
+lambda.ineqlin = [];
+lambda.eqlin = [-3.5;-0.5];
+lambda.upper = [0;0;0;0;0];
+lambda.lower = [8.5;0;0;3.5;0.5];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter , 4 );
+assert_checkequal ( yopt.ineqlin , lambda.ineqlin );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , 1.e-6 , 1.e-6 );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-6 , 1.e-6 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Minimize -x1 -x2
+// x1 - x2 = 0
+// x1 + x2 + x3 = 2
+// x >= 0
+//
+// Let karmarkar find a feasible x0.
+Aeq = [
+1 -1 0
+1 1 1
+];
+beq = [0;2];
+c = [-1;-1;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c);
+xstar = [1;1;0];
+fstar = -2;
+lambda.ineqlin = [];
+lambda.eqlin = [0;1];
+lambda.upper = [0;0;0];
+lambda.lower = [0;0;1];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkequal ( yopt.ineqlin , lambda.ineqlin );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , 1.e-6 , 1.e-15);
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-6 , 1.e-6 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Give a linear inequality A*x <= b.
+//
+// Minimize -x1 -x2
+// x1 - x2 = 0
+// x1 + x2 <= 2
+//
+// Give x0.
+Aeq = [
+1 -1
+];
+beq = 0;
+c = [-1;-1];
+A = [1 1];
+b = 2;
+x0 = [0.1;0.1];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0,[],[],[],[],A,b);
+xstar=[1 1]';
+fstar = c'*xstar;
+lambda.ineqlin = 1;
+lambda.eqlin = 0;
+lambda.upper = [0;0];
+lambda.lower = [0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-6 );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , [] , 1.e-6 );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Give a linear inequality A*x <= b
+//
+// Minimize -x1 -x2
+// x1 - x2 = 0
+// x1 + x2 <= 2
+//
+// Do not give x0.
+Aeq = [
+1 -1
+];
+beq = 0;
+c = [-1;-1];
+A = [1 1];
+b = 2;
+function stop = myoutputfunction3 ( xopt , optimValues , state )
+ assert_checkequal ( size(xopt) , [2 1] );
+ assert_checkequal ( or(state==["init","iter","done"]) , %t );
+ assert_checkequal ( or(optimValues.procedure==["x0","x*"]) , %t );
+ stop = %f
+endfunction
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],myoutputfunction3,A,b);
+xstar=[1 1]';
+fstar = c'*xstar;
+lambda.ineqlin = 1;
+lambda.eqlin = 0;
+lambda.upper = [0;0];
+lambda.lower = [0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-6 );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , [] , 1.e-6 );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Minimize -20.x1 - 24.x2 such as:
+// 3.x1 + 6.x2 >= 60
+// 4.x1 + 2.x2 >= 32
+c = [-20 -24]';
+Aeq=[];
+beq=[];
+A = [
+3 6
+4 2
+];
+b = [60 32]';
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+xstar = [4 8]';
+fstar = c'*xstar;
+lambda.ineqlin = [28/9;8/3];
+lambda.eqlin = [];
+lambda.upper = [0;0];
+lambda.lower = [0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-6 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// References
+// "Practical Optimization", Antoniou, Lu, 2007
+// Chapter 11, "Linear Programming Part I: The simplex method",
+// Example 11.9, p. 361
+// Chapter 12, "Linear Programming Part II: Interior point methods",
+// Example 12.2, p.382
+//
+// Minimize 2.x1 + 9.x2 + 3.x3
+// +2.x1 - 2.x2 - x3 <= -1
+// -x1 - 4.x2 + x3 <= -1
+// x >= 0
+//
+// Give x0
+Aeq=[];
+beq=[];
+A = [
+2 -2 -1
+-1 -4 1
+-1 0 0
+0 -1 0
+0 0 -1
+];
+b = [-1;-1;0;0;0];
+c = [2;9;3];
+x0 = [0.2;0.7;1];
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,x0,[],[],[],[],A,b);
+xstar = [0 1/3 1/3]';
+fstar = c'*xstar;
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+//
+// Let x0 be found by the algorithm.
+[xopt,fopt,exitflag,iter]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+xstar = [0 1/3 1/3]';
+fstar = c'*xstar;
+assert_checkalmostequal ( xopt , xstar , 1.e-4 , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+/////////////////////////////////////////////////////
+// References
+// "Lipsol toolbox", Yin Zhang, Scilab port by Rubio Scola, example0.sce.
+//
+// Minimize 2.x1 + 5.x2 - 2.5.x3
+// x1 S4 x3 <= 5
+// E2 x1 - x2 - x3 <= 0
+// x1 <= 2
+// x2 <= %inf
+// x3 <= 3
+// - x1 <= 2
+// - x2 <= -1
+// - x3 <= 0
+//
+// where
+// S4 = sin(pi/4)/4
+// E2 = exp(2)
+//
+
+S4 = sin(%pi/4)/4;
+E2 = exp(2);
+c = [ 2; 5; -2.5];
+A = [
+1 0 S4
+E2 -1 -1
+1 0 0
+0 0 1
+-1 0 0
+0 -1 0
+0 0 -1
+];
+b = [ 5; 0;2;3;2;-1;0];
+Aeq = [];
+beq = [];
+xstar = [-2;1;3];
+fstar = c'*xstar;
+lambda.ineqlin = [0;0;0;2.5;2;5;0];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [0;0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-9 , 1.e-10 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+
+//
+// Minimize 2.x1 + 9.x2 + 3.x3
+// 2 x1 - 2 x2 - x3 <= -1
+// -1 x1 - 4 x2 + x3 <= -1
+// - x1 <= -1
+// - x2 <= 0
+// - x3 <= 0
+//
+Aeq=[];
+beq=[];
+A = [
+2 -2 -1
+-1 -4 1
+-1 0 0
+0 -1 0
+0 0 -1
+];
+b = [-1;-1;-1;0;0];
+c = [2;9;3];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b);
+xstar = [1;0.5;2];
+fstar = c'*xstar;
+lambda.ineqlin = [3.5;0.5;8.5;0;0];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [0;0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-9 , 1.e-8 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkequal ( yopt.lower , lambda.lower );
+assert_checkequal ( yopt.upper , lambda.upper );
+
+//////////////////////////////////////////////////////////////////////////
+//
+// Set lower bound and do not give x0.
+Aeq=[];
+beq=[];
+A = [
+2 -2 -1
+-1 -4 1
+];
+b = [-1;-1];
+c = [2;9;3];
+lb = [1;0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b,lb);
+xstar = [1;0.5;2];
+fstar = c'*xstar;
+lambda.ineqlin = [3.5;0.5];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [8.5;0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-8 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-9 , 1.e-8 );
+assert_checkequal ( yopt.upper , lambda.upper );
+//
+// Set lower bound and give x0.
+Aeq=[];
+beq=[];
+A = [
+2 -2 -1
+-1 -4 1
+];
+b = [-1;-1];
+c = [2;9;3];
+x0 = [1.337848;0.885225;2.535279];
+lb = [1;0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,x0,[],[],[],[],A,b,lb);
+xstar = [1;0.5;2];
+fstar = c'*xstar;
+lambda.ineqlin = [3.5;0.5];
+lambda.eqlin = [];
+lambda.upper = [0;0;0];
+lambda.lower = [8.5;0;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , 1.e-9 , 1.e-8 );
+assert_checkalmostequal ( yopt.eqlin , lambda.eqlin , %eps , 1.e-8 );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-9 , 1.e-8 );
+assert_checkalmostequal ( yopt.upper , lambda.upper , 1.e-9 );
+// References
+// LIPSOL is a set of Linear-programming Interior-Point SOLvers written
+// by Yin Zhang.
+// The original Matlab-based code has been adapted to Scilab
+// by H. Rubio Scola.
+//
+// Minimize 2 x1 + 5 x2 - 2.5 x3
+// x1 + S4 x3 <= 5
+// E2 x1 - x2 - x3 <= 0
+// -2 <= x1 <= 2
+// 1 <= x2
+// 0 <= x3 <= 3
+// where:
+// S4 = sin(pi/4)/4
+// E2 = exp(2)
+//
+// Do not give x0.
+c = [ 2; 5; -2.5];
+S4 = sin(%pi/4)/4;
+E2 = exp(2);
+A = [
+1 0 S4
+E2 -1 -1
+];
+b = [ 5; 0];
+lb = [ -2; 1 ; 0 ];
+ub = [ 2; %inf; 3 ];
+Aeq = [];
+beq = [];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar(Aeq,beq,c,[],[],[],[],[],A,b,lb,ub);
+xstar = [-2;1;3];
+fstar = c'*xstar;
+lambda.ineqlin = [0;0];
+lambda.eqlin = [];
+lambda.upper = [0;0;2.5];
+lambda.lower = [2;5;0];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+assert_checkalmostequal ( fopt , fstar , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkalmostequal ( yopt.ineqlin , lambda.ineqlin , [] , 1.e-9 );
+assert_checkequal ( yopt.eqlin , lambda.eqlin );
+assert_checkalmostequal ( yopt.lower , lambda.lower , 1.e-9 , 1.e-10 );
+assert_checkalmostequal ( yopt.upper , lambda.upper , 1.e-9 , 1.e-10 );
+//
+// An unbounded problem.
+c = [-20 -24]';
+A = [
+-3 -6
+-4 -2
+];
+b = [-60 -32]';
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b);
+assert_checkequal ( exitflag , -2 );
+//
+// "Linear Programming in Matlab"
+// Ferris, Mangasarian, Wright
+// 2008
+// Chapter 3, "The Simplex Method", Exercise 3-4-2 1.
+//
+// An infeasible problem.
+// Minimize -3 x1 + x2
+// - x1 - x2 >= -2
+// 2 x1 + 2 x2 >= 10
+// x >= 0
+c = [-3;1];
+A=[
+-1 -1
+2 2
+];
+A=-A;
+b=[-2;10];
+b=-b;
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( xopt , [] );
+assert_checkequal ( fopt , [] );
+assert_checkequal ( exitflag , -1 );
+assert_checkequal ( iter > 0 , %t );
+assert_checkequal ( yopt.ineqlin , [] );
+assert_checkequal ( yopt.eqlin , [] );
+assert_checkequal ( yopt.lower , [] );
+assert_checkequal ( yopt.upper , [] );
+
+
+//
+// "Linear Programming in Matlab"
+// Ferris, Mangasarian, Wright
+// 2008
+// Chapter 3, "The Simplex Method", Exercise 3-4-2 2.
+//
+// An unbounded problem.
+// Minimize -x1 + x2
+// 2 x1 - x2 >= 1
+// x1 + 2 x2 >= 2
+// x >= 0
+c = [-1;1];
+A=[
+2 -1
+1 2
+];
+A=-A;
+b=[1;2];
+b=-b;
+lb=[0;0];
+
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( exitflag , -2 );
+
+//
+// "Linear and Nonlinear Optimization"
+// Griva, Nash, Sofer
+// 2009
+// Chapter 5, "The Simplex Method", Example 5.3
+//
+// An unbounded problem.
+// Minimize -x1 - 2 x2
+// -1 x1 + x2 <= 2
+// -2 x1 + x2 <= 1
+// x >= 0
+c = [-1;-2];
+A=[
+-1 1
+-2 1
+];
+b=[2;1];
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( exitflag , -2 );
+//
+// "Linear and Nonlinear Optimization"
+// Griva, Nash, Sofer
+// 2009
+// Chapter 5, "The Simplex Method", Example 5.6
+//
+// An unfeasible problem.
+// Minimize -x1
+// - x1 - x2 <= -6
+// 2 x1 + 3 x2 <= 4
+// x >= 0
+c = [-1;0];
+A=[
+-1 -1
+2 3
+];
+b=[-6;4];
+lb=[0;0];
+[xopt,fopt,exitflag,iter,yopt]=karmarkar([],[],c,[],[],[],[],[],A,b,lb);
+assert_checkequal ( exitflag , -1 );
+//
+// Example from the help page
+// Check that the output points remain feasible
+function stop = myoutputfunction4 ( xopt , optimValues , state , A , b )
+ assert_checkequal ( and(A*xopt<=b) , %t );
+ stop = %f
+endfunction
+n=11;
+A = [2*linspace(0,1,n)',ones(n,1)];
+b = 1 + linspace(0,1,n)'.^2;
+c=[-1;-1];
+xopt=karmarkar([],[],c,[],[],[],[],list(myoutputfunction4,A,b),A,b);
+xstar = [0.5005127;0.7494803];
+assert_checkalmostequal ( xopt , xstar , 1.e-4 );
+
+
diff --git a/modules/optimization/tests/unit_tests/lmisolver.dia.ref b/modules/optimization/tests/unit_tests/lmisolver.dia.ref
new file mode 100755
index 000000000..7585f1741
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/lmisolver.dia.ref
@@ -0,0 +1,60 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//<-- ENGLISH IMPOSED -->
+rand("seed", 0);
+n = 2;
+A1 = rand(n, n);
+A2 = rand(n, n);
+Xs = diag(1:n);
+Q1 = -(A1'*Xs+Xs*A1+0.1*eye());
+Q2 = -(A2'*Xs+Xs*A2+0.2*eye());
+function [LME, LMI, OBJ] = evalf(Xlist)
+ X = Xlist(1)
+ LME = X-diag(diag(X))
+ LMI = list(-(A1'*X+X*A1+Q1), -(A2'*X+X*A2+Q2))
+ OBJ = -sum(diag(X))
+endfunction
+X = lmisolver(list(zeros(A1)), evalf);
+lmisolver: Construction of canonical representation.
+lmisolver: Basis Construction.
+lmisolver: FEASIBILITY PHASE.
+
+ primal obj. dual obj. dual. gap
+ 6.66e-01 -5.03e+02 5.03e+02
+ 8.37e+01 -4.99e+02 5.83e+02
+ 6.88e+01 -2.80e+00 7.16e+01
+ 4.33e+00 -2.67e+00 7.00e+00
+ 5.65e-01 -1.78e-01 7.43e-01
+ -9.58e-02 -1.57e-01 6.13e-02
+lmisolver: Target value reached.
+lmisolver: feasible solution found.
+lmisolver: OPTIMIZATION PHASE.
+
+ primal obj. dual obj. dual. gap
+ -2.76e+00 -3.62e+00 8.56e-01
+ -3.13e+00 -3.27e+00 1.35e-01
+ -3.14e+00 -3.16e+00 1.62e-02
+ -3.14e+00 -3.14e+00 1.62e-03
+ -3.14e+00 -3.14e+00 1.27e-04
+ -3.14e+00 -3.14e+00 1.40e-05
+ -3.14e+00 -3.14e+00 4.40e-07
+ -3.14e+00 -3.14e+00 4.54e-08
+ -3.14e+00 -3.14e+00 4.06e-09
+lmisolver: optimal solution found
+X = X(1);
+refX = [1.0635042 0; 0 2.0784841];
+refY = 0;
+refZ = list([0.0731600 0.7080179; 0.7080179 0.7186999], [0.1154910 0.5345239; 0.5345239 1.4843684]);
+refC = -1.0635042;
+[Y, Z, c] = evalf(X);
+assert_checkalmostequal(X, refX, [], 1d-6);
+assert_checkalmostequal(Y, refY, [], 1d-6);
+assert_checkalmostequal(Z(1), refZ(1), [], 1d-6);
+assert_checkalmostequal(Z(2), refZ(2), [], 1d-6);
+assert_checkalmostequal(c, refC, [], 1d-6);
diff --git a/modules/optimization/tests/unit_tests/lmisolver.tst b/modules/optimization/tests/unit_tests/lmisolver.tst
new file mode 100755
index 000000000..93ea263ae
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/lmisolver.tst
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+
+//<-- ENGLISH IMPOSED -->
+
+rand("seed", 0);
+n = 2;
+A1 = rand(n, n);
+A2 = rand(n, n);
+Xs = diag(1:n);
+Q1 = -(A1'*Xs+Xs*A1+0.1*eye());
+Q2 = -(A2'*Xs+Xs*A2+0.2*eye());
+
+function [LME, LMI, OBJ] = evalf(Xlist)
+ X = Xlist(1)
+ LME = X-diag(diag(X))
+ LMI = list(-(A1'*X+X*A1+Q1), -(A2'*X+X*A2+Q2))
+ OBJ = -sum(diag(X))
+endfunction
+
+X = lmisolver(list(zeros(A1)), evalf);
+X = X(1);
+
+refX = [1.0635042 0; 0 2.0784841];
+refY = 0;
+refZ = list([0.0731600 0.7080179; 0.7080179 0.7186999], [0.1154910 0.5345239; 0.5345239 1.4843684]);
+refC = -1.0635042;
+
+[Y, Z, c] = evalf(X);
+
+assert_checkalmostequal(X, refX, [], 1d-6);
+assert_checkalmostequal(Y, refY, [], 1d-6);
+assert_checkalmostequal(Z(1), refZ(1), [], 1d-6);
+assert_checkalmostequal(Z(2), refZ(2), [], 1d-6);
+assert_checkalmostequal(c, refC, [], 1d-6);
diff --git a/modules/optimization/tests/unit_tests/lmitool.dia.ref b/modules/optimization/tests/unit_tests/lmitool.dia.ref
new file mode 100755
index 000000000..59d8b3568
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/lmitool.dia.ref
@@ -0,0 +1,65 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//<-- ENGLISH IMPOSED -->
+// Constants
+rand("seed", 0);
+n = 2;
+A1 = rand(n, n);
+A2 = rand(n, n);
+Xs = diag(1:n);
+Q1 = -(A1'*Xs+Xs*A1+0.1*eye());
+Q2 = -(A2'*Xs+Xs*A2+0.2*eye());
+// Redefining messagebox() to avoid popup
+prot = funcprot();
+funcprot(0);
+function messagebox(msg, msg_title, info)
+endfunction
+funcprot(prot);
+lmitool("prob", "X", "A1, A2"); // Create prob.sci
+deletefile "prob.sci";
+copyfile("SCI/modules/optimization/demos/prob_bak.sci", "prob.sci"); // Replace prob.sci by prob_bak.sci
+exec("prob.sci", -1);
+X = prob(A1, A2); // Run optimization
+lmisolver: Construction of canonical representation.
+lmisolver: Basis Construction.
+lmisolver: FEASIBILITY PHASE.
+
+ primal obj. dual obj. dual. gap
+ 6.66e-01 -5.03e+02 5.03e+02
+ 8.37e+01 -4.99e+02 5.83e+02
+ 6.88e+01 -2.80e+00 7.16e+01
+ 4.33e+00 -2.67e+00 7.00e+00
+ 5.65e-01 -1.78e-01 7.43e-01
+ -9.58e-02 -1.57e-01 6.13e-02
+lmisolver: Target value reached.
+lmisolver: feasible solution found.
+lmisolver: OPTIMIZATION PHASE.
+
+ primal obj. dual obj. dual. gap
+ -2.76e+00 -3.62e+00 8.56e-01
+ -3.13e+00 -3.27e+00 1.35e-01
+ -3.14e+00 -3.16e+00 1.62e-02
+ -3.14e+00 -3.14e+00 1.62e-03
+ -3.14e+00 -3.14e+00 1.27e-04
+ -3.14e+00 -3.14e+00 1.40e-05
+ -3.14e+00 -3.14e+00 4.40e-07
+ -3.14e+00 -3.14e+00 4.54e-08
+ -3.14e+00 -3.14e+00 4.06e-09
+lmisolver: optimal solution found
+refX = [1.0635042 0; 0 2.0784841];
+refY = 0;
+refZ = list([0.0731600 0.7080179; 0.7080179 0.7186999], [0.1154910 0.5345239; 0.5345239 1.4843684]);
+refC = -1.0635042;
+[Y, Z, c] = prob_eval(X); // Check evaluaton function value at the point found
+assert_checkalmostequal(X, refX, [], 1d-6);
+assert_checkalmostequal(Y, refY, [], 1d-6);
+assert_checkalmostequal(Z(1), refZ(1), [], 1d-6);
+assert_checkalmostequal(Z(2), refZ(2), [], 1d-6);
+assert_checkalmostequal(c, refC, [], 1d-6);
+deletefile "prob.sci"; // Delete created file
diff --git a/modules/optimization/tests/unit_tests/lmitool.tst b/modules/optimization/tests/unit_tests/lmitool.tst
new file mode 100755
index 000000000..e61006dbf
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/lmitool.tst
@@ -0,0 +1,47 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+
+//<-- ENGLISH IMPOSED -->
+
+// Constants
+rand("seed", 0);
+n = 2;
+A1 = rand(n, n);
+A2 = rand(n, n);
+Xs = diag(1:n);
+Q1 = -(A1'*Xs+Xs*A1+0.1*eye());
+Q2 = -(A2'*Xs+Xs*A2+0.2*eye());
+
+// Redefining messagebox() to avoid popup
+prot = funcprot();
+funcprot(0);
+function messagebox(msg, msg_title, info)
+endfunction
+funcprot(prot);
+
+lmitool("prob", "X", "A1, A2"); // Create prob.sci
+deletefile "prob.sci";
+copyfile("SCI/modules/optimization/demos/prob_bak.sci", "prob.sci"); // Replace prob.sci by prob_bak.sci
+exec("prob.sci", -1);
+X = prob(A1, A2); // Run optimization
+
+refX = [1.0635042 0; 0 2.0784841];
+refY = 0;
+refZ = list([0.0731600 0.7080179; 0.7080179 0.7186999], [0.1154910 0.5345239; 0.5345239 1.4843684]);
+refC = -1.0635042;
+
+[Y, Z, c] = prob_eval(X); // Check evaluaton function value at the point found
+
+assert_checkalmostequal(X, refX, [], 1d-6);
+assert_checkalmostequal(Y, refY, [], 1d-6);
+assert_checkalmostequal(Z(1), refZ(1), [], 1d-6);
+assert_checkalmostequal(Z(2), refZ(2), [], 1d-6);
+assert_checkalmostequal(c, refC, [], 1d-6);
+
+deletefile "prob.sci"; // Delete created file
diff --git a/modules/optimization/tests/unit_tests/lsqrsolve.dia.ref b/modules/optimization/tests/unit_tests/lsqrsolve.dia.ref
new file mode 100755
index 000000000..9ee470dfe
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/lsqrsolve.dia.ref
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+a=[1,7;
+ 2,8
+ 4 3];
+b=[10;11;-1];
+function y=f1(x,m),y=a*x+b;endfunction
+[xsol,v]=lsqrsolve([100;100],f1,3);
+if size(xsol) <> [2 1] then bugmes();quit;end
+if size(v) <> [3 1] then bugmes();quit;end
+function y=fj1(x,m),y=a;endfunction
+[xsol,v]=lsqrsolve([100;100],f1,3,fj1);
+// Data fitting problem
+// 1 build the data
+a=34;b=12;c=14;
+deff('y=FF(x)','y=a*(x-b)+c*x.*x');
+X=(0:.1:3)';Y=FF(X)+100*(rand()-.5);
+//solve
+function e=f2(abc,m)
+ a=abc(1);b=abc(2),c=abc(3),
+ e=Y-(a*(X-b)+c*X.*X);
+endfunction
+[abc,v]=lsqrsolve([10;10;10],f2,size(X,1));
+if size(abc,'*') <> 3 then bugmes();quit;end
+if norm(v) < %eps then bugmes();quit;end
diff --git a/modules/optimization/tests/unit_tests/lsqrsolve.tst b/modules/optimization/tests/unit_tests/lsqrsolve.tst
new file mode 100755
index 000000000..f1b4b8ad4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/lsqrsolve.tst
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+a=[1,7;
+ 2,8
+ 4 3];
+b=[10;11;-1];
+
+function y=f1(x,m),y=a*x+b;endfunction
+
+[xsol,v]=lsqrsolve([100;100],f1,3);
+if size(xsol) <> [2 1] then pause,end
+if size(v) <> [3 1] then pause,end
+
+function y=fj1(x,m),y=a;endfunction
+[xsol,v]=lsqrsolve([100;100],f1,3,fj1);
+
+// Data fitting problem
+// 1 build the data
+a=34;b=12;c=14;
+deff('y=FF(x)','y=a*(x-b)+c*x.*x');
+X=(0:.1:3)';Y=FF(X)+100*(rand()-.5);
+
+//solve
+function e=f2(abc,m)
+ a=abc(1);b=abc(2),c=abc(3),
+ e=Y-(a*(X-b)+c*X.*X);
+endfunction
+
+[abc,v]=lsqrsolve([10;10;10],f2,size(X,1));
+if size(abc,'*') <> 3 then pause,end
+if norm(v) < %eps then pause,end
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/fminsearch.dia.ref b/modules/optimization/tests/unit_tests/neldermead/fminsearch.dia.ref
new file mode 100755
index 000000000..164d887b8
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/fminsearch.dia.ref
@@ -0,0 +1,294 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock ( x )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test basic use without parameters
+//
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] );
+assert_checkalmostequal ( x , [1.0 1.0], 1e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.algorithm , "Nelder-Mead simplex direct search" );
+assert_checkequal ( output.funcCount , 159 );
+assert_checkequal ( output.message(1) , "Optimization terminated:");
+assert_checkequal ( output.message(2) , " the current x satisfies the termination criteria using OPTIONS.TolX of 0.0001");
+assert_checkequal ( output.message(3) , " and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 0.0001");
+//
+// fminsearch with incorrect number of input arguments
+//
+cmd = "fminsearch ( )";
+assert_checkerror(cmd,"%s: Wrong number of input arguments: %d or %d expected.\n",[], "fminsearch",2,3);
+//
+// Check that tolerance on X is correctly taken into account
+//
+opt = optimset ( "TolX" , 1.e-2 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-2 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 70 );
+assert_checkequal ( output.funcCount , 130 );
+//
+// Check that tolerance on F is correctly taken into account
+//
+opt = optimset ( "TolFun" , 1.e-10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e-2 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 90 );
+assert_checkequal ( output.funcCount , 168 );
+//
+// Check that maximum number of iterations is correctly taken into account
+//
+opt = optimset ( "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that maximum number of function evaluations is correctly taken into account
+//
+opt = optimset ( "MaxFunEvals" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+ Current function value: 4.3813601
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 5 );
+assert_checkequal ( output.funcCount , 11 );
+//
+// Check that Display is correctly used in mode "final"
+//
+opt = optimset ( "Display" , "final" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+Optimization terminated:
+ the current x satisfies the termination criteria using OPTIONS.TolX of 0.0001
+ and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 0.0001
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "iter"
+//
+opt = optimset ( "Display" , "iter" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+ Iteration Func-count min f(x) Procedure
+ 0 3 24.2
+ 1 3 20.05 initial simplex
+ 2 5 5.161796 expand
+ 3 7 4.497796 reflect
+ 4 9 4.497796 contract outside
+ 5 11 4.3813601 contract inside
+ 6 13 4.2452728 contract inside
+ 7 15 4.2176247 reflect
+ 8 17 4.2112906 contract inside
+ 9 19 4.1355598 expand
+ 10 21 4.1355598 contract inside
+ 11 23 4.0127268 expand
+ 12 25 3.9373812 expand
+ 13 27 3.602606 expand
+ 14 28 3.602606 reflect
+ 15 30 3.4662211 reflect
+ 16 32 3.2160547 expand
+ 17 34 3.1649126 reflect
+ 18 36 2.7068692 expand
+ 19 37 2.7068692 reflect
+ 20 39 2.0021824 expand
+ 21 41 2.0021824 contract inside
+ 22 43 2.0021824 contract inside
+ 23 45 1.8154337 expand
+ 24 47 1.7348144 contract outside
+ 25 49 1.3169723 expand
+ 26 50 1.3169723 reflect
+ 27 51 1.3169723 reflect
+ 28 53 1.1595038 reflect
+ 29 55 1.0767387 contract inside
+ 30 57 0.8834921 reflect
+ 31 59 0.8834921 contract inside
+ 32 61 0.6691654 expand
+ 33 63 0.6691654 contract inside
+ 34 64 0.6691654 reflect
+ 35 66 0.5367289 reflect
+ 36 68 0.5367289 contract inside
+ 37 70 0.4232940 expand
+ 38 72 0.4232940 contract outside
+ 39 74 0.3985272 reflect
+ 40 76 0.3144704 expand
+ 41 77 0.3144704 reflect
+ 42 79 0.1903167 expand
+ 43 81 0.1903167 contract inside
+ 44 82 0.1903167 reflect
+ 45 84 0.1369602 reflect
+ 46 86 0.1369602 contract outside
+ 47 88 0.1131281 contract outside
+ 48 90 0.1105304 contract inside
+ 49 92 0.1023402 reflect
+ 50 94 0.1011837 contract inside
+ 51 96 0.0794969 expand
+ 52 97 0.0794969 reflect
+ 53 98 0.0794969 reflect
+ 54 100 0.0569294 expand
+ 55 102 0.0569294 contract inside
+ 56 104 0.0344855 expand
+ 57 106 0.0179534 expand
+ 58 108 0.0169469 contract outside
+ 59 110 0.0040146 reflect
+ 60 112 0.0040146 contract inside
+ 61 113 0.0040146 reflect
+ 62 115 0.0003700 reflect
+ 63 117 0.0003700 contract inside
+ 64 118 0.0003700 reflect
+ 65 120 0.0003700 contract inside
+ 66 122 0.0000590 contract outside
+ 67 124 0.0000337 contract inside
+ 68 126 0.0000337 contract outside
+ 69 128 0.0000189 contract outside
+ 70 130 0.0000085 contract inside
+ 71 132 0.0000029 contract inside
+ 72 133 0.0000029 reflect
+ 73 135 0.0000007 contract inside
+ 74 137 0.0000007 contract inside
+ 75 139 0.0000006 contract inside
+ 76 141 0.0000002 contract outside
+ 77 143 0.0000001 contract inside
+ 78 145 5.235D-08 contract inside
+ 79 147 5.035D-08 contract inside
+ 80 149 2.004D-08 contract inside
+ 81 151 1.123D-09 contract inside
+ 82 153 1.123D-09 contract outside
+ 83 155 1.123D-09 contract inside
+ 84 157 1.108D-09 contract outside
+ 85 159 8.178D-10 contract inside
+
+Optimization terminated:
+ the current x satisfies the termination criteria using OPTIONS.TolX of 0.0001
+ and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 0.0001
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "off" (no message at all)
+//
+opt = optimset ( "Display" , "off" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "notify" (display only problem messages)
+//
+opt = optimset ( "Display" , "notify" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "off" (no message at all), when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "off" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that Display is correctly used in mode "notify" (display only problem messages), when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "notify" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that Display is correctly used in mode "iter", when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "iter" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+ Iteration Func-count min f(x) Procedure
+ 0 3 24.2
+ 1 3 20.05 initial simplex
+ 2 5 5.161796 expand
+ 3 7 4.497796 reflect
+ 4 9 4.497796 contract outside
+ 5 11 4.3813601 contract inside
+ 6 13 4.2452728 contract inside
+ 7 15 4.2176247 reflect
+ 8 17 4.2112906 contract inside
+ 9 19 4.1355598 expand
+ 10 21 4.1355598 contract inside
+
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that Display is correctly used in mode "final", when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "final" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Test basic use with column x0
+//
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1].' );
+assert_checkalmostequal ( x , [1.0 1.0], 1e-4 );
+//
+// Test extra arguments
+function y = bananaext (x,a,b)
+ y = a*(x(2)-x(1)^2)^2 + (b-x(1))^2;
+endfunction
+a = 100;
+b = 1;
+[x fval] = fminsearch ( list(bananaext,a,b) , [-1.2 1] );
+assert_checkalmostequal ( x , [1.0 1.0], 1e-4 );
+assert_checkalmostequal ( fval , 0, [], 1e-5 );
+//
+a = 100;
+b = 12;
+[x fval] = fminsearch ( list(bananaext,a,b) , [10 100] );
+assert_checkalmostequal ( x , [12 144], 1e-4 );
+assert_checkalmostequal ( fval , 0, [], 1e-5 );
diff --git a/modules/optimization/tests/unit_tests/neldermead/fminsearch.tst b/modules/optimization/tests/unit_tests/neldermead/fminsearch.tst
new file mode 100755
index 000000000..713fa9983
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/fminsearch.tst
@@ -0,0 +1,177 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+function y = rosenbrock ( x )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test basic use without parameters
+//
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] );
+assert_checkalmostequal ( x , [1.0 1.0], 1e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.algorithm , "Nelder-Mead simplex direct search" );
+assert_checkequal ( output.funcCount , 159 );
+assert_checkequal ( output.message(1) , "Optimization terminated:");
+assert_checkequal ( output.message(2) , " the current x satisfies the termination criteria using OPTIONS.TolX of 0.0001");
+assert_checkequal ( output.message(3) , " and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 0.0001");
+//
+// fminsearch with incorrect number of input arguments
+//
+cmd = "fminsearch ( )";
+assert_checkerror(cmd,"%s: Wrong number of input arguments: %d or %d expected.\n",[], "fminsearch",2,3);
+//
+// Check that tolerance on X is correctly taken into account
+//
+opt = optimset ( "TolX" , 1.e-2 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-2 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 70 );
+assert_checkequal ( output.funcCount , 130 );
+//
+// Check that tolerance on F is correctly taken into account
+//
+opt = optimset ( "TolFun" , 1.e-10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e-2 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 90 );
+assert_checkequal ( output.funcCount , 168 );
+//
+// Check that maximum number of iterations is correctly taken into account
+//
+opt = optimset ( "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that maximum number of function evaluations is correctly taken into account
+//
+opt = optimset ( "MaxFunEvals" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 5 );
+assert_checkequal ( output.funcCount , 11 );
+//
+// Check that Display is correctly used in mode "final"
+//
+opt = optimset ( "Display" , "final" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "iter"
+//
+opt = optimset ( "Display" , "iter" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "off" (no message at all)
+//
+opt = optimset ( "Display" , "off" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "notify" (display only problem messages)
+//
+opt = optimset ( "Display" , "notify" );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-4 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1.e-4 );
+assert_checkequal ( exitflag , 1 );
+assert_checkequal ( output.iterations , 85 );
+assert_checkequal ( output.funcCount , 159 );
+//
+// Check that Display is correctly used in mode "off" (no message at all), when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "off" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that Display is correctly used in mode "notify" (display only problem messages), when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "notify" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that Display is correctly used in mode "iter", when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "iter" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+//
+// Check that Display is correctly used in mode "final", when there is a maximum number of iterations reached
+//
+opt = optimset ( "Display" , "final" , "MaxIter" , 10 );
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e1 );
+assert_checkalmostequal ( fval , 0.0 , [] , 1e1 );
+assert_checkequal ( exitflag , 0 );
+assert_checkequal ( output.iterations , 10 );
+assert_checkequal ( output.funcCount , 21 );
+
+//
+// Test basic use with column x0
+//
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1].' );
+assert_checkalmostequal ( x , [1.0 1.0], 1e-4 );
+
+//
+// Test extra arguments
+function y = bananaext (x,a,b)
+ y = a*(x(2)-x(1)^2)^2 + (b-x(1))^2;
+endfunction
+a = 100;
+b = 1;
+[x fval] = fminsearch ( list(bananaext,a,b) , [-1.2 1] );
+assert_checkalmostequal ( x , [1.0 1.0], 1e-4 );
+assert_checkalmostequal ( fval , 0, [], 1e-5 );
+//
+a = 100;
+b = 12;
+[x fval] = fminsearch ( list(bananaext,a,b) , [10 100] );
+assert_checkalmostequal ( x , [12 144], 1e-4 );
+assert_checkalmostequal ( fval , 0, [], 1e-5 );
diff --git a/modules/optimization/tests/unit_tests/neldermead/fminsearch_output.dia.ref b/modules/optimization/tests/unit_tests/neldermead/fminsearch_output.dia.ref
new file mode 100755
index 000000000..4b14b80b2
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/fminsearch_output.dia.ref
@@ -0,0 +1,220 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- ENGLISH IMPOSED -->
+function y = rosenbrock ( x )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Use output function
+//
+// outfun --
+// A sample output function
+// Arguments, input
+// x : the current point
+// optimValues : a tlist which contains the following fields
+// funccount : the number of function evaluations
+// fval : the current function value
+// iteration : the current iteration
+// procedure : a string containing the current type of step
+// state : the current state of the algorithm
+// "init", "iter", "done"
+//
+function stop = outfun ( x , optimValues , state )
+ plot( x(1),x(2),'.');
+ // Unload all fields and check consistent values
+ fc = optimValues.funccount;
+ fv = optimValues.fval;
+ it = optimValues.iteration;
+ pr = optimValues.procedure;
+ select pr
+ case "initial simplex"
+ // OK
+ case "expand"
+ // OK
+ case "reflect"
+ // OK
+ case "shrink"
+ // OK
+ case "contract inside"
+ // OK
+ case "contract outside"
+ // OK
+ case ""
+ // OK
+ else
+ error ( sprintf ( "Unknown procedure %s." , pr ) )
+ end
+ select state
+ case "init"
+ // OK
+ case "iter"
+ // OK
+ case "done"
+ // OK
+ else
+ error ( sprintf ( "Unknown state %s." , state ) )
+ end
+ mprintf ( "%d %s %d -%s- %s\n" , fc , string(fv) , it , pr , state )
+ stop = %f
+endfunction
+opt = optimset ( "OutputFcn" , outfun);
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+3 24.2 0 -- init
+3 20.05 1 -initial simplex- iter
+5 5.161796 2 -expand- iter
+7 4.497796 3 -reflect- iter
+9 4.497796 4 -contract outside- iter
+11 4.3813601 5 -contract inside- iter
+13 4.2452728 6 -contract inside- iter
+15 4.2176247 7 -reflect- iter
+17 4.2112906 8 -contract inside- iter
+19 4.1355598 9 -expand- iter
+21 4.1355598 10 -contract inside- iter
+21 4.1355598 10 -- done
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(gcf());
+//
+// Use several output functions
+//
+function stop = outfun2 ( x , optimValues , state )
+ global __fig1__
+ scf ( __fig1__ );
+ plot( x(1),x(2),'.');
+ stop = %f
+endfunction
+function stop = outfun3 ( x , optimValues , state )
+ global __fig2__
+ scf ( __fig2__ );
+ plot( x(1),x(2),'o');
+ stop = %f
+endfunction
+myfunctions = list ( outfun2 , outfun3 );
+global __fig1__
+global __fig2__
+__fig1__ = scf();
+__fig2__ = scf();
+opt = optimset ( "OutputFcn" , myfunctions );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(__fig1__);
+close(__fig2__);
+//
+// Use plot function
+//
+//
+// plotfun --
+// A sample plot function
+// Arguments, input
+// x : the current point
+// optimValues : a tlist which contains the following fields
+// funcCount" : the number of function evaluations
+// fval : the current function value
+// iteration : the current iteration
+// procedure : a string containing the current type of step
+// state : the current state of the algorithm
+// "init", "iter", "done"
+//
+function plotfun ( x , optimValues , state )
+ plot(x(1),x(2),'.');
+endfunction
+opt = optimset ( "PlotFcns" , plotfun);
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(gcf());
+//
+// Use several plot functions
+//
+function plotfun2 ( x , optimValues , state )
+ global __fig1__
+ scf ( __fig1__ );
+ plot( x(1),x(2),'.');
+endfunction
+function plotfun3 ( x , optimValues , state )
+ global __fig2__
+ scf ( __fig2__ );
+ plot( x(1),x(2),'o');
+endfunction
+myfunctions = list ( plotfun2 , plotfun3 );
+global __fig1__
+global __fig2__
+__fig1__ = scf();
+__fig2__ = scf();
+opt = optimset ( "PlotFcns" , myfunctions );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(__fig1__);
+close(__fig2__);
+//
+// Use optimplotfval plot function
+//
+opt = optimset ( "PlotFcns" , optimplotfval );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(gcf());
+//
+// Use optimplotx plot function
+//
+opt = optimset ( "PlotFcns" , optimplotx );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(gcf());
+//
+// Use optimplotfunccount plot function
+//
+opt = optimset ( "PlotFcns" , optimplotfunccount );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(gcf());
+//
+// Use all 3 plot functions
+//
+myfunctions = list ( optimplotfval , optimplotx , optimplotfunccount );
+opt = optimset ( "PlotFcns" , myfunctions );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
+close(gcf());
+close(gcf());
+close(gcf());
+//
+// Use output function to stop the algorithm.
+// This sets the exitflag to -1.
+function stop = outfunStop ( x , optimValues , state )
+ fv = optimValues.fval;
+ stop = ( fv < 1.e-5 )
+endfunction
+opt = optimset ( "OutputFcn" , outfunStop);
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-2 );
+assert_checktrue ( fval < 1e-5 );
+assert_checkequal ( exitflag , -1 );
diff --git a/modules/optimization/tests/unit_tests/neldermead/fminsearch_output.tst b/modules/optimization/tests/unit_tests/neldermead/fminsearch_output.tst
new file mode 100755
index 000000000..d0064d7c4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/fminsearch_output.tst
@@ -0,0 +1,191 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- ENGLISH IMPOSED -->
+
+function y = rosenbrock ( x )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Use output function
+//
+// outfun --
+// A sample output function
+// Arguments, input
+// x : the current point
+// optimValues : a tlist which contains the following fields
+// funccount : the number of function evaluations
+// fval : the current function value
+// iteration : the current iteration
+// procedure : a string containing the current type of step
+// state : the current state of the algorithm
+// "init", "iter", "done"
+//
+function stop = outfun ( x , optimValues , state )
+ plot( x(1),x(2),'.');
+ // Unload all fields and check consistent values
+ fc = optimValues.funccount;
+ fv = optimValues.fval;
+ it = optimValues.iteration;
+ pr = optimValues.procedure;
+ select pr
+ case "initial simplex"
+ // OK
+ case "expand"
+ // OK
+ case "reflect"
+ // OK
+ case "shrink"
+ // OK
+ case "contract inside"
+ // OK
+ case "contract outside"
+ // OK
+ case ""
+ // OK
+ else
+ error ( sprintf ( "Unknown procedure %s." , pr ) )
+ end
+ select state
+ case "init"
+ // OK
+ case "iter"
+ // OK
+ case "done"
+ // OK
+ else
+ error ( sprintf ( "Unknown state %s." , state ) )
+ end
+ mprintf ( "%d %s %d -%s- %s\n" , fc , string(fv) , it , pr , state )
+ stop = %f
+endfunction
+opt = optimset ( "OutputFcn" , outfun);
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(gcf());
+//
+// Use several output functions
+//
+function stop = outfun2 ( x , optimValues , state )
+ global __fig1__
+ scf ( __fig1__ );
+ plot( x(1),x(2),'.');
+ stop = %f
+endfunction
+function stop = outfun3 ( x , optimValues , state )
+ global __fig2__
+ scf ( __fig2__ );
+ plot( x(1),x(2),'o');
+ stop = %f
+endfunction
+myfunctions = list ( outfun2 , outfun3 );
+global __fig1__
+global __fig2__
+__fig1__ = scf();
+__fig2__ = scf();
+opt = optimset ( "OutputFcn" , myfunctions );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(__fig1__);
+close(__fig2__);
+//
+// Use plot function
+//
+//
+// plotfun --
+// A sample plot function
+// Arguments, input
+// x : the current point
+// optimValues : a tlist which contains the following fields
+// funcCount" : the number of function evaluations
+// fval : the current function value
+// iteration : the current iteration
+// procedure : a string containing the current type of step
+// state : the current state of the algorithm
+// "init", "iter", "done"
+//
+function plotfun ( x , optimValues , state )
+ plot(x(1),x(2),'.');
+endfunction
+opt = optimset ( "PlotFcns" , plotfun);
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(gcf());
+//
+// Use several plot functions
+//
+function plotfun2 ( x , optimValues , state )
+ global __fig1__
+ scf ( __fig1__ );
+ plot( x(1),x(2),'.');
+endfunction
+function plotfun3 ( x , optimValues , state )
+ global __fig2__
+ scf ( __fig2__ );
+ plot( x(1),x(2),'o');
+endfunction
+myfunctions = list ( plotfun2 , plotfun3 );
+global __fig1__
+global __fig2__
+__fig1__ = scf();
+__fig2__ = scf();
+opt = optimset ( "PlotFcns" , myfunctions );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(__fig1__);
+close(__fig2__);
+//
+// Use optimplotfval plot function
+//
+opt = optimset ( "PlotFcns" , optimplotfval );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(gcf());
+//
+// Use optimplotx plot function
+//
+opt = optimset ( "PlotFcns" , optimplotx );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(gcf());
+//
+// Use optimplotfunccount plot function
+//
+opt = optimset ( "PlotFcns" , optimplotfunccount );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(gcf());
+
+//
+// Use all 3 plot functions
+//
+myfunctions = list ( optimplotfval , optimplotx , optimplotfunccount );
+opt = optimset ( "PlotFcns" , myfunctions );
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+close(gcf());
+close(gcf());
+close(gcf());
+
+//
+// Use output function to stop the algorithm.
+// This sets the exitflag to -1.
+function stop = outfunStop ( x , optimValues , state )
+ fv = optimValues.fval;
+ stop = ( fv < 1.e-5 )
+endfunction
+opt = optimset ( "OutputFcn" , outfunStop);
+[x , fval , exitflag , output] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+assert_checkalmostequal ( x , [1.0 1.0], 1.e-2 );
+assert_checktrue ( fval < 1e-5 );
+assert_checkequal ( exitflag , -1 );
+
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.dia.ref b/modules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.dia.ref
new file mode 100755
index 000000000..050c24134
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.dia.ref
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK REF -->
+// <-- CLI SHELL MODE -->
+// This test is designed to produce a warning:
+// this warning is localized.
+// This is why we do not check the ref.
+// Checking the ref file under Linux fails, because
+// <-- ENGLISH IMPOSED --> has no effect there.
+// See : http://bugzilla.scilab.org/show_bug.cgi?id=9284
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Ensure backward compatibility.
+// Check that it works also without a stop output variable.
+//
+function outfun4 ( x , optimValues , state )
+endfunction
+opt = optimset ( "OutputFcn" , outfun4);
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+AVERTISSEMENT : Calling sequence outputfun(x,optimValues , state ) is obsolete.
+AVERTISSEMENT : Utilisez plutôt stop=outputfun(x,optimValues , state ) s'il vous plait.
+AVERTISSEMENT : Cette fonctionnalité va être définitivement enlevée dans Scilab 5.4.1
+
+fminsearch: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+ Current function value: 4.1355598
diff --git a/modules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.tst b/modules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.tst
new file mode 100755
index 000000000..59cfda187
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/fminsearch_outputobsolete.tst
@@ -0,0 +1,37 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK REF -->
+// <-- CLI SHELL MODE -->
+
+
+// This test is designed to produce a warning:
+// this warning is localized.
+// This is why we do not check the ref.
+// Checking the ref file under Linux fails, because
+// <-- ENGLISH IMPOSED --> has no effect there.
+// See : http://bugzilla.scilab.org/show_bug.cgi?id=9284
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+
+
+//
+// Ensure backward compatibility.
+// Check that it works also without a stop output variable.
+//
+function outfun4 ( x , optimValues , state )
+endfunction
+opt = optimset ( "OutputFcn" , outfun4);
+opt = optimset ( opt , "MaxIter" , 10 );
+[x fval] = fminsearch ( rosenbrock , [-1.2 1] , opt );
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.dia.ref
new file mode 100755
index 000000000..6b70b435a
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.dia.ref
@@ -0,0 +1,217 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Check behaviour with configured settings.
+//
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Check maxfunevals with "variable" method
+//
+nm = neldermead_new ();
+//
+nm = neldermead_configure(nm,"-numberofvariables",2);
+numvar = neldermead_cget(nm,"-numberofvariables");
+assert_checkequal ( numvar , 2 );
+//
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+x0 = neldermead_cget(nm,"-x0");
+assert_checkequal ( x0 , [1.1 1.1]' );
+// Check default -simplex0method
+simplex0method = neldermead_cget(nm,"-simplex0method");
+assert_checkequal ( simplex0method , "axes" );
+//
+nm = neldermead_configure(nm,"-simplex0method","spendley");
+simplex0method = neldermead_cget(nm,"-simplex0method");
+assert_checkequal ( simplex0method , "spendley" );
+// Check default -simplex0length
+simplex0length = neldermead_cget(nm,"-simplex0length");
+assert_checkequal ( simplex0length , 1 );
+//
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+simplex0length = neldermead_cget(nm,"-simplex0length");
+assert_checkequal ( simplex0length , 0.1 );
+//
+// Check default -method
+method = neldermead_cget(nm,"-method");
+assert_checkequal ( method , "variable" );
+//
+nm = neldermead_configure(nm,"-method","fixed");
+method = neldermead_cget(nm,"-method");
+assert_checkequal ( method , "fixed" );
+//
+nm = neldermead_configure(nm,"-method","variable");
+method = neldermead_cget(nm,"-method");
+assert_checkequal ( method , "variable" );
+//
+nm = neldermead_configure(nm,"-function",rosenbrock);
+//
+nm = neldermead_configure(nm,"-maxfunevals",10);
+maxfunevals = neldermead_cget(nm,"-maxfunevals");
+assert_checkequal ( maxfunevals , 10 );
+//
+nm = neldermead_search(nm, "off");
+funevals = neldermead_get(nm,"-funevals");
+// Let's be not strict
+assert_checkequal ( funevals < 15 , %T );
+// Cleanup
+nm = neldermead_destroy(nm);
+//
+// Check maxiter with "variable" method
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( iterations , 10 );
+// Cleanup
+nm = neldermead_destroy(nm);
+// Wrong -method flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-method'',''foo'')";
+alloptions = """fixed"" or ""variable"" or ""box"" or ""mine""";
+assert_checkerror(cmd,"%s: Expected value [%s] for input argument %s at input #%d, but got ""%s"" instead.",[],..
+ "neldermead_configure",alloptions,"value",3,"foo");
+nm = neldermead_destroy(nm);
+// Wrong -simplex0method flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-simplex0method'',''foo'')";
+alloptions = """given"" or ""axes"" or ""spendley"" or ""pfeffer"" or ""randbounds""";
+assert_checkerror(cmd,"%s: Expected value [%s] for input argument %s at input #%d, but got ""%s"" instead.",[],..
+ "neldermead_configure",alloptions,"value",3,"foo");
+nm = neldermead_destroy(nm);
+// Wrong -tolsimplexizemethod flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-tolsimplexizemethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"nelmead_typeboolean","value",3,"string");
+nm = neldermead_destroy(nm);
+// Wrong -tolssizedeltafvmethod flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-tolssizedeltafvmethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"nelmead_typeboolean","value",3,"string");
+nm = neldermead_destroy(nm);
+//
+// Check wrong key for get method
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-maxfunevals",2);
+nm = neldermead_search(nm, "off");
+cmd = "funevals = neldermead_get(nm,''-foo'')";
+assert_checkerror(cmd,"%s: Unknown key %s",[],"optimbase_get","-foo");
+nm = neldermead_destroy(nm);
+//
+// Check that x0 is forced to be a vector
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-x0'',[-1.2 1.0]);";
+nm = neldermead_destroy(nm);
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-x0'',[-1.2 1.0; 1.0 -1.2]);";
+assert_checkerror(cmd,"%s: Wrong size for x0 argument: A vector expected.", [], "optimbase_configure");
+nm = neldermead_destroy(nm);
+//
+// Check -restartstep
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-restartstep'',[1 2 3]);";
+assert_checkerror(cmd,"%s: The restartstep vector is expected to have %d x %d shape, but current shape is %d x %d",[],"neldermead_configure",2,1,1,3);
+cmd = "nm = neldermead_configure(nm,''-restartstep'',[-1 2]'');";
+assert_checkerror(cmd,"%s: Expected that all entries of input argument %s at input #%d are greater or equal than %s, but entry #%d is equal to %s.",[],..
+ "neldermead_configure","value",3,"2.22D-308",1,"-1");
+nm = neldermead_destroy(nm);
+//
+// Check -restarteps
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-restarteps'',[1 2]);";
+assert_checkerror(cmd,"%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n",[], ..
+ "neldermead_configure",3,1,1);
+cmd = "nm = neldermead_configure(nm,''-restarteps'',-1);";
+assert_checkerror(cmd,"%s: Expected that all entries of input argument %s at input #%d are greater or equal than %s, but entry #%d is equal to %s.",[],..
+ "neldermead_configure","value",3,"2.22D-308",1,"-1");
+nm = neldermead_destroy(nm);
+//
+// Check the display system
+nm = neldermead_new ();
+nm
+ nm =
+
+Nelder-Mead Object:
+======================
+
+Simplex0 Method : axes
+Simplex0 Length : 1
+Simplex0, Pfeffer, Delta Usual : 0.05
+Simplex0, Pfeffer, Delta Zero : 0.0075
+Simplex0, Given, Coords :
+[]
+
+Termination parameters
+Termination on simplex size : T
+Termination on simplex size, Absolute Tolerance : 0
+Termination on simplex size, Relative Tolerance : 2.220D-16
+Termination on simplex size, Initial Simplex Size : 0
+Termination on simplex size + Delta of function value : F
+Termination on simplex size + Delta of function value, Absolute Tolerance on Delta F : 2.220D-16
+Termination on Kelley's Stagnation : F
+Termination on Kelley's Stagnation, Normalization : T
+Termination on Kelley's Stagnation, Alpha0 : 0.0001
+Termination on Kelley's Stagnation, Alpha : 0.0001
+Termination by Box : F
+Termination by Box, Absolute Tolerance on Function: 0.00001
+Termination by Box, Maximum Number of Consecutive Match : 5
+Termination by Box, Current Number of Consecutive Match : 0
+Termination on Variance : F
+Termination on Variance, Absolute Tolerance : 0
+Termination on Variance, Relative Tolerance : 2.220D-16
+Termination on Variance, Variance of Initial Simplex : 0
+
+Algorithms parameters
+Method : variable
+Reflection Factor (rho) : 1
+Expansion Factor (chi) : 2
+Contraction Factor (gamma) : 0.5
+Shrinkage Factor (sigma) : 0.5
+Kelley Stagnation : F
+Restart Epsilon : 2.220D-16
+Restart Step : 1
+Restart Maximum : 3
+Restart Simplex Method : oriented
+Restart Flag : F
+Restart Number : 0
+Restart Detection Method : oneill
+Startup Flag : F
+Automatic Checking of Cost Function : T
+Box, Number of Points : 2n
+Box, Current Number of Points : 0
+Box, Scaling, Factor : 0.5
+Box, Scaling, Method : tox0
+Box, Scaling, Minimum : 0.00001
+Box, Bounds Parameter: 0.000001
+Box, Reflection Coefficient : 1.3
+
+optbase: <TOPTIM Object>
+simplex0: <TSIMPLEX Object>
+simplexopt: <constant Object>
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.tst
new file mode 100755
index 000000000..753a3502d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.tst
@@ -0,0 +1,175 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Check behaviour with configured settings.
+//
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Check maxfunevals with "variable" method
+//
+nm = neldermead_new ();
+//
+nm = neldermead_configure(nm,"-numberofvariables",2);
+numvar = neldermead_cget(nm,"-numberofvariables");
+assert_checkequal ( numvar , 2 );
+//
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+x0 = neldermead_cget(nm,"-x0");
+assert_checkequal ( x0 , [1.1 1.1]' );
+// Check default -simplex0method
+simplex0method = neldermead_cget(nm,"-simplex0method");
+assert_checkequal ( simplex0method , "axes" );
+//
+nm = neldermead_configure(nm,"-simplex0method","spendley");
+simplex0method = neldermead_cget(nm,"-simplex0method");
+assert_checkequal ( simplex0method , "spendley" );
+// Check default -simplex0length
+simplex0length = neldermead_cget(nm,"-simplex0length");
+assert_checkequal ( simplex0length , 1 );
+//
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+simplex0length = neldermead_cget(nm,"-simplex0length");
+assert_checkequal ( simplex0length , 0.1 );
+//
+// Check default -method
+method = neldermead_cget(nm,"-method");
+assert_checkequal ( method , "variable" );
+//
+nm = neldermead_configure(nm,"-method","fixed");
+method = neldermead_cget(nm,"-method");
+assert_checkequal ( method , "fixed" );
+//
+nm = neldermead_configure(nm,"-method","variable");
+method = neldermead_cget(nm,"-method");
+assert_checkequal ( method , "variable" );
+//
+nm = neldermead_configure(nm,"-function",rosenbrock);
+//
+nm = neldermead_configure(nm,"-maxfunevals",10);
+maxfunevals = neldermead_cget(nm,"-maxfunevals");
+assert_checkequal ( maxfunevals , 10 );
+//
+nm = neldermead_search(nm, "off");
+funevals = neldermead_get(nm,"-funevals");
+// Let's be not strict
+assert_checkequal ( funevals < 15 , %T );
+// Cleanup
+nm = neldermead_destroy(nm);
+
+//
+// Check maxiter with "variable" method
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( iterations , 10 );
+// Cleanup
+nm = neldermead_destroy(nm);
+
+// Wrong -method flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-method'',''foo'')";
+alloptions = """fixed"" or ""variable"" or ""box"" or ""mine""";
+assert_checkerror(cmd,"%s: Expected value [%s] for input argument %s at input #%d, but got ""%s"" instead.",[],..
+ "neldermead_configure",alloptions,"value",3,"foo");
+nm = neldermead_destroy(nm);
+
+// Wrong -simplex0method flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-simplex0method'',''foo'')";
+alloptions = """given"" or ""axes"" or ""spendley"" or ""pfeffer"" or ""randbounds""";
+assert_checkerror(cmd,"%s: Expected value [%s] for input argument %s at input #%d, but got ""%s"" instead.",[],..
+ "neldermead_configure",alloptions,"value",3,"foo");
+nm = neldermead_destroy(nm);
+
+// Wrong -tolsimplexizemethod flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-tolsimplexizemethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"nelmead_typeboolean","value",3,"string");
+nm = neldermead_destroy(nm);
+
+// Wrong -tolssizedeltafvmethod flag
+nm = neldermead_new ();
+cmd = "nm = neldermead_configure(nm,''-tolssizedeltafvmethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"nelmead_typeboolean","value",3,"string");
+nm = neldermead_destroy(nm);
+
+//
+// Check wrong key for get method
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",0.1);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-maxfunevals",2);
+nm = neldermead_search(nm, "off");
+cmd = "funevals = neldermead_get(nm,''-foo'')";
+assert_checkerror(cmd,"%s: Unknown key %s",[],"optimbase_get","-foo");
+nm = neldermead_destroy(nm);
+
+//
+// Check that x0 is forced to be a vector
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-x0'',[-1.2 1.0]);";
+nm = neldermead_destroy(nm);
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-x0'',[-1.2 1.0; 1.0 -1.2]);";
+assert_checkerror(cmd,"%s: Wrong size for x0 argument: A vector expected.", [], "optimbase_configure");
+nm = neldermead_destroy(nm);
+
+//
+// Check -restartstep
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-restartstep'',[1 2 3]);";
+assert_checkerror(cmd,"%s: The restartstep vector is expected to have %d x %d shape, but current shape is %d x %d",[],"neldermead_configure",2,1,1,3);
+cmd = "nm = neldermead_configure(nm,''-restartstep'',[-1 2]'');";
+assert_checkerror(cmd,"%s: Expected that all entries of input argument %s at input #%d are greater or equal than %s, but entry #%d is equal to %s.",[],..
+ "neldermead_configure","value",3,"2.22D-308",1,"-1");
+nm = neldermead_destroy(nm);
+
+//
+// Check -restarteps
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+cmd = "nm = neldermead_configure(nm,''-restarteps'',[1 2]);";
+assert_checkerror(cmd,"%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n",[], ..
+ "neldermead_configure",3,1,1);
+cmd = "nm = neldermead_configure(nm,''-restarteps'',-1);";
+assert_checkerror(cmd,"%s: Expected that all entries of input argument %s at input #%d are greater or equal than %s, but entry #%d is equal to %s.",[],..
+ "neldermead_configure","value",3,"2.22D-308",1,"-1");
+nm = neldermead_destroy(nm);
+
+//
+// Check the display system
+nm = neldermead_new ();
+nm
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.dia.ref
new file mode 100755
index 000000000..21e9ce16c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.dia.ref
@@ -0,0 +1,86 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// Check behaviour with default output function.
+//
+function [ f , index ] = quadratic ( x , index )
+ f = x(1)^2 + x(2)^2;
+endfunction
+x0 = [1.0 1.0].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",quadratic);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-outputcommand",neldermead_defaultoutput);
+nm = neldermead_search(nm, "off");
+Initialization
+Iter. #0, Feval #5, Fval = 2 -- init
+Iter. #1, Feval #5, Fval = 2 -- init
+Iter. #2, Feval #6, Fval = 2 -- reflection
+Iter. #3, Feval #8, Fval = 0.5 -- expansion
+Iter. #4, Feval #9, Fval = 0.5 -- reflection
+Iter. #5, Feval #11, Fval = 0.5 -- insidecontraction
+Iter. #6, Feval #13, Fval = 0.125 -- insidecontraction
+Iter. #7, Feval #15, Fval = 0.0390625 -- insidecontraction
+Iter. #8, Feval #17, Fval = 0.0390625 -- insidecontraction
+Iter. #9, Feval #18, Fval = 0.0390625 -- reflection
+Iter. #10, Feval #20, Fval = 0.0221252 -- insidecontraction
+Iter. #11, Feval #22, Fval = 0.0054417 -- insidecontraction
+Iter. #12, Feval #24, Fval = 0.0032459 -- insidecontraction
+Iter. #13, Feval #26, Fval = 0.0032459 -- outsidecontraction
+Iter. #14, Feval #28, Fval = 0.0003375 -- insidecontraction
+Iter. #15, Feval #29, Fval = 0.0003375 -- reflection
+Iter. #16, Feval #31, Fval = 0.0003375 -- insidecontraction
+Iter. #17, Feval #33, Fval = 0.0003375 -- outsidecontraction
+Iter. #18, Feval #35, Fval = 0.0001123 -- insidecontraction
+Iter. #19, Feval #36, Fval = 0.0001123 -- reflection
+Iter. #20, Feval #38, Fval = 0.0000555 -- insidecontraction
+Iter. #21, Feval #40, Fval = 0.0000332 -- insidecontraction
+Iter. #22, Feval #42, Fval = 0.0000075 -- insidecontraction
+Iter. #23, Feval #44, Fval = 0.0000075 -- insidecontraction
+Iter. #24, Feval #46, Fval = 0.0000061 -- outsidecontraction
+Iter. #25, Feval #48, Fval = 0.0000011 -- insidecontraction
+Iter. #26, Feval #50, Fval = 0.0000011 -- insidecontraction
+Iter. #27, Feval #51, Fval = 0.0000011 -- reflection
+Iter. #28, Feval #53, Fval = 0.0000002 -- insidecontraction
+Iter. #29, Feval #55, Fval = 0.0000002 -- insidecontraction
+Iter. #30, Feval #57, Fval = 0.0000002 -- insidecontraction
+Iter. #31, Feval #59, Fval = 5.056D-08 -- insidecontraction
+Iter. #32, Feval #61, Fval = 4.785D-08 -- insidecontraction
+Iter. #33, Feval #63, Fval = 1.380D-08 -- insidecontraction
+Iter. #34, Feval #65, Fval = 1.380D-08 -- insidecontraction
+Iter. #35, Feval #67, Fval = 3.535D-09 -- outsidecontraction
+Iter. #36, Feval #69, Fval = 1.198D-09 -- insidecontraction
+Iter. #37, Feval #71, Fval = 8.566D-10 -- outsidecontraction
+Iter. #38, Feval #73, Fval = 3.482D-10 -- insidecontraction
+Iter. #39, Feval #75, Fval = 1.984D-10 -- insidecontraction
+Iter. #40, Feval #77, Fval = 1.609D-10 -- insidecontraction
+Iter. #41, Feval #79, Fval = 1.898D-11 -- insidecontraction
+Iter. #42, Feval #81, Fval = 1.898D-11 -- insidecontraction
+Iter. #43, Feval #83, Fval = 1.898D-11 -- outsidecontraction
+Iter. #44, Feval #85, Fval = 5.578D-12 -- insidecontraction
+Iter. #45, Feval #87, Fval = 5.214D-12 -- insidecontraction
+Iter. #46, Feval #89, Fval = 3.361D-12 -- insidecontraction
+Iter. #47, Feval #91, Fval = 8.557D-13 -- insidecontraction
+Iter. #48, Feval #92, Fval = 8.557D-13 -- reflection
+Iter. #49, Feval #94, Fval = 7.893D-13 -- insidecontraction
+Iter. #50, Feval #96, Fval = 1.601D-13 -- insidecontraction
+Iter. #51, Feval #98, Fval = 1.291D-13 -- insidecontraction
+Iter. #52, Feval #100, Fval = 3.139D-14 -- outsidecontraction
+End of Optimization
+Iter. #52, Feval #100, Fval = 3.139D-14 -- done
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0;0], [], 1e-6 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxfuneval" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.tst
new file mode 100755
index 000000000..508126edd
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_defaultoutput.tst
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+//
+// Check behaviour with default output function.
+//
+
+function [ f , index ] = quadratic ( x , index )
+ f = x(1)^2 + x(2)^2;
+endfunction
+x0 = [1.0 1.0].';
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",quadratic);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-outputcommand",neldermead_defaultoutput);
+nm = neldermead_search(nm, "off");
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0;0], [], 1e-6 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxfuneval" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.dia.ref
new file mode 100755
index 000000000..d171418e8
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.dia.ref
@@ -0,0 +1,411 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// There is a Warning message in the .dia of this test,
+// with respect to the conditionning of the direction matrix.
+// This is an expected message, because the simplex is degenerated
+// after the first optimization, which has failed.
+// The restart allows to compute a new simplex and makes the
+// optimization converge toward the good point.
+//% MCKINNON computes the McKinnon function.
+//
+// Discussion:
+//
+// This function has a global minimizer:
+//
+// X* = ( 0.0, -0.5 ), F(X*) = -0.25
+//
+// There are three parameters, TAU, THETA and PHI.
+//
+// 1 < TAU, then F is strictly convex.
+// and F has continuous first derivatives.
+// 2 < TAU, then F has continuous second derivatives.
+// 3 < TAU, then F has continuous third derivatives.
+//
+// However, this function can cause the Nelder-Mead optimization
+// algorithm to "converge" to a point which is not the minimizer
+// of the function F.
+//
+// Sample parameter values which cause problems for Nelder-Mead
+// include:
+//
+// TAU = 1, THETA = 15, PHI = 10;
+// TAU = 2, THETA = 6, PHI = 60;
+// TAU = 3, THETA = 6, PHI = 400;
+//
+// To get the bad behavior, we also assume the initial simplex has the form
+//
+// X1 = (0,0),
+// X2 = (1,1),
+// X3 = (A,B),
+//
+// where
+//
+// A = (1+sqrt(33))/8 = 0.84307...
+// B = (1-sqrt(33))/8 = -0.59307...
+//
+// Licensing:
+//
+// This code is distributed under the GNU LGPL license.
+//
+// Modified:
+//
+// 09 February 2008
+//
+// Author:
+//
+// John Burkardt
+//
+// Reference:
+//
+// Ken McKinnon,
+// Convergence of the Nelder-Mead simplex method to a nonstationary point,
+// SIAM Journal on Optimization,
+// Volume 9, Number 1, 1998, pages 148-158.
+//
+// Parameters:
+//
+// Input, real X(2), the argument of the function.
+//
+// Output, real F, the value of the function at X.
+//
+// Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port
+function [ f , index ] = mckinnon3 ( x , index )
+ if ( length ( x ) ~= 2 )
+ error ( 'Error: function expects a two dimensional input\n' );
+ end
+ tau = 3.0;
+ theta = 6.0;
+ phi = 400.0;
+ if ( x(1) <= 0.0 )
+ f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );
+ else
+ f = theta * x(1).^tau + x(2) * ( 1.0 + x(2) );
+ end
+endfunction
+lambda1 = (1.0 + sqrt(33.0))/8.0;
+lambda2 = (1.0 - sqrt(33.0))/8.0;
+coords0 = [
+1.0 1.0
+0.0 0.0
+lambda1 lambda2
+];
+//
+// Test with default NM
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// This is not the real, absolute optimum,
+// but this is the expected result of the Nelder-Mead
+// algorithm.
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , 1e-6 );
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+//
+// Test with manual restart
+// Uses oriented simplex for restart.
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+nm = neldermead_restart ( nm );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3 , 1.e-3 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-6 );
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+//
+// Test with Kelley stagnation criteria
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "kelleystagnation" );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Uses oriented simplex for restart.
+// There are 2 restarts and final status is "tolx".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolx" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-5 , 1.e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-6 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 100 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 2 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-4 , 1.e-3);
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Use axes simplex for restart.
+// Use a reduced alpha0 so that restart occur earlier (test is faster).
+// There is 1 restart and final status is "tolsize".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_configure(nm,"-restartsimplexmethod","axes");
+nm = neldermead_configure(nm,"-kelleystagnationalpha0",1.e-2);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3 , 1.e-2 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 30 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Use spendley simplex for restart.
+// Use a reduced alpha0 so that restart occur earlier (test is faster).
+// There is 1 restart and final status is "tolsize".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_configure(nm,"-restartsimplexmethod","spendley");
+nm = neldermead_configure(nm,"-kelleystagnationalpha0",1.e-2);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-2, 1.e-2 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 30 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Use pfeffer simplex for restart.
+// Use a reduced alpha0 so that restart occur earlier (test is faster).
+// Pfeffer's initial simplex may be the better for restart, since it
+// respects the optimal point computed so far.
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_configure(nm,"-restartsimplexmethod","pfeffer");
+nm = neldermead_configure(nm,"-kelleystagnationalpha0",1.e-1);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-5 , 1.e-4);
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 50 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+// Configure the restartstep option: scalar case
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_configure(nm,"-restartstep", 0.5 );
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3, 1.e-3 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+// Configure the restartstep option: column vector case
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_configure(nm,"-restartstep", [0.5 0.1]');
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3, 1.e-3 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+// Configure the restarteps option
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_configure(nm,"-restarteps", 0.1);
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3, 1.e-3 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.tst
new file mode 100755
index 000000000..4846f51bd
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_mckinnon.tst
@@ -0,0 +1,435 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// There is a Warning message in the .dia of this test,
+// with respect to the conditionning of the direction matrix.
+// This is an expected message, because the simplex is degenerated
+// after the first optimization, which has failed.
+// The restart allows to compute a new simplex and makes the
+// optimization converge toward the good point.
+
+
+
+//% MCKINNON computes the McKinnon function.
+//
+// Discussion:
+//
+// This function has a global minimizer:
+//
+// X* = ( 0.0, -0.5 ), F(X*) = -0.25
+//
+// There are three parameters, TAU, THETA and PHI.
+//
+// 1 < TAU, then F is strictly convex.
+// and F has continuous first derivatives.
+// 2 < TAU, then F has continuous second derivatives.
+// 3 < TAU, then F has continuous third derivatives.
+//
+// However, this function can cause the Nelder-Mead optimization
+// algorithm to "converge" to a point which is not the minimizer
+// of the function F.
+//
+// Sample parameter values which cause problems for Nelder-Mead
+// include:
+//
+// TAU = 1, THETA = 15, PHI = 10;
+// TAU = 2, THETA = 6, PHI = 60;
+// TAU = 3, THETA = 6, PHI = 400;
+//
+// To get the bad behavior, we also assume the initial simplex has the form
+//
+// X1 = (0,0),
+// X2 = (1,1),
+// X3 = (A,B),
+//
+// where
+//
+// A = (1+sqrt(33))/8 = 0.84307...
+// B = (1-sqrt(33))/8 = -0.59307...
+//
+// Licensing:
+//
+// This code is distributed under the GNU LGPL license.
+//
+// Modified:
+//
+// 09 February 2008
+//
+// Author:
+//
+// John Burkardt
+//
+// Reference:
+//
+// Ken McKinnon,
+// Convergence of the Nelder-Mead simplex method to a nonstationary point,
+// SIAM Journal on Optimization,
+// Volume 9, Number 1, 1998, pages 148-158.
+//
+// Parameters:
+//
+// Input, real X(2), the argument of the function.
+//
+// Output, real F, the value of the function at X.
+//
+// Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port
+
+function [ f , index ] = mckinnon3 ( x , index )
+
+ if ( length ( x ) ~= 2 )
+ error ( 'Error: function expects a two dimensional input\n' );
+ end
+
+ tau = 3.0;
+ theta = 6.0;
+ phi = 400.0;
+
+ if ( x(1) <= 0.0 )
+ f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );
+ else
+ f = theta * x(1).^tau + x(2) * ( 1.0 + x(2) );
+ end
+endfunction
+
+lambda1 = (1.0 + sqrt(33.0))/8.0;
+lambda2 = (1.0 - sqrt(33.0))/8.0;
+coords0 = [
+1.0 1.0
+0.0 0.0
+lambda1 lambda2
+];
+
+//
+// Test with default NM
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// This is not the real, absolute optimum,
+// but this is the expected result of the Nelder-Mead
+// algorithm.
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , 1e-6 );
+
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+
+//
+// Test with manual restart
+// Uses oriented simplex for restart.
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+nm = neldermead_restart ( nm );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3 , 1.e-3 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-6 );
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+
+//
+// Test with Kelley stagnation criteria
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "kelleystagnation" );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Uses oriented simplex for restart.
+// There are 2 restarts and final status is "tolx".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolx" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-5 , 1.e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-6 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 100 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 2 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-4 , 1.e-3);
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Use axes simplex for restart.
+// Use a reduced alpha0 so that restart occur earlier (test is faster).
+// There is 1 restart and final status is "tolsize".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_configure(nm,"-restartsimplexmethod","axes");
+nm = neldermead_configure(nm,"-kelleystagnationalpha0",1.e-2);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3 , 1.e-2 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 30 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Use spendley simplex for restart.
+// Use a reduced alpha0 so that restart occur earlier (test is faster).
+// There is 1 restart and final status is "tolsize".
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_configure(nm,"-restartsimplexmethod","spendley");
+nm = neldermead_configure(nm,"-kelleystagnationalpha0",1.e-2);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-2, 1.e-2 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 30 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, Kelley stagnation detection and Kelley restart method
+// Use pfeffer simplex for restart.
+// Use a reduced alpha0 so that restart occur earlier (test is faster).
+// Pfeffer's initial simplex may be the better for restart, since it
+// respects the optimal point computed so far.
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","kelley");
+nm = neldermead_configure(nm,"-restartsimplexmethod","pfeffer");
+nm = neldermead_configure(nm,"-kelleystagnationalpha0",1.e-1);
+nm = neldermead_search(nm);
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-5 , 1.e-4);
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -0.25 , 1e-4 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 50 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+// Configure the restartstep option: scalar case
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_configure(nm,"-restartstep", 0.5 );
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3, 1.e-3 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+// Configure the restartstep option: column vector case
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_configure(nm,"-restartstep", [0.5 0.1]');
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3, 1.e-3 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with auto-restart, low precision on simplex size and O'Neill restart method.
+// Uses oriented simplex for restart.
+// There is 1 restart and final status is "tolsize".
+// Configure the restarteps option
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%t);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-restartflag",%t);
+nm = neldermead_configure(nm,"-restartdetection","oneill");
+nm = neldermead_configure(nm,"-restarteps", 0.1);
+nm = neldermead_search(nm);
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;-0.5], 1e-3, 1.e-3 );
+iterations = neldermead_get(nm,"-iterations");
+assert_checkequal ( ( iterations > 40 ) , %t );
+restartnb = neldermead_get ( nm , "-restartnb" );
+assert_checkequal ( restartnb , 1 );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.dia.ref
new file mode 100755
index 000000000..3d3c82f5f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.dia.ref
@@ -0,0 +1,378 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// Reference:
+//
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+//
+// neldermead_constraints --
+// The Nelder-Mead algorithm, with variable-size simplex
+// and modifications for bounds and
+// inequality constraints.
+//
+function this = neldermead_constraints ( this )
+ // Check settings correspond to algo
+ [ this.optbase , hascons ] = optimbase_hasconstraints ( this.optbase );
+ if ( ~hascons ) then
+ errmsg = msprintf(gettext("%s: Problem has no constraints, but variable algorithm is designed for them."), "neldermead_constraints")
+ error(errmsg)
+ end
+ verbose = optimbase_cget ( this.optbase , "-verbose" )
+ //
+ // Order the vertices for the first time
+ //
+ simplex = this.simplex0;
+ n = optimbase_cget ( this.optbase , "-numberofvariables" );
+ fvinitial = optimbase_get ( this.optbase , "-fx0" );
+ // Sort function values and x points by increasing function value order
+ this = neldermead_log (this,"Step #1 : order");
+ simplex = optimsimplex_sort ( simplex );
+ currentcenter = optimsimplex_center ( simplex );
+ currentxopt = optimbase_cget ( this.optbase , "-x0" );
+ newfvmean = optimsimplex_fvmean ( simplex );
+ nbve = optimsimplex_getnbve ( simplex );
+ ihigh = nbve;
+ inext = ihigh - 1
+ ilow = 1
+ [ this.optbase , hasbounds ] = optimbase_hasbounds ( this.optbase );
+ nbnlc = optimbase_cget ( this.optbase , "-nbineqconst" )
+ //
+ // Initialize
+ //
+ terminate = %f;
+ iter = 0;
+ step = "init";
+ //
+ // Nelder-Mead Loop
+ //
+ while ( ~terminate )
+ this.optbase = optimbase_incriter ( this.optbase );
+ iter = iter + 1;
+ xlow = optimsimplex_getx ( simplex , ilow )
+ flow = optimsimplex_getfv ( simplex , ilow )
+ xhigh = optimsimplex_getx ( simplex , ihigh )
+ fhigh = optimsimplex_getfv ( simplex , ihigh )
+ xn = optimsimplex_getx ( simplex , inext )
+ fn = optimsimplex_getfv ( simplex , inext )
+ //
+ // Store history
+ //
+ xcoords = optimsimplex_getallx ( simplex )
+ this = neldermead_storehistory ( this , n , flow , xlow , xcoords );
+ currentfopt = flow;
+ previousxopt = currentxopt;
+ currentxopt = xlow;
+ previouscenter = currentcenter;
+ currentcenter = optimsimplex_center ( simplex );
+ oldfvmean = newfvmean;
+ newfvmean = optimsimplex_fvmean ( simplex );
+ if ( verbose == 1 ) then
+ deltafv = abs(optimsimplex_deltafvmax ( simplex ));
+ totaliter = optimbase_get ( this.optbase , "-iterations" );
+ funevals = optimbase_get ( this.optbase , "-funevals" );
+ ssize = optimsimplex_size ( simplex )
+ this = neldermead_log (this,sprintf("================================================================="));
+ this = neldermead_log (this,sprintf("Iteration #%d (total = %d)",iter,totaliter));
+ this = neldermead_log (this,sprintf("Function Eval #%d",funevals));
+ this = neldermead_log (this,sprintf("Xopt : [%s]",_strvec(xlow)));
+ this = neldermead_log (this,sprintf("Fopt : %e",flow));
+ this = neldermead_log (this,sprintf("DeltaFv : %e",deltafv));
+ this = neldermead_log (this,sprintf("Center : [%s]",_strvec(currentcenter)));
+ this = neldermead_log (this,sprintf("Size : %e",ssize));
+ str = optimsimplex_tostring ( simplex )
+ for i = 1:nbve
+ this = neldermead_log (this,str(i));
+ end
+ end
+ neldermead_outputcmd ( this, "iter" , simplex , step )
+ //
+ // Update termination flag
+ //
+ if ( iter > 1 ) then
+ [ this , terminate , status] = neldermead_termination (this , ...
+ fvinitial , oldfvmean , newfvmean , previouscenter , currentcenter , simplex );
+ if ( terminate ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Terminate with status : %s",status));
+ end
+ break
+ end
+ end
+ //
+ // Compute xbar, center of better vertices
+ //
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Reflect"));
+ end
+ xbar = optimsimplex_xbar ( simplex );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xbar=[%s]" , _strvec(xbar)));
+ end
+ //
+ // Reflect the worst point with respect to center
+ //
+ xr = neldermead_interpolate ( xbar , xhigh , this.rho );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xr=[%s]" , _strvec(xr)));
+ end
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xr ] = _scaleinboundsandcons ( this , xr , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fr , cr , index ] = optimbase_function ( this.optbase , xr , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xr=[%s], f(xr)=%f", _strvec(xr) , fr));
+ end
+ if ( fr >= flow & fr < fn ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform reflection"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fr , xr )
+ step = "reflection";
+ elseif ( fr < flow ) then
+ // Expand
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Expand"));
+ end
+ xe = neldermead_interpolate ( xbar , xhigh , this.rho*this.chi );
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xe ] = _scaleinboundsandcons ( this , xe , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fe , ce , index ] = optimbase_function ( this.optbase , xe , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xe=[%s], f(xe)=%f", strcat(string(xe)," ") , fe ));
+ end
+ if (fe < fr) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Expansion"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fe , xe )
+ step = "expansion";
+ else
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform reflection"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fr , xr )
+ step = "reflection";
+ end
+ elseif ( fr >= fn & fr < fhigh ) then
+ // Outside contraction
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Contract - outside"));
+ end
+ xc = neldermead_interpolate ( xbar , xhigh , this.rho*this.gamma );
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xc ] = _scaleinboundsandcons ( this , xc , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fc , cc , index ] = optimbase_function ( this.optbase , xc , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xc=[%s], f(xc)=%f", strcat(string(xc)," ") , fc));
+ end
+ if ( fc <= fr ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Outside Contraction"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fc , xc )
+ step = "outsidecontraction";
+ else
+ // Shrink
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Shrink"));
+ end
+ [ simplex , this ] = optimsimplex_shrink ( simplex , neldermead_costf , this.sigma , this );
+ step = "shrink";
+ end
+ else
+ // ( fr >= fn & fr >= fhigh )
+ // Inside contraction
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Contract - inside"));
+ end
+ xc = neldermead_interpolate ( xbar , xhigh , -this.gamma );
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xc ] = _scaleinboundsandcons ( this , xc , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fc , cc , index ] = optimbase_function ( this.optbase , xc , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xc=[%s], f(xc)=%f", strcat(string(xc)," ") , fc));
+ end
+ if ( fc < fhigh ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Inside Contraction"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fc , xc )
+ step = "insidecontraction";
+ else
+ // Shrink
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Shrink"));
+ end
+ [ simplex , this ] = optimsimplex_shrink ( simplex , neldermead_costf , this.sigma , this )
+ step = "shrink";
+ end
+ end
+ //
+ // Sort simplex
+ //
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Sort"));
+ end
+ simplex = optimsimplex_sort ( simplex );
+ end
+ this.optbase = optimbase_set ( this.optbase , "-xopt" , xlow.' );
+ this.optbase = optimbase_set ( this.optbase , "-fopt" , flow );
+ this.optbase = optimbase_set ( this.optbase , "-status" , status );
+ this.simplexopt = simplex;
+endfunction
+ //
+ // _scaleinboundsandcons --
+ // Given a point to scale and a reference point which satisfies the constraints,
+ // scale the point towards the reference point until it satisfies all the constraints,
+ // including boun constraints.
+ // Returns isscaled = %T if the procedure has succeded before -boxnbnlloops
+ // Returns isscaled = %F if the procedure has failed after -boxnbnlloops
+ // iterations.
+ // Arguments
+ // x : the point to scale
+ // xref : the reference point
+ // isscaled : %T or %F
+ // p : scaled point
+ //
+function [ this , isscaled , p ] = _scaleinboundsandcons ( this , x , xref )
+ p = x
+ [ this.optbase , hasbounds ] = optimbase_hasbounds ( this.optbase );
+ nbnlc = optimbase_cget ( this.optbase , "-nbineqconst" )
+ //
+ // 1. No bounds, no nonlinear inequality constraints
+ // => no problem
+ //
+ if ( ( hasbounds == %f ) & ( nbnlc == 0 ) ) then
+ isscaled = %T
+ return;
+ end
+ isscaled = %F
+ //
+ // 2. Scale into bounds
+ //
+ if ( hasbounds ) then
+ [ this.optbase , p ] = optimbase_proj2bnds ( this.optbase , p );
+ this = neldermead_log (this,sprintf(" > After projection into bounds p = [%s]" , ...
+ _strvec(p)));
+ end
+ //
+ // 2. Scale into nonlinear constraints
+ // Try the current point and see if the constraints are satisfied.
+ // If not, move the point "halfway" to the centroid,
+ // which should satisfy the constraints, if
+ // the constraints are convex.
+ // Perform this loop until the constraints are satisfied.
+ // If all loops have been performed without success, the scaling
+ // has failed.
+ //
+ alpha = 1.0
+ p0 = p
+ while ( alpha > this.guinalphamin )
+ [ this.optbase , feasible ] = optimbase_isinnonlincons ( this.optbase , p );
+ if ( feasible ) then
+ isscaled = %T;
+ break;
+ end
+ alpha = alpha / 2.0
+ this = neldermead_log (this,sprintf("Scaling inequality constraint with alpha = %e", ...
+ alpha ));
+ p = ( 1.0 - alpha ) * xref + alpha * p0;
+ end
+ this = neldermead_log (this,sprintf(" > After scaling into inequality constraints p = [%s]" , ...
+ _strvec(p) ) );
+ if ( ~isscaled ) then
+ this = neldermead_log (this,sprintf(" > Impossible to scale into constraints." ));
+ end
+endfunction
+//
+// Test with my own algorithm,
+// the "Mega Super Ultra Modified Simplex Method" !!!
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",400);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-3);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-method","mine");
+nm = neldermead_configure(nm,"-mymethod",neldermead_constraints);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-3, 1e-3 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-5 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.tst
new file mode 100755
index 000000000..28cb02610
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_mymethod.tst
@@ -0,0 +1,387 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+
+//
+// Reference:
+//
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+//
+// neldermead_constraints --
+// The Nelder-Mead algorithm, with variable-size simplex
+// and modifications for bounds and
+// inequality constraints.
+//
+function this = neldermead_constraints ( this )
+ // Check settings correspond to algo
+ [ this.optbase , hascons ] = optimbase_hasconstraints ( this.optbase );
+ if ( ~hascons ) then
+ errmsg = msprintf(gettext("%s: Problem has no constraints, but variable algorithm is designed for them."), "neldermead_constraints")
+ error(errmsg)
+ end
+ verbose = optimbase_cget ( this.optbase , "-verbose" )
+ //
+ // Order the vertices for the first time
+ //
+ simplex = this.simplex0;
+ n = optimbase_cget ( this.optbase , "-numberofvariables" );
+ fvinitial = optimbase_get ( this.optbase , "-fx0" );
+ // Sort function values and x points by increasing function value order
+ this = neldermead_log (this,"Step #1 : order");
+ simplex = optimsimplex_sort ( simplex );
+ currentcenter = optimsimplex_center ( simplex );
+ currentxopt = optimbase_cget ( this.optbase , "-x0" );
+ newfvmean = optimsimplex_fvmean ( simplex );
+ nbve = optimsimplex_getnbve ( simplex );
+ ihigh = nbve;
+ inext = ihigh - 1
+ ilow = 1
+ [ this.optbase , hasbounds ] = optimbase_hasbounds ( this.optbase );
+ nbnlc = optimbase_cget ( this.optbase , "-nbineqconst" )
+ //
+ // Initialize
+ //
+ terminate = %f;
+ iter = 0;
+ step = "init";
+ //
+ // Nelder-Mead Loop
+ //
+ while ( ~terminate )
+ this.optbase = optimbase_incriter ( this.optbase );
+ iter = iter + 1;
+ xlow = optimsimplex_getx ( simplex , ilow )
+ flow = optimsimplex_getfv ( simplex , ilow )
+ xhigh = optimsimplex_getx ( simplex , ihigh )
+ fhigh = optimsimplex_getfv ( simplex , ihigh )
+ xn = optimsimplex_getx ( simplex , inext )
+ fn = optimsimplex_getfv ( simplex , inext )
+ //
+ // Store history
+ //
+ xcoords = optimsimplex_getallx ( simplex )
+ this = neldermead_storehistory ( this , n , flow , xlow , xcoords );
+ currentfopt = flow;
+ previousxopt = currentxopt;
+ currentxopt = xlow;
+ previouscenter = currentcenter;
+ currentcenter = optimsimplex_center ( simplex );
+ oldfvmean = newfvmean;
+ newfvmean = optimsimplex_fvmean ( simplex );
+ if ( verbose == 1 ) then
+ deltafv = abs(optimsimplex_deltafvmax ( simplex ));
+ totaliter = optimbase_get ( this.optbase , "-iterations" );
+ funevals = optimbase_get ( this.optbase , "-funevals" );
+ ssize = optimsimplex_size ( simplex )
+ this = neldermead_log (this,sprintf("================================================================="));
+ this = neldermead_log (this,sprintf("Iteration #%d (total = %d)",iter,totaliter));
+ this = neldermead_log (this,sprintf("Function Eval #%d",funevals));
+ this = neldermead_log (this,sprintf("Xopt : [%s]",_strvec(xlow)));
+ this = neldermead_log (this,sprintf("Fopt : %e",flow));
+ this = neldermead_log (this,sprintf("DeltaFv : %e",deltafv));
+ this = neldermead_log (this,sprintf("Center : [%s]",_strvec(currentcenter)));
+ this = neldermead_log (this,sprintf("Size : %e",ssize));
+ str = optimsimplex_tostring ( simplex )
+ for i = 1:nbve
+ this = neldermead_log (this,str(i));
+ end
+ end
+ neldermead_outputcmd ( this, "iter" , simplex , step )
+
+ //
+ // Update termination flag
+ //
+ if ( iter > 1 ) then
+ [ this , terminate , status] = neldermead_termination (this , ...
+ fvinitial , oldfvmean , newfvmean , previouscenter , currentcenter , simplex );
+ if ( terminate ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Terminate with status : %s",status));
+ end
+ break
+ end
+ end
+ //
+ // Compute xbar, center of better vertices
+ //
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Reflect"));
+ end
+ xbar = optimsimplex_xbar ( simplex );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xbar=[%s]" , _strvec(xbar)));
+ end
+ //
+ // Reflect the worst point with respect to center
+ //
+ xr = neldermead_interpolate ( xbar , xhigh , this.rho );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xr=[%s]" , _strvec(xr)));
+ end
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xr ] = _scaleinboundsandcons ( this , xr , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fr , cr , index ] = optimbase_function ( this.optbase , xr , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xr=[%s], f(xr)=%f", _strvec(xr) , fr));
+ end
+ if ( fr >= flow & fr < fn ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform reflection"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fr , xr )
+ step = "reflection";
+ elseif ( fr < flow ) then
+ // Expand
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Expand"));
+ end
+ xe = neldermead_interpolate ( xbar , xhigh , this.rho*this.chi );
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xe ] = _scaleinboundsandcons ( this , xe , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fe , ce , index ] = optimbase_function ( this.optbase , xe , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xe=[%s], f(xe)=%f", strcat(string(xe)," ") , fe ));
+ end
+ if (fe < fr) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Expansion"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fe , xe )
+ step = "expansion";
+ else
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform reflection"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fr , xr )
+ step = "reflection";
+ end
+ elseif ( fr >= fn & fr < fhigh ) then
+ // Outside contraction
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Contract - outside"));
+ end
+ xc = neldermead_interpolate ( xbar , xhigh , this.rho*this.gamma );
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xc ] = _scaleinboundsandcons ( this , xc , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fc , cc , index ] = optimbase_function ( this.optbase , xc , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xc=[%s], f(xc)=%f", strcat(string(xc)," ") , fc));
+ end
+ if ( fc <= fr ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Outside Contraction"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fc , xc )
+ step = "outsidecontraction";
+ else
+ // Shrink
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Shrink"));
+ end
+ [ simplex , this ] = optimsimplex_shrink ( simplex , neldermead_costf , this.sigma , this );
+ step = "shrink";
+ end
+ else
+ // ( fr >= fn & fr >= fhigh )
+ // Inside contraction
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Contract - inside"));
+ end
+ xc = neldermead_interpolate ( xbar , xhigh , -this.gamma );
+ // Adjust point to satisfy bounds and nonlinear inequality constraints
+ if ( hasbounds | nbnlc > 0 ) then
+ [ this , status , xc ] = _scaleinboundsandcons ( this , xc , xbar );
+ if ( ~status ) then
+ status = "impossibleconstr"
+ break
+ end
+ end
+ [ this.optbase , fc , cc , index ] = optimbase_function ( this.optbase , xc , 2 );
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("xc=[%s], f(xc)=%f", strcat(string(xc)," ") , fc));
+ end
+ if ( fc < fhigh ) then
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Inside Contraction"));
+ end
+ simplex = optimsimplex_setve ( simplex , ihigh , fc , xc )
+ step = "insidecontraction";
+ else
+ // Shrink
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf(" > Perform Shrink"));
+ end
+ [ simplex , this ] = optimsimplex_shrink ( simplex , neldermead_costf , this.sigma , this )
+ step = "shrink";
+ end
+ end
+ //
+ // Sort simplex
+ //
+ if ( verbose == 1 ) then
+ this = neldermead_log (this,sprintf("Sort"));
+ end
+ simplex = optimsimplex_sort ( simplex );
+ end
+ this.optbase = optimbase_set ( this.optbase , "-xopt" , xlow.' );
+ this.optbase = optimbase_set ( this.optbase , "-fopt" , flow );
+ this.optbase = optimbase_set ( this.optbase , "-status" , status );
+ this.simplexopt = simplex;
+endfunction
+ //
+ // _scaleinboundsandcons --
+ // Given a point to scale and a reference point which satisfies the constraints,
+ // scale the point towards the reference point until it satisfies all the constraints,
+ // including boun constraints.
+ // Returns isscaled = %T if the procedure has succeded before -boxnbnlloops
+ // Returns isscaled = %F if the procedure has failed after -boxnbnlloops
+ // iterations.
+ // Arguments
+ // x : the point to scale
+ // xref : the reference point
+ // isscaled : %T or %F
+ // p : scaled point
+ //
+function [ this , isscaled , p ] = _scaleinboundsandcons ( this , x , xref )
+ p = x
+ [ this.optbase , hasbounds ] = optimbase_hasbounds ( this.optbase );
+ nbnlc = optimbase_cget ( this.optbase , "-nbineqconst" )
+ //
+ // 1. No bounds, no nonlinear inequality constraints
+ // => no problem
+ //
+ if ( ( hasbounds == %f ) & ( nbnlc == 0 ) ) then
+ isscaled = %T
+ return;
+ end
+ isscaled = %F
+ //
+ // 2. Scale into bounds
+ //
+ if ( hasbounds ) then
+ [ this.optbase , p ] = optimbase_proj2bnds ( this.optbase , p );
+ this = neldermead_log (this,sprintf(" > After projection into bounds p = [%s]" , ...
+ _strvec(p)));
+ end
+ //
+ // 2. Scale into nonlinear constraints
+ // Try the current point and see if the constraints are satisfied.
+ // If not, move the point "halfway" to the centroid,
+ // which should satisfy the constraints, if
+ // the constraints are convex.
+ // Perform this loop until the constraints are satisfied.
+ // If all loops have been performed without success, the scaling
+ // has failed.
+ //
+ alpha = 1.0
+ p0 = p
+ while ( alpha > this.guinalphamin )
+ [ this.optbase , feasible ] = optimbase_isinnonlincons ( this.optbase , p );
+ if ( feasible ) then
+ isscaled = %T;
+ break;
+ end
+ alpha = alpha / 2.0
+ this = neldermead_log (this,sprintf("Scaling inequality constraint with alpha = %e", ...
+ alpha ));
+ p = ( 1.0 - alpha ) * xref + alpha * p0;
+ end
+ this = neldermead_log (this,sprintf(" > After scaling into inequality constraints p = [%s]" , ...
+ _strvec(p) ) );
+ if ( ~isscaled ) then
+ this = neldermead_log (this,sprintf(" > Impossible to scale into constraints." ));
+ end
+endfunction
+
+//
+// Test with my own algorithm,
+// the "Mega Super Ultra Modified Simplex Method" !!!
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",400);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-3);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-method","mine");
+nm = neldermead_configure(nm,"-mymethod",neldermead_constraints);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-3, 1e-3 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-5 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.dia.ref
new file mode 100755
index 000000000..59074fab1
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.dia.ref
@@ -0,0 +1,56 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function stop = myoutputcmd ( state , data )
+ simplex = data.simplex
+ ssize = optimsimplex_size ( simplex , "sigmaplus" );
+ if ( ssize < 1.e-2 ) then
+ stop = %t;
+ status = "mysize";
+ else
+ stop = %f
+ end
+endfunction
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test with my own termination criteria
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-maxiter",%inf);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-method","variable");
+// Disable default terminations
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-4 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "userstop" );
+// Check simplex size
+simplex = neldermead_get(nm,"-simplexopt");
+ssize = optimsimplex_size ( simplex , "sigmaplus" );
+assert_checkequal ( ssize<1.e-1 , %t );
+// Check function evaluations
+funevals = neldermead_get(nm,"-funevals");
+assert_checkequal ( funevals<200 , %t );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.tst
new file mode 100755
index 000000000..d0be36288
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminate.tst
@@ -0,0 +1,69 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+
+
+function stop = myoutputcmd ( state , data )
+ simplex = data.simplex
+ ssize = optimsimplex_size ( simplex , "sigmaplus" );
+ if ( ssize < 1.e-2 ) then
+ stop = %t;
+ status = "mysize";
+ else
+ stop = %f
+ end
+endfunction
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+
+
+
+//
+// Test with my own termination criteria
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-maxiter",%inf);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-method","variable");
+// Disable default terminations
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-4 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "userstop" );
+// Check simplex size
+simplex = neldermead_get(nm,"-simplexopt");
+ssize = optimsimplex_size ( simplex , "sigmaplus" );
+assert_checkequal ( ssize<1.e-1 , %t );
+// Check function evaluations
+funevals = neldermead_get(nm,"-funevals");
+assert_checkequal ( funevals<200 , %t );
+nm = neldermead_destroy(nm);
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.dia.ref
new file mode 100755
index 000000000..63bcabf38
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.dia.ref
@@ -0,0 +1,75 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK REF -->
+// This test is designed to produce a warning:
+// this warning is localized.
+// This is why we do not check the ref.
+// Checking the ref file under Linux fails, because
+// <-- ENGLISH IMPOSED --> has no effect there.
+// See : http://bugzilla.scilab.org/show_bug.cgi?id=9284
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Check backward compatibility:
+// check obsolete options "-myterminateflag" and "-myterminate".
+//
+function [ this , terminate , status ] = mystoppingrule2 ( this , simplex )
+ ssize = optimsimplex_size ( simplex , "sigmaplus" );
+ if ( ssize < 1.e-2 ) then
+ terminate = %t;
+ status = "mysize";
+ else
+ terminate = %f
+ end
+endfunction
+//
+// Test with my own termination criteria
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-maxiter",%inf);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-method","variable");
+// Disable default terminations
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+nm = neldermead_configure(nm,"-myterminateflag",%t);
+WARNING: Option -myterminateflag is obsolete.
+ Please use -outputcommand instead.
+ This feature will be permanently removed in Scilab 5.4.1
+
+nm = neldermead_configure(nm,"-myterminate",mystoppingrule2);
+WARNING: Option -myterminate is obsolete.
+ Please use -outputcommand instead.
+ This feature will be permanently removed in Scilab 5.4.1
+
+//
+// Check cget
+value = neldermead_cget(nm,"-myterminateflag");
+assert_checktrue ( value );
+//
+value = neldermead_cget(nm,"-myterminate");
+assert_checkequal ( typeof(value) , "function" );
+//
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-4 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "mysize" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.tst
new file mode 100755
index 000000000..be6f9c4d0
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_myterminateobsolete.tst
@@ -0,0 +1,77 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK REF -->
+
+// This test is designed to produce a warning:
+// this warning is localized.
+// This is why we do not check the ref.
+// Checking the ref file under Linux fails, because
+// <-- ENGLISH IMPOSED --> has no effect there.
+// See : http://bugzilla.scilab.org/show_bug.cgi?id=9284
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Check backward compatibility:
+// check obsolete options "-myterminateflag" and "-myterminate".
+//
+function [ this , terminate , status ] = mystoppingrule2 ( this , simplex )
+ ssize = optimsimplex_size ( simplex , "sigmaplus" );
+ if ( ssize < 1.e-2 ) then
+ terminate = %t;
+ status = "mysize";
+ else
+ terminate = %f
+ end
+
+endfunction
+
+
+
+//
+// Test with my own termination criteria
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-maxiter",%inf);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-method","variable");
+// Disable default terminations
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolsimplexizemethod",%f);
+nm = neldermead_configure(nm,"-myterminateflag",%t);
+nm = neldermead_configure(nm,"-myterminate",mystoppingrule2);
+//
+// Check cget
+value = neldermead_cget(nm,"-myterminateflag");
+assert_checktrue ( value );
+//
+value = neldermead_cget(nm,"-myterminate");
+assert_checkequal ( typeof(value) , "function" );
+//
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-4 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "mysize" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.dia.ref
new file mode 100755
index 000000000..ca24613fc
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.dia.ref
@@ -0,0 +1,423 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// Test basic new/destroy sequence
+//
+nm = neldermead_new ();
+nm = neldermead_destroy(nm);
+//
+// Test printing system
+//
+nm = neldermead_new ();
+str = string(nm)
+ str =
+
+!Nelder-Mead Object: !
+! !
+!====================== !
+! !
+! !
+! !
+!Simplex0 Method : axes !
+! !
+!Simplex0 Length : 1 !
+! !
+!Simplex0, Pfeffer, Delta Usual : 0.05 !
+! !
+!Simplex0, Pfeffer, Delta Zero : 0.0075 !
+! !
+!Simplex0, Given, Coords : !
+! !
+![] !
+! !
+! !
+! !
+!Termination parameters !
+! !
+!Termination on simplex size : T !
+! !
+!Termination on simplex size, Absolute Tolerance : 0 !
+! !
+!Termination on simplex size, Relative Tolerance : 2.220D-16 !
+! !
+!Termination on simplex size, Initial Simplex Size : 0 !
+! !
+!Termination on simplex size + Delta of function value : F !
+! !
+!Termination on simplex size + Delta of function value, Absolute Tolera!
+! nce on Delta F : 2.220D-16 !
+! !
+!Termination on Kelley's Stagnation : F !
+! !
+!Termination on Kelley's Stagnation, Normalization : T !
+! !
+!Termination on Kelley's Stagnation, Alpha0 : 0.0001 !
+! !
+!Termination on Kelley's Stagnation, Alpha : 0.0001 !
+! !
+!Termination by Box : F !
+! !
+!Termination by Box, Absolute Tolerance on Function: 0.00001 !
+! !
+!Termination by Box, Maximum Number of Consecutive Match : 5 !
+! !
+!Termination by Box, Current Number of Consecutive Match : 0 !
+! !
+!Termination on Variance : F !
+! !
+!Termination on Variance, Absolute Tolerance : 0 !
+! !
+!Termination on Variance, Relative Tolerance : 2.220D-16 !
+! !
+!Termination on Variance, Variance of Initial Simplex : 0 !
+! !
+! !
+! !
+!Algorithms parameters !
+! !
+!Method : variable !
+! !
+!Reflection Factor (rho) : 1 !
+! !
+!Expansion Factor (chi) : 2 !
+! !
+!Contraction Factor (gamma) : 0.5 !
+! !
+!Shrinkage Factor (sigma) : 0.5 !
+! !
+!Kelley Stagnation : F !
+! !
+!Restart Epsilon : 2.220D-16 !
+! !
+!Restart Step : 1 !
+! !
+!Restart Maximum : 3 !
+! !
+!Restart Simplex Method : oriented !
+! !
+!Restart Flag : F !
+! !
+!Restart Number : 0 !
+! !
+!Restart Detection Method : oneill !
+! !
+!Startup Flag : F !
+! !
+!Automatic Checking of Cost Function : T !
+! !
+!Box, Number of Points : 2n !
+! !
+!Box, Current Number of Points : 0 !
+! !
+!Box, Scaling, Factor : 0.5 !
+! !
+!Box, Scaling, Method : tox0 !
+! !
+!Box, Scaling, Minimum : 0.00001 !
+! !
+!Box, Bounds Parameter: 0.000001 !
+! !
+!Box, Reflection Coefficient : 1.3 !
+! !
+! !
+! !
+!optbase: <TOPTIM Object> !
+! !
+!simplex0: <TSIMPLEX Object> !
+! !
+!simplexopt: <constant Object> !
+assert_checkequal ( typeof(str) , "string" )
+ ans =
+
+ T
+nm
+ nm =
+
+Nelder-Mead Object:
+======================
+
+Simplex0 Method : axes
+Simplex0 Length : 1
+Simplex0, Pfeffer, Delta Usual : 0.05
+Simplex0, Pfeffer, Delta Zero : 0.0075
+Simplex0, Given, Coords :
+[]
+
+Termination parameters
+Termination on simplex size : T
+Termination on simplex size, Absolute Tolerance : 0
+Termination on simplex size, Relative Tolerance : 2.220D-16
+Termination on simplex size, Initial Simplex Size : 0
+Termination on simplex size + Delta of function value : F
+Termination on simplex size + Delta of function value, Absolute Tolerance on Delta F : 2.220D-16
+Termination on Kelley's Stagnation : F
+Termination on Kelley's Stagnation, Normalization : T
+Termination on Kelley's Stagnation, Alpha0 : 0.0001
+Termination on Kelley's Stagnation, Alpha : 0.0001
+Termination by Box : F
+Termination by Box, Absolute Tolerance on Function: 0.00001
+Termination by Box, Maximum Number of Consecutive Match : 5
+Termination by Box, Current Number of Consecutive Match : 0
+Termination on Variance : F
+Termination on Variance, Absolute Tolerance : 0
+Termination on Variance, Relative Tolerance : 2.220D-16
+Termination on Variance, Variance of Initial Simplex : 0
+
+Algorithms parameters
+Method : variable
+Reflection Factor (rho) : 1
+Expansion Factor (chi) : 2
+Contraction Factor (gamma) : 0.5
+Shrinkage Factor (sigma) : 0.5
+Kelley Stagnation : F
+Restart Epsilon : 2.220D-16
+Restart Step : 1
+Restart Maximum : 3
+Restart Simplex Method : oriented
+Restart Flag : F
+Restart Number : 0
+Restart Detection Method : oneill
+Startup Flag : F
+Automatic Checking of Cost Function : T
+Box, Number of Points : 2n
+Box, Current Number of Points : 0
+Box, Scaling, Factor : 0.5
+Box, Scaling, Method : tox0
+Box, Scaling, Minimum : 0.00001
+Box, Bounds Parameter: 0.000001
+Box, Reflection Coefficient : 1.3
+
+optbase: <TOPTIM Object>
+simplex0: <TSIMPLEX Object>
+simplexopt: <constant Object>
+nm = neldermead_destroy(nm);
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+//
+// Test printing system with various options configured
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-4);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+str = string(nm)
+ str =
+
+!Nelder-Mead Object: !
+! !
+!====================== !
+! !
+! !
+! !
+!Simplex0 Method : axes !
+! !
+!Simplex0 Length : 20 !
+! !
+!Simplex0, Pfeffer, Delta Usual : 0.05 !
+! !
+!Simplex0, Pfeffer, Delta Zero : 0.0075 !
+! !
+!Simplex0, Given, Coords : !
+! !
+![] !
+! !
+! !
+! !
+!Termination parameters !
+! !
+!Termination on simplex size : T !
+! !
+!Termination on simplex size, Absolute Tolerance : 0 !
+! !
+!Termination on simplex size, Relative Tolerance : 0.0001 !
+! !
+!Termination on simplex size, Initial Simplex Size : 0 !
+! !
+!Termination on simplex size + Delta of function value : F !
+! !
+!Termination on simplex size + Delta of function value, Absolute Tolera!
+! nce on Delta F : 2.220D-16 !
+! !
+!Termination on Kelley's Stagnation : F !
+! !
+!Termination on Kelley's Stagnation, Normalization : T !
+! !
+!Termination on Kelley's Stagnation, Alpha0 : 0.0001 !
+! !
+!Termination on Kelley's Stagnation, Alpha : 0.0001 !
+! !
+!Termination by Box : F !
+! !
+!Termination by Box, Absolute Tolerance on Function: 0.00001 !
+! !
+!Termination by Box, Maximum Number of Consecutive Match : 5 !
+! !
+!Termination by Box, Current Number of Consecutive Match : 0 !
+! !
+!Termination on Variance : F !
+! !
+!Termination on Variance, Absolute Tolerance : 0 !
+! !
+!Termination on Variance, Relative Tolerance : 2.220D-16 !
+! !
+!Termination on Variance, Variance of Initial Simplex : 0 !
+! !
+! !
+! !
+!Algorithms parameters !
+! !
+!Method : box !
+! !
+!Reflection Factor (rho) : 1 !
+! !
+!Expansion Factor (chi) : 2 !
+! !
+!Contraction Factor (gamma) : 0.5 !
+! !
+!Shrinkage Factor (sigma) : 0.5 !
+! !
+!Kelley Stagnation : F !
+! !
+!Restart Epsilon : 2.220D-16 !
+! !
+!Restart Step : 1 !
+! !
+!Restart Maximum : 3 !
+! !
+!Restart Simplex Method : oriented !
+! !
+!Restart Flag : F !
+! !
+!Restart Number : 0 !
+! !
+!Restart Detection Method : oneill !
+! !
+!Startup Flag : F !
+! !
+!Automatic Checking of Cost Function : T !
+! !
+!Box, Number of Points : 2n !
+! !
+!Box, Current Number of Points : 0 !
+! !
+!Box, Scaling, Factor : 0.5 !
+! !
+!Box, Scaling, Method : tox0 !
+! !
+!Box, Scaling, Minimum : 0.00001 !
+! !
+!Box, Bounds Parameter: 0.000001 !
+! !
+!Box, Reflection Coefficient : 1.3 !
+! !
+! !
+! !
+!optbase: <TOPTIM Object> !
+! !
+!simplex0: <TSIMPLEX Object> !
+! !
+!simplexopt: <constant Object> !
+assert_checkequal ( typeof(str) , "string" )
+ ans =
+
+ T
+nm
+ nm =
+
+Nelder-Mead Object:
+======================
+
+Simplex0 Method : axes
+Simplex0 Length : 20
+Simplex0, Pfeffer, Delta Usual : 0.05
+Simplex0, Pfeffer, Delta Zero : 0.0075
+Simplex0, Given, Coords :
+[]
+
+Termination parameters
+Termination on simplex size : T
+Termination on simplex size, Absolute Tolerance : 0
+Termination on simplex size, Relative Tolerance : 0.0001
+Termination on simplex size, Initial Simplex Size : 0
+Termination on simplex size + Delta of function value : F
+Termination on simplex size + Delta of function value, Absolute Tolerance on Delta F : 2.220D-16
+Termination on Kelley's Stagnation : F
+Termination on Kelley's Stagnation, Normalization : T
+Termination on Kelley's Stagnation, Alpha0 : 0.0001
+Termination on Kelley's Stagnation, Alpha : 0.0001
+Termination by Box : F
+Termination by Box, Absolute Tolerance on Function: 0.00001
+Termination by Box, Maximum Number of Consecutive Match : 5
+Termination by Box, Current Number of Consecutive Match : 0
+Termination on Variance : F
+Termination on Variance, Absolute Tolerance : 0
+Termination on Variance, Relative Tolerance : 2.220D-16
+Termination on Variance, Variance of Initial Simplex : 0
+
+Algorithms parameters
+Method : box
+Reflection Factor (rho) : 1
+Expansion Factor (chi) : 2
+Contraction Factor (gamma) : 0.5
+Shrinkage Factor (sigma) : 0.5
+Kelley Stagnation : F
+Restart Epsilon : 2.220D-16
+Restart Step : 1
+Restart Maximum : 3
+Restart Simplex Method : oriented
+Restart Flag : F
+Restart Number : 0
+Restart Detection Method : oneill
+Startup Flag : F
+Automatic Checking of Cost Function : T
+Box, Number of Points : 2n
+Box, Current Number of Points : 0
+Box, Scaling, Factor : 0.5
+Box, Scaling, Method : tox0
+Box, Scaling, Minimum : 0.00001
+Box, Bounds Parameter: 0.000001
+Box, Reflection Coefficient : 1.3
+
+optbase: <TOPTIM Object>
+simplex0: <TSIMPLEX Object>
+simplexopt: <constant Object>
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.tst
new file mode 100755
index 000000000..fd514e4a5
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_newdestroy.tst
@@ -0,0 +1,77 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+
+//
+// Test basic new/destroy sequence
+//
+nm = neldermead_new ();
+nm = neldermead_destroy(nm);
+
+//
+// Test printing system
+//
+nm = neldermead_new ();
+str = string(nm)
+assert_checkequal ( typeof(str) , "string" )
+nm
+nm = neldermead_destroy(nm);
+
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+
+
+//
+// Test printing system with various options configured
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-4);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+str = string(nm)
+assert_checkequal ( typeof(str) , "string" )
+nm
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.dia.ref
new file mode 100755
index 000000000..f62844410
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.dia.ref
@@ -0,0 +1,157 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = myquad ( x , index )
+ y = x(1)^2 + x(2)^2
+endfunction
+//
+// myoutputcmd --
+// This command is called back by the Nelder-Mead
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * simplex : the simplex, as a simplex object
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// * step : the type of step in the previous iteration
+// stop: set to true to stop algorithm
+//
+function stop = myoutputcmd ( state , data )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ simplex = data.simplex
+ step = data.step
+ // Simplex is a data structure, which can be managed
+ // by the simplex class.
+ v = optimsimplex_dirmat ( simplex )
+ condv = cond ( v )
+ _OUTPUCMDFLAG_ = 1
+ stop = %f
+endfunction
+//
+// Test the variable algorithm
+//
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// We are here, that means that the output command has been correctly
+// called
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test the fixed algorithm
+//
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// We are here, that means that the output command has been correctly
+// called
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+nm = neldermead_destroy(nm);
+//
+// Test the Box algorithm
+//
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0]);
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// We are here, that means that the output command has been correctly
+// called
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+nm = neldermead_destroy(nm);
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// myoutputcmd2 --
+// This command is called back by the Nelder-Mead
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * simplex : the simplex, as a simplex object
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// myobj : a user-defined data structure
+// stop: set to true to stop algorithm
+//
+function stop = myoutputcmd2 ( state , data , myobj )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ simplex = data.simplex
+ // Simplex is a data structure, which can be managed
+ // by the simplex class.
+ v = optimsimplex_dirmat ( simplex )
+ condv = cond ( v )
+ _OUTPUCMDFLAG_ = myobj.myarg
+ stop = %f
+endfunction
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+myobj = tlist(["T_MYSTUFF","myarg"]);
+myobj.myarg = 12;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-outputcommand",list(myoutputcmd2,myobj));
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+assert_checkequal ( _OUTPUCMDFLAG_ , 12 );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.tst
new file mode 100755
index 000000000..9d5a98aff
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_outputcmd.tst
@@ -0,0 +1,180 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+function [ y , index ] = myquad ( x , index )
+ y = x(1)^2 + x(2)^2
+endfunction
+
+
+//
+// myoutputcmd --
+// This command is called back by the Nelder-Mead
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * simplex : the simplex, as a simplex object
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// * step : the type of step in the previous iteration
+// stop: set to true to stop algorithm
+//
+function stop = myoutputcmd ( state , data )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ simplex = data.simplex
+ step = data.step
+ // Simplex is a data structure, which can be managed
+ // by the simplex class.
+ v = optimsimplex_dirmat ( simplex )
+ condv = cond ( v )
+ _OUTPUCMDFLAG_ = 1
+ stop = %f
+endfunction
+
+
+//
+// Test the variable algorithm
+//
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// We are here, that means that the output command has been correctly
+// called
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+nm = neldermead_destroy(nm);
+
+
+//
+// Test the fixed algorithm
+//
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// We are here, that means that the output command has been correctly
+// called
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+nm = neldermead_destroy(nm);
+
+
+//
+// Test the Box algorithm
+//
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",myquad);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0]);
+nm = neldermead_configure(nm,"-outputcommand",myoutputcmd);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// We are here, that means that the output command has been correctly
+// called
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+nm = neldermead_destroy(nm);
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// myoutputcmd2 --
+// This command is called back by the Nelder-Mead
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * simplex : the simplex, as a simplex object
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// myobj : a user-defined data structure
+// stop: set to true to stop algorithm
+//
+function stop = myoutputcmd2 ( state , data , myobj )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ simplex = data.simplex
+ // Simplex is a data structure, which can be managed
+ // by the simplex class.
+ v = optimsimplex_dirmat ( simplex )
+ condv = cond ( v )
+ _OUTPUCMDFLAG_ = myobj.myarg
+ stop = %f
+endfunction
+
+global _OUTPUCMDFLAG_;
+_OUTPUCMDFLAG_ = 0;
+
+myobj = tlist(["T_MYSTUFF","myarg"]);
+myobj.myarg = 12;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-outputcommand",list(myoutputcmd2,myobj));
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+assert_checkequal ( _OUTPUCMDFLAG_ , 12 );
+nm = neldermead_destroy(nm);
+
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_restart.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_restart.dia.ref
new file mode 100755
index 000000000..d224176f4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_restart.dia.ref
@@ -0,0 +1,67 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test with default NM
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0].');
+nm = neldermead_search(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_restart(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_destroy(nm);
+//
+// Test with and maximum number of iterations reached
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0].');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm);
+optimbase_terminate: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+nm = neldermead_configure(nm,"-maxiter",100);
+nm = neldermead_restart(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+assert_checktrue(neldermead_get(nm,"-iterations")>10);
+nm = neldermead_destroy(nm);
+function [ f , index ] = objfun ( x , index )
+ f = exp(x(1))*(4*x(1)^2+2*x(2)^2+x(1)*x(2)+2*x(2));
+endfunction
+xopt = [4/31;-33/62];
+fopt = -%e^(4/31)/2;
+//
+// Test with "difficult case"
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",objfun);
+nm = neldermead_configure(nm,"-x0",[-1 1].');
+nm = neldermead_search(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_restart(nm);
+xc = neldermead_get(nm,"-xopt");
+fc = neldermead_get(nm,"-fopt");
+assert_checkalmostequal(xc,xopt,1.e-7);
+assert_checkalmostequal(fc,fopt,1.e-15);
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_restart.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_restart.tst
new file mode 100755
index 000000000..73e949e4e
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_restart.tst
@@ -0,0 +1,65 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+
+//
+// Test with default NM
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0].');
+nm = neldermead_search(nm);
+nm = neldermead_restart(nm);
+nm = neldermead_destroy(nm);
+//
+// Test with and maximum number of iterations reached
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0].');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm);
+nm = neldermead_configure(nm,"-maxiter",100);
+nm = neldermead_restart(nm);
+assert_checktrue(neldermead_get(nm,"-iterations")>10);
+nm = neldermead_destroy(nm);
+
+function [ f , index ] = objfun ( x , index )
+ f = exp(x(1))*(4*x(1)^2+2*x(2)^2+x(1)*x(2)+2*x(2));
+endfunction
+xopt = [4/31;-33/62];
+fopt = -%e^(4/31)/2;
+//
+// Test with "difficult case"
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",objfun);
+nm = neldermead_configure(nm,"-x0",[-1 1].');
+nm = neldermead_search(nm);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_restart(nm);
+xc = neldermead_get(nm,"-xopt");
+fc = neldermead_get(nm,"-fopt");
+assert_checkalmostequal(xc,xopt,1.e-7);
+assert_checkalmostequal(fc,fopt,1.e-15);
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.dia.ref
new file mode 100755
index 000000000..e92bff1e8
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.dia.ref
@@ -0,0 +1,595 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// Reference:
+//
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : what to compute
+// if index=2, returns f
+// if index=5, returns c
+// if index=6, returns f and c
+// Note
+// The inequality constraints are expected to be positive.
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+function [ f , c , index ] = optimtestcase2 ( x , index )
+ f = []
+ c = []
+ x2 = x.^2
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = [1 1 2 1]*x2 + [-5 -5 -21 7]*x
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = [-1 -1 -1 -1]*x2 + [-1 1 -1 1]*x + 8
+ c2 = [-1 -2 -1 -2]*x2 + [1 0 0 1]*x + 10
+ c3 = [-2 -1 -1 0]*x2 + [-2 1 0 1]*x + 5
+ c = [c1 c2 c3]
+ end
+endfunction
+//
+// Test the function.
+//
+xstar = [0.0 1.0 2.0 -1.0]';
+fstar = -44;
+[ f , c , index ] = optimtestcase ( xstar , 6 );
+assert_checkequal ( f , fstar );
+assert_checkequal ( c , [0 1 0] );
+//
+[ f , c , index ] = optimtestcase2 ( xstar , 6 );
+assert_checkequal ( f , fstar );
+assert_checkequal ( c , [0 1 0] );
+//
+// Test with Box algorithm and default axes initial simplex
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.5 1.0 -0.5]');
+nm = neldermead_configure(nm,"-maxiter",400);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1 , 1.e-1);
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and restart
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-1);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_search(nm);
+nm = neldermead_restart(nm);
+optimbase_terminate: Exiting: Maximum number of function evaluations has been exceeded
+ - increase MaxFunEvals option.
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxfuneval" );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and default axes initial simplex
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",400);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-3 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and randomized bounds simplex.
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+// Here the initial simplex is computed with Box randomized bounds method
+// and default number of points in the simplex, i.e. 2n = 2 * 4 = 8.
+//
+// The convergence is not accurate in this case, whatever the
+// value of the relative tolerance on simplex size.
+//
+//
+// Initialize the random number generator, so that the results are always the
+// same.
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-0 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-1 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 8 );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and randomized bounds simplex.
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+// Here the initial simplex is computed with Box randomized bounds method
+// and user-defined number of points in the simplex, i.e. 6
+//
+//
+// Initialize the random number generator, so that the results are always the
+// same.
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_configure(nm,"-boxnbpoints",6);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 6 );
+nm = neldermead_destroy(nm);
+//
+// Test with "tocenter"
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_configure(nm,"-boxnbpoints",6);
+nm = neldermead_configure(nm,"-scalingsimplex0","tocenter");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 6 );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and given simplex.
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+// Here the initial simplex is user-defined.
+// Makes sure that all auxiliary computations are performed.
+// I put the solution as the last point, to see what happens
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0method","given");
+coords = [
+0.0 0.0 0.0 0.0
+1.0 0.0 0.0 0.0
+0.0 1.0 0.0 0.0
+0.0 0.0 1.0 0.0
+0.0 0.0 0.0 1.0
+1.0 1.0 1.0 1.0
+0.0 1.0 2.0 -1.0
+];
+nm = neldermead_configure(nm,"-coords0",coords);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-4 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 7 );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and randomized bounds simplex.
+// Test that verbose mode works fine.
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-3);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-verbosetermination",1);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm, "off");
+Function Evaluation #1, index=1, x= [0 0 0 0]
+Function Evaluation #2, index=2, x= [0 0 0 0]
+Function Evaluation #3, index=5, x= [0 0 0 0]
+Function Evaluation #4, index=6, x= [0 0 0 0]
+Function Evaluation #5, index=5, x= [0 0 0 0]
+Scaling initial simplex into nonlinear inequality constraints...
+Scaling vertex #2/8 at [-5.7735027 5.1208771 -9.9955773 -3.3934582]...
+ > After projection into bounds p = [-5.7735027 5.1208771 -9.9955773 -3.3934582]
+Function Evaluation #6, index=5, x= [-5.7735027 5.1208771 -9.9955773 -3.3934582]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #7, index=5, x= [-2.8867513 2.5604385 -4.9977887 -1.6967291]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #8, index=5, x= [-1.4433757 1.2802193 -2.4988943 -0.8483645]
+Inequality constraint #2/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.125
+Function Evaluation #9, index=5, x= [-0.7216878 0.6401096 -1.2494472 -0.4241823]
+ > After scaling into inequality constraints p = [-0.7216878 0.6401096 -1.2494472 -0.4241823]
+Scaling vertex #3/8 at [3.3076221 2.5678358 6.9949047 3.7146204]...
+ > After projection into bounds p = [3.3076221 2.5678358 6.9949047 3.7146204]
+Function Evaluation #10, index=5, x= [3.3076221 2.5678358 6.9949047 3.7146204]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #11, index=5, x= [1.653811 1.2839179 3.4974524 1.8573102]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #12, index=5, x= [0.8269055 0.6419589 1.7487262 0.9286551]
+ > After scaling into inequality constraints p = [0.8269055 0.6419589 1.7487262 0.9286551]
+Scaling vertex #4/8 at [7.5643296 -8.6325193 1.2169721 3.2471387]...
+ > After projection into bounds p = [7.5643296 -8.6325193 1.2169721 3.2471387]
+Function Evaluation #13, index=5, x= [7.5643296 -8.6325193 1.2169721 3.2471387]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #14, index=5, x= [3.7821648 -4.3162596 0.6084861 1.6235694]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #15, index=5, x= [1.8910824 -2.1581298 0.3042430 0.8117847]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.125
+Function Evaluation #16, index=5, x= [0.9455412 -1.0790649 0.1521215 0.4058923]
+Inequality constraint #3/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.0625
+Function Evaluation #17, index=5, x= [0.4727706 -0.5395325 0.0760608 0.2029462]
+ > After scaling into inequality constraints p = [0.4727706 -0.5395325 0.0760608 0.2029462]
+Scaling vertex #5/8 at [4.5270135 -6.0297123 0.8851463 -5.3585042]...
+ > After projection into bounds p = [4.5270135 -6.0297123 0.8851463 -5.3585042]
+Function Evaluation #18, index=5, x= [4.5270135 -6.0297123 0.8851463 -5.3585042]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #19, index=5, x= [2.2635068 -3.0148562 0.4425732 -2.6792521]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #20, index=5, x= [1.1317534 -1.5074281 0.2212866 -1.3396261]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.125
+Function Evaluation #21, index=5, x= [0.5658767 -0.7537140 0.1106433 -0.6698130]
+ > After scaling into inequality constraints p = [0.5658767 -0.7537140 0.1106433 -0.6698130]
+Scaling vertex #6/8 at [-5.3755256 -5.6707347 7.6677756 3.0502699]...
+ > After projection into bounds p = [-5.3755256 -5.6707347 7.6677756 3.0502699]
+Function Evaluation #22, index=5, x= [-5.3755256 -5.6707347 7.6677756 3.0502699]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #23, index=5, x= [-2.6877628 -2.8353674 3.8338878 1.5251349]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #24, index=5, x= [-1.3438814 -1.4176837 1.9169439 0.7625675]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.125
+Function Evaluation #25, index=5, x= [-0.6719407 -0.7088418 0.9584720 0.3812837]
+ > After scaling into inequality constraints p = [-0.6719407 -0.7088418 0.9584720 0.3812837]
+Scaling vertex #7/8 at [-3.8478185 8.6592324 -5.7079843 -3.7471601]...
+ > After projection into bounds p = [-3.8478185 8.6592324 -5.7079843 -3.7471601]
+Function Evaluation #26, index=5, x= [-3.8478185 8.6592324 -5.7079843 -3.7471601]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #27, index=5, x= [-1.9239093 4.3296162 -2.8539921 -1.87358]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #28, index=5, x= [-0.9619546 2.1648081 -1.4269961 -0.9367900]
+Inequality constraint #2/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.125
+Function Evaluation #29, index=5, x= [-0.4809773 1.0824041 -0.7134980 -0.4683950]
+ > After scaling into inequality constraints p = [-0.4809773 1.0824041 -0.7134980 -0.4683950]
+Scaling vertex #8/8 at [-2.767278 -4.1554667 1.3284976 -0.3470561]...
+ > After projection into bounds p = [-2.767278 -4.1554667 1.3284976 -0.3470561]
+Function Evaluation #30, index=5, x= [-2.767278 -4.1554667 1.3284976 -0.3470561]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.5
+Function Evaluation #31, index=5, x= [-1.383639 -2.0777334 0.6642488 -0.1735280]
+Inequality constraint #1/3 is not satisfied for x
+Scaling inequality constraint with alpha = 0.25
+Function Evaluation #32, index=5, x= [-0.6918195 -1.0388667 0.3321244 -0.0867640]
+ > After scaling into inequality constraints p = [-0.6918195 -1.0388667 0.3321244 -0.0867640]
+Function Evaluation #33, index=2, x= [0 0 0 0]
+Function Evaluation #34, index=2, x= [-0.7216878 0.6401096 -1.2494472 -0.4241823]
+Function Evaluation #35, index=2, x= [0.8269055 0.6419589 1.7487262 0.9286551]
+Function Evaluation #36, index=2, x= [0.4727706 -0.5395325 0.0760608 0.2029462]
+Function Evaluation #37, index=2, x= [0.5658767 -0.7537140 0.1106433 -0.6698130]
+Function Evaluation #38, index=2, x= [-0.6719407 -0.7088418 0.9584720 0.3812837]
+Function Evaluation #39, index=2, x= [-0.4809773 1.0824041 -0.7134980 -0.4683950]
+Function Evaluation #40, index=2, x= [-0.6918195 -1.0388667 0.3321244 -0.0867640]
+Step #1 : order
+=================================================================
+Iteration #1 (total = 1)
+Function Eval #40
+Xopt : [0.8269055 0.6419589 1.7487262 0.9286551]
+Fopt : -29.492616
+DeltaFv : 57.402362
+Center : [-0.0876091 -0.0845603 0.1578852 -0.0170337]
+Size : 3.6355683
+Optim Simplex Object:
+=====================
+nbve: 8
+n: 4
+x: 8-by-4 matrix
+fv: 8-by-1 matrix
+Reflect
+xbar=[0.0029736 -0.1880846 0.3589327 0.0411304]
+_boxlinesearch
+> xhigh=[-0.7216878 0.6401096 -1.2494472 -0.4241823], fhigh=27.909746
+> xbar=[0.0029736 -0.1880846 0.3589327 0.0411304]
+> xr = [0.9450335 -1.264737 2.4498264 0.6460369]
+Function Evaluation #41, index=5, x= [0.9450335 -1.264737 2.4498264 0.6460369]
+Inequality constraint #1/3 is not satisfied for x
+Function Evaluation #42, index=5, x= [0.4740036 -0.7264108 1.4043795 0.3435837]
+Function Evaluation #43, index=2, x= [0.4740036 -0.7264108 1.4043795 0.3435837]
+xr=[0.4740036 -0.7264108 1.4043795 0.3435837], f(xr)=-21.009883
+ > Perform Reflection
+Sort
+=================================================================
+Iteration #2 (total = 2)
+Function Eval #43
+Xopt : [0.8269055 0.6419589 1.7487262 0.9286551]
+Fopt : -29.492616
+DeltaFv : 40.830666
+Center : [0.0618524 -0.2553754 0.4896135 0.0789371]
+Size : 3.14942
+Optim Simplex Object:
+=====================
+nbve: 8
+n: 4
+x: 8-by-4 matrix
+fv: 8-by-1 matrix
+ > Termination ?
+ > iterations=2 >= maxiter=5
+ > funevals=43 >= maxfunevals=1000
+ > e(x)=0.4132440 < 1.490D-08 * 0.5612439 + 0
+ > Terminate = F, status = continue
+ > simplex size=3.14942 < 0 + 0.001 * 2.239716
+ > Terminate = F, status = continue
+Reflect
+xbar=[0.1393995 -0.4464867 0.6614866 0.1571274]
+_boxlinesearch
+> xhigh=[-0.4809773 1.0824041 -0.7134980 -0.4683950], fhigh=11.33805
+> xbar=[0.1393995 -0.4464867 0.6614866 0.1571274]
+> xr = [0.9458893 -2.4340447 2.4489666 0.9703065]
+Function Evaluation #44, index=5, x= [0.9458893 -2.4340447 2.4489666 0.9703065]
+Inequality constraint #1/3 is not satisfied for x
+Function Evaluation #45, index=5, x= [0.5426444 -1.4402657 1.5552266 0.5637169]
+Inequality constraint #1/3 is not satisfied for x
+Function Evaluation #46, index=5, x= [0.3410219 -0.9433762 1.1083566 0.3604222]
+Function Evaluation #47, index=2, x= [0.3410219 -0.9433762 1.1083566 0.3604222]
+xr=[0.3410219 -0.9433762 1.1083566 0.3604222], f(xr)=-14.147695
+ > Perform Reflection
+Sort
+=================================================================
+Iteration #3 (total = 3)
+Function Eval #47
+Xopt : [0.8269055 0.6419589 1.7487262 0.9286551]
+Fopt : -29.492616
+DeltaFv : 32.350085
+Center : [0.1646023 -0.5085979 0.7173453 0.1825392]
+Size : 2.8582402
+Optim Simplex Object:
+=====================
+nbve: 8
+n: 4
+x: 8-by-4 matrix
+fv: 8-by-1 matrix
+ > Termination ?
+ > iterations=3 >= maxiter=5
+ > funevals=47 >= maxfunevals=1000
+ > e(x)=0.3705056 < 1.490D-08 * 0.9130556 + 0
+ > Terminate = F, status = continue
+ > simplex size=2.8582402 < 0 + 0.001 * 2.239716
+ > Terminate = F, status = continue
+Reflect
+xbar=[0.2869482 -0.4328452 0.7723769 0.2210111]
+_boxlinesearch
+> xhigh=[-0.6918195 -1.0388667 0.3321244 -0.0867640], fhigh=2.8574697
+> xbar=[0.2869482 -0.4328452 0.7723769 0.2210111]
+> xr = [1.5593463 0.3549827 1.3447051 0.6211188]
+Function Evaluation #48, index=5, x= [1.5593463 0.3549827 1.3447051 0.6211188]
+Inequality constraint #3/3 is not satisfied for x
+Function Evaluation #49, index=5, x= [0.9231472 -0.0389312 1.058541 0.4210649]
+Function Evaluation #50, index=2, x= [0.9231472 -0.0389312 1.058541 0.4210649]
+xr=[0.9231472 -0.0389312 1.058541 0.4210649], f(xr)=-20.430956
+ > Perform Reflection
+Sort
+=================================================================
+Iteration #4 (total = 4)
+Function Eval #50
+Xopt : [0.8269055 0.6419589 1.7487262 0.9286551]
+Fopt : -29.492616
+DeltaFv : 30.217137
+Center : [0.3664731 -0.3836060 0.8081474 0.2460178]
+Size : 2.6934096
+Optim Simplex Object:
+=====================
+nbve: 8
+n: 4
+x: 8-by-4 matrix
+fv: 8-by-1 matrix
+ > Termination ?
+ > iterations=4 >= maxiter=5
+ > funevals=50 >= maxfunevals=1000
+ > e(x)=0.2620103 < 1.490D-08 * 0.9975385 + 0
+ > Terminate = F, status = continue
+ > simplex size=2.6934096 < 0 + 0.001 * 2.239716
+ > Terminate = F, status = continue
+Reflect
+xbar=[0.3512877 -0.3613307 0.9127312 0.2521709]
+_boxlinesearch
+> xhigh=[0.4727706 -0.5395325 0.0760608 0.2029462], fhigh=0.7245215
+> xbar=[0.3512877 -0.3613307 0.9127312 0.2521709]
+> xr = [0.1933600 -0.1296685 2.0004028 0.3161631]
+Function Evaluation #51, index=5, x= [0.1933600 -0.1296685 2.0004028 0.3161631]
+Function Evaluation #52, index=2, x= [0.1933600 -0.1296685 2.0004028 0.3161631]
+xr=[0.1933600 -0.1296685 2.0004028 0.3161631], f(xr)=-31.956391
+ > Perform Reflection
+Sort
+=================================================================
+Iteration #5 (total = 5)
+Function Eval #52
+Xopt : [0.1933600 -0.1296685 2.0004028 0.3161631]
+Fopt : -31.956391
+DeltaFv : 31.956391
+Center : [0.3315468 -0.3323730 1.0486902 0.2601700]
+Size : 2.2520083
+Optim Simplex Object:
+=====================
+nbve: 8
+n: 4
+x: 8-by-4 matrix
+fv: 8-by-1 matrix
+ > Termination ?
+ > iterations=5 >= maxiter=5
+ > Terminate = T, status = maxiter
+ > Terminate = T, status = maxiter
+Terminate with status : maxiter
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.tst
new file mode 100755
index 000000000..6f956ec8d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_rosensuzuki.tst
@@ -0,0 +1,358 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+
+//
+// Reference:
+//
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : what to compute
+// if index=2, returns f
+// if index=5, returns c
+// if index=6, returns f and c
+// Note
+// The inequality constraints are expected to be positive.
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+
+function [ f , c , index ] = optimtestcase2 ( x , index )
+ f = []
+ c = []
+ x2 = x.^2
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = [1 1 2 1]*x2 + [-5 -5 -21 7]*x
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = [-1 -1 -1 -1]*x2 + [-1 1 -1 1]*x + 8
+ c2 = [-1 -2 -1 -2]*x2 + [1 0 0 1]*x + 10
+ c3 = [-2 -1 -1 0]*x2 + [-2 1 0 1]*x + 5
+ c = [c1 c2 c3]
+ end
+endfunction
+
+//
+// Test the function.
+//
+xstar = [0.0 1.0 2.0 -1.0]';
+fstar = -44;
+[ f , c , index ] = optimtestcase ( xstar , 6 );
+assert_checkequal ( f , fstar );
+assert_checkequal ( c , [0 1 0] );
+//
+[ f , c , index ] = optimtestcase2 ( xstar , 6 );
+assert_checkequal ( f , fstar );
+assert_checkequal ( c , [0 1 0] );
+
+//
+// Test with Box algorithm and default axes initial simplex
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.5 1.0 -0.5]');
+nm = neldermead_configure(nm,"-maxiter",400);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1 , 1.e-1);
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+
+//
+// Test with Box algorithm and restart
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-1);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_search(nm);
+nm = neldermead_restart(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxfuneval" );
+nm = neldermead_destroy(nm);
+
+//
+// Test with Box algorithm and default axes initial simplex
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",400);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-3 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and randomized bounds simplex.
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+// Here the initial simplex is computed with Box randomized bounds method
+// and default number of points in the simplex, i.e. 2n = 2 * 4 = 8.
+//
+// The convergence is not accurate in this case, whatever the
+// value of the relative tolerance on simplex size.
+//
+//
+// Initialize the random number generator, so that the results are always the
+// same.
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-0 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-1 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 8 );
+nm = neldermead_destroy(nm);
+
+
+//
+// Test with Box algorithm and randomized bounds simplex.
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+// Here the initial simplex is computed with Box randomized bounds method
+// and user-defined number of points in the simplex, i.e. 6
+//
+//
+// Initialize the random number generator, so that the results are always the
+// same.
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_configure(nm,"-boxnbpoints",6);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 6 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with "tocenter"
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_configure(nm,"-boxnbpoints",6);
+nm = neldermead_configure(nm,"-scalingsimplex0","tocenter");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-1, 1e-1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-2 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 6 );
+nm = neldermead_destroy(nm);
+//
+// Test with Box algorithm and given simplex.
+// Add bounds and simplex initial length so that there is a need
+// for variable projection.
+// Here the initial simplex is user-defined.
+// Makes sure that all auxiliary computations are performed.
+// I put the solution as the last point, to see what happens
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-2);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0method","given");
+coords = [
+0.0 0.0 0.0 0.0
+1.0 0.0 0.0 0.0
+0.0 1.0 0.0 0.0
+0.0 0.0 1.0 0.0
+0.0 0.0 0.0 1.0
+1.0 1.0 1.0 1.0
+0.0 1.0 2.0 -1.0
+];
+nm = neldermead_configure(nm,"-coords0",coords);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0 1.0 2.0 -1.0]', 1e-2 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , -44.0 , 1e-4 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Check the optimum simplex
+simplexopt = neldermead_get ( nm , "-simplexopt" );
+nbve = optimsimplex_getnbve ( simplexopt );
+assert_checkequal ( nbve , 7 );
+nm = neldermead_destroy(nm);
+
+//
+// Test with Box algorithm and randomized bounds simplex.
+// Test that verbose mode works fine.
+//
+rand("seed" , 0)
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-3);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-verbosetermination",1);
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0 10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_search.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_search.dia.ref
new file mode 100755
index 000000000..9250499bc
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_search.dia.ref
@@ -0,0 +1,102 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+//
+// Test search with various error cases
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-4);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+//
+// Test with inconsistent bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[-10.0 10.0 10.0 10.0]);
+instr = "nm = neldermead_search(nm)";
+lclmsg = gettext("%s: The max bound %s for variable #%d is lower than the min bound %s.\n");
+assert_checkerror ( instr , lclmsg , [] , "optimbase_checkbounds","-10",1,"10" );
+//
+// Test with wrong number of min bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[-10.0 10.0 10.0 10.0]);
+cmd = "nm = neldermead_search(nm)";
+lclmsg = gettext("%s: The number of variables %d does not match the number of min bounds: %d.\n");
+assert_checkerror ( cmd , lclmsg , [] , "optimbase_checkbounds" , 4 , 1);
+//
+// Test with wrong number of max bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[-10.0]);
+cmd = "nm = neldermead_search(nm)";
+lclmsg = gettext("%s: The number of variables %d does not match the number of max bounds: %d.\n");
+assert_checkerror ( cmd , lclmsg , [] , "optimbase_checkbounds" , 4 , 1);
+//
+// Test with Box algorithm and randomized bounds simplex and no bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[]);
+nm = neldermead_configure(nm,"-boundsmax",[]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+cmd = "nm = neldermead_search(nm)";
+assert_checkerror(cmd,"%s: Randomized bounds initial simplex is not available without bounds.",[],"neldermead_startup");
+//
+// Clean-up
+//
+nm = neldermead_destroy(nm);
+//
+// Test search with verbose to log file
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-logfile" , fullfile(TMPDIR,"search.txt" ));
+nm = neldermead_configure(nm,"-verbosetermination",1);
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+computed = deletefile(fullfile(TMPDIR,"search.txt"));
+assert_checkequal ( computed , %t );
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_search.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_search.tst
new file mode 100755
index 000000000..976792416
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_search.tst
@@ -0,0 +1,110 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+
+
+//
+// Test search with various error cases
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",1000);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-4);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+//
+// Test with inconsistent bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[-10.0 10.0 10.0 10.0]);
+instr = "nm = neldermead_search(nm)";
+lclmsg = gettext("%s: The max bound %s for variable #%d is lower than the min bound %s.\n");
+assert_checkerror ( instr , lclmsg , [] , "optimbase_checkbounds","-10",1,"10" );
+//
+// Test with wrong number of min bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[-10.0 10.0 10.0 10.0]);
+cmd = "nm = neldermead_search(nm)";
+lclmsg = gettext("%s: The number of variables %d does not match the number of min bounds: %d.\n");
+assert_checkerror ( cmd , lclmsg , [] , "optimbase_checkbounds" , 4 , 1);
+//
+// Test with wrong number of max bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[10.0 -10.0 -10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[-10.0]);
+cmd = "nm = neldermead_search(nm)";
+lclmsg = gettext("%s: The number of variables %d does not match the number of max bounds: %d.\n");
+assert_checkerror ( cmd , lclmsg , [] , "optimbase_checkbounds" , 4 , 1);
+//
+// Test with Box algorithm and randomized bounds simplex and no bounds
+//
+nm = neldermead_configure(nm,"-boundsmin",[]);
+nm = neldermead_configure(nm,"-boundsmax",[]);
+nm = neldermead_configure(nm,"-simplex0method","randbounds");
+cmd = "nm = neldermead_search(nm)";
+assert_checkerror(cmd,"%s: Randomized bounds initial simplex is not available without bounds.",[],"neldermead_startup");
+//
+// Clean-up
+//
+nm = neldermead_destroy(nm);
+
+
+//
+// Test search with verbose to log file
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0 0.0 0.0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-logfile" , fullfile(TMPDIR,"search.txt" ));
+nm = neldermead_configure(nm,"-verbosetermination",1);
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+computed = deletefile(fullfile(TMPDIR,"search.txt"));
+assert_checkequal ( computed , %t );
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.dia.ref
new file mode 100755
index 000000000..0c651bb05
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.dia.ref
@@ -0,0 +1,97 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// The _MYDATA_ variable name is chosen so that
+// no name conflict can possibly occur.
+//
+function [ y , index ] = rosenbrock ( x , index )
+ a = _MYDATA_.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+ _MYDATA_.nb = _MYDATA_.nb + 1
+endfunction
+x0 = [11.0 140.0]';
+//
+// Test with an additional argument
+//
+_MYDATA_ = tlist(["T_MYSTUFF","a","nb"]);
+_MYDATA_.a = 12.0;
+_MYDATA_.nb = 0;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// Check _MYDATA_.nb
+// The variable is just read, not written and the nb field
+// is not updated.
+assert_checkequal ( _MYDATA_.nb , 0 );
+// Cleanup
+nm = neldermead_destroy(nm);
+//
+// In this case, the mydata variable is passed
+// explicitely by the neldermead class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ y , index ] = rosenbrock2 ( x , index , mydata )
+ a = mydata.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+endfunction
+//
+// Test with an additional argument
+//
+mystuff = tlist(["T_MYSTUFF","a"]);
+mystuff.a = 12.0;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",list(rosenbrock2,mystuff));
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+nm = neldermead_destroy(nm);
+//
+// Use a global variable.
+//
+function [ y , index ] = rosenbrock3 ( x , index )
+ global _MYDATA_
+ a = _MYDATA_.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+ _MYDATA_.nb = _MYDATA_.nb + 1
+endfunction
+//
+// Test with an additional argument
+//
+global _MYDATA_
+_MYDATA_ = tlist(["T_MYSTUFF","a","nb"]);
+_MYDATA_.a = 12.0;
+_MYDATA_.nb = 0;
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock3);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// Check _MYDATA_.nb
+// The variable is not just read, it is also written and the nb field
+// IS updated.
+assert_checkequal ( _MYDATA_.nb > 10 , %T );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.tst
new file mode 100755
index 000000000..a2b94201c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchaddarg.tst
@@ -0,0 +1,114 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+//
+// The _MYDATA_ variable name is chosen so that
+// no name conflict can possibly occur.
+//
+function [ y , index ] = rosenbrock ( x , index )
+ a = _MYDATA_.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+ _MYDATA_.nb = _MYDATA_.nb + 1
+endfunction
+
+x0 = [11.0 140.0]';
+
+//
+// Test with an additional argument
+//
+_MYDATA_ = tlist(["T_MYSTUFF","a","nb"]);
+_MYDATA_.a = 12.0;
+_MYDATA_.nb = 0;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// Check _MYDATA_.nb
+// The variable is just read, not written and the nb field
+// is not updated.
+assert_checkequal ( _MYDATA_.nb , 0 );
+// Cleanup
+nm = neldermead_destroy(nm);
+
+//
+// In this case, the mydata variable is passed
+// explicitely by the neldermead class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ y , index ] = rosenbrock2 ( x , index , mydata )
+ a = mydata.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+endfunction
+
+//
+// Test with an additional argument
+//
+mystuff = tlist(["T_MYSTUFF","a"]);
+mystuff.a = 12.0;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",list(rosenbrock2,mystuff));
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+nm = neldermead_destroy(nm);
+
+//
+// Use a global variable.
+//
+function [ y , index ] = rosenbrock3 ( x , index )
+ global _MYDATA_
+ a = _MYDATA_.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+ _MYDATA_.nb = _MYDATA_.nb + 1
+endfunction
+
+//
+// Test with an additional argument
+//
+global _MYDATA_
+_MYDATA_ = tlist(["T_MYSTUFF","a","nb"]);
+_MYDATA_.a = 12.0;
+_MYDATA_.nb = 0;
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock3);
+nm = neldermead_configure(nm,"-x0",x0);
+nm = neldermead_configure(nm,"-maxfunevals",%inf);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_search(nm, "off");
+iter = neldermead_get(nm,"-iterations");
+assert_checkequal ( iter , 10 );
+// Check _MYDATA_.nb
+// The variable is not just read, it is also written and the nb field
+// IS updated.
+assert_checkequal ( _MYDATA_.nb > 10 , %T );
+nm = neldermead_destroy(nm);
+
+
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.dia.ref
new file mode 100755
index 000000000..5002d549e
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.dia.ref
@@ -0,0 +1,131 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Check behaviour with default settings.
+//
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_search(nm, "off");
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-4 );
+// Cleanup
+nm = neldermead_destroy(nm);
+clear nm;
+//% MCKINNON computes the McKinnon function.
+//
+// Discussion:
+//
+// This function has a global minimizer:
+//
+// X* = ( 0.0, -0.5 ), F(X*) = -0.25
+//
+// There are three parameters, TAU, THETA and PHI.
+//
+// 1 < TAU, then F is strictly convex.
+// and F has continuous first derivatives.
+// 2 < TAU, then F has continuous second derivatives.
+// 3 < TAU, then F has continuous third derivatives.
+//
+// However, this function can cause the Nelder-Mead optimization
+// algorithm to "converge" to a point which is not the minimizer
+// of the function F.
+//
+// Sample parameter values which cause problems for Nelder-Mead
+// include:
+//
+// TAU = 1, THETA = 15, PHI = 10;
+// TAU = 2, THETA = 6, PHI = 60;
+// TAU = 3, THETA = 6, PHI = 400;
+//
+// To get the bad behavior, we also assume the initial simplex has the form
+//
+// X1 = (0,0),
+// X2 = (1,1),
+// X3 = (A,B),
+//
+// where
+//
+// A = (1+sqrt(33))/8 = 0.84307...
+// B = (1-sqrt(33))/8 = -0.59307...
+//
+// Licensing:
+//
+// This code is distributed under the GNU LGPL license.
+//
+// Modified:
+//
+// 09 February 2008
+//
+// Author:
+//
+// John Burkardt
+//
+// Reference:
+//
+// Ken McKinnon,
+// Convergence of the Nelder-Mead simplex method to a nonstationary point,
+// SIAM Journal on Optimization,
+// Volume 9, Number 1, 1998, pages 148-158.
+//
+// Parameters:
+//
+// Input, real X(2), the argument of the function.
+//
+// Output, real F, the value of the function at X.
+//
+// Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port
+function [ f , index ] = mckinnon3 ( x , index )
+ if ( length ( x ) ~= 2 )
+ error ( 'Error: function expects a two dimensional input\n' );
+ end
+ tau = 3.0;
+ theta = 6.0;
+ phi = 400.0;
+ if ( x(1) <= 0.0 )
+ f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );
+ else
+ f = theta * x(1).^tau + x(2) * ( 1.0 + x(2) );
+ end
+endfunction
+lambda1 = (1.0 + sqrt(33.0))/8.0;
+lambda2 = (1.0 - sqrt(33.0))/8.0;
+coords0 = [
+1.0 1.0
+0.0 0.0
+lambda1 lambda2
+];
+//
+// Test wrong -restartdetection
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-verbosetermination",0);
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+instr = "nm = neldermead_configure(nm,""-restartdetection"",""foo"");";
+alloptions = """oneill"" or ""kelley""";
+assert_checkerror(instr,"%s: Expected value [%s] for input argument %s at input #%d, but got ""%s"" instead.",[],..
+ "neldermead_configure",alloptions,"value",3,"foo");
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.tst
new file mode 100755
index 000000000..61674a565
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchdefault.tst
@@ -0,0 +1,142 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Check behaviour with default settings.
+//
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.1 1.1]');
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_search(nm, "off");
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-4 );
+// Cleanup
+nm = neldermead_destroy(nm);
+clear nm;
+
+//% MCKINNON computes the McKinnon function.
+//
+// Discussion:
+//
+// This function has a global minimizer:
+//
+// X* = ( 0.0, -0.5 ), F(X*) = -0.25
+//
+// There are three parameters, TAU, THETA and PHI.
+//
+// 1 < TAU, then F is strictly convex.
+// and F has continuous first derivatives.
+// 2 < TAU, then F has continuous second derivatives.
+// 3 < TAU, then F has continuous third derivatives.
+//
+// However, this function can cause the Nelder-Mead optimization
+// algorithm to "converge" to a point which is not the minimizer
+// of the function F.
+//
+// Sample parameter values which cause problems for Nelder-Mead
+// include:
+//
+// TAU = 1, THETA = 15, PHI = 10;
+// TAU = 2, THETA = 6, PHI = 60;
+// TAU = 3, THETA = 6, PHI = 400;
+//
+// To get the bad behavior, we also assume the initial simplex has the form
+//
+// X1 = (0,0),
+// X2 = (1,1),
+// X3 = (A,B),
+//
+// where
+//
+// A = (1+sqrt(33))/8 = 0.84307...
+// B = (1-sqrt(33))/8 = -0.59307...
+//
+// Licensing:
+//
+// This code is distributed under the GNU LGPL license.
+//
+// Modified:
+//
+// 09 February 2008
+//
+// Author:
+//
+// John Burkardt
+//
+// Reference:
+//
+// Ken McKinnon,
+// Convergence of the Nelder-Mead simplex method to a nonstationary point,
+// SIAM Journal on Optimization,
+// Volume 9, Number 1, 1998, pages 148-158.
+//
+// Parameters:
+//
+// Input, real X(2), the argument of the function.
+//
+// Output, real F, the value of the function at X.
+//
+// Copyright (C) 2009 - INRIA - Michael Baudin, Scilab port
+
+function [ f , index ] = mckinnon3 ( x , index )
+
+ if ( length ( x ) ~= 2 )
+ error ( 'Error: function expects a two dimensional input\n' );
+ end
+
+ tau = 3.0;
+ theta = 6.0;
+ phi = 400.0;
+
+ if ( x(1) <= 0.0 )
+ f = theta * phi * abs ( x(1) ).^tau + x(2) * ( 1.0 + x(2) );
+ else
+ f = theta * x(1).^tau + x(2) * ( 1.0 + x(2) );
+ end
+endfunction
+
+lambda1 = (1.0 + sqrt(33.0))/8.0;
+lambda2 = (1.0 - sqrt(33.0))/8.0;
+coords0 = [
+1.0 1.0
+0.0 0.0
+lambda1 lambda2
+];
+
+//
+// Test wrong -restartdetection
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",mckinnon3);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-maxiter",300);
+nm = neldermead_configure(nm,"-maxfunevals",500);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-verbosetermination",0);
+nm = neldermead_configure(nm,"-kelleystagnationflag",%t);
+nm = neldermead_configure(nm,"-restartflag",%t);
+instr = "nm = neldermead_configure(nm,""-restartdetection"",""foo"");";
+alloptions = """oneill"" or ""kelley""";
+assert_checkerror(instr,"%s: Expected value [%s] for input argument %s at input #%d, but got ""%s"" instead.",[],..
+ "neldermead_configure",alloptions,"value",3,"foo");
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.dia.ref
new file mode 100755
index 000000000..b9a578b95
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.dia.ref
@@ -0,0 +1,316 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function [ y , index ] = squarefun ( x , index )
+y = x(1)^2+x(2)^2;
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",0.5);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0, 1e-6 );
+nm = neldermead_destroy(nm);
+//
+// Interrupt the algorithm when done.
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-function",squarefun);
+// Set the relative size to zero: it should never stop...
+nm = neldermead_configure(nm,"-tolsimplexizerelative",0.0);
+nm = neldermead_search(nm, "off");
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0, 1e-6 );
+nm = neldermead_destroy(nm);
+//
+// Check verbose mode on a few iterations.
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-verbose",1);
+// Set the relative size to zero: it should never stop...
+nm = neldermead_configure(nm,"-tolsimplexizerelative",0.0);
+nm = neldermead_search(nm, "off");
+Function Evaluation #1, index=1, x= [1 1]
+Function Evaluation #2, index=2, x= [1 1]
+Function Evaluation #3, index=2, x= [1 1]
+Function Evaluation #4, index=2, x= [2 1]
+Function Evaluation #5, index=2, x= [1 2]
+Sort
+=================================================================
+Iteration #1 (total = 1)
+Function Eval #5
+Xopt : [1 1]
+Fopt : 2
+DeltaFv : 3
+Center : [1.3333333 1.3333333]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=1.5 1
+Function Evaluation #6, index=2, x= [2 0]
+xr=2 0, f(xr)=4.000000
+ > Perform reflect
+=================================================================
+Iteration #2 (total = 2)
+Function Eval #6
+Xopt : [1 1]
+Fopt : 2
+DeltaFv : 3
+Center : [1.6666667 0.6666667]
+Size : 1.4142136
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=1.5 0.5
+Function Evaluation #7, index=2, x= [1 0]
+xr=1 0, f(xr)=1.000000
+ > Perform reflect
+=================================================================
+Iteration #3 (total = 3)
+Function Eval #7
+Xopt : [1 0]
+Fopt : 1
+DeltaFv : 3
+Center : [1.3333333 0.3333333]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=1 0.5
+Function Evaluation #8, index=2, x= [0 1]
+xr=0 1, f(xr)=1.000000
+ > Perform reflect
+=================================================================
+Iteration #4 (total = 4)
+Function Eval #8
+Xopt : [1 0]
+Fopt : 1
+DeltaFv : 1
+Center : [0.6666667 0.6666667]
+Size : 1.4142136
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=0.5 0.5
+Function Evaluation #9, index=2, x= [0 0]
+xr=0 0, f(xr)=0.000000
+ > Perform reflect
+=================================================================
+Iteration #5 (total = 5)
+Function Eval #9
+Xopt : [0 0]
+Fopt : 0
+DeltaFv : 1
+Center : [0.3333333 0.3333333]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Terminate with status : maxiter
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0, 1e-6 );
+nm = neldermead_destroy(nm);
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_search(nm, "off");
+// With fixed-size simplices, one cannot lead the
+// simplex to the optimum.
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , 1e1 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxfuneval" );
+// Cleanup
+nm = neldermead_destroy(nm);
+// Check that the verbose mode is functional
+// Few iterations are necessary to check this
+// Many iterations costs a lot more in time.
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-verbosetermination",0);
+nm = neldermead_search(nm, "off");
+Function Evaluation #1, index=1, x= [-1.2 1]
+Function Evaluation #2, index=2, x= [-1.2 1]
+Function Evaluation #3, index=2, x= [-1.2 1]
+Function Evaluation #4, index=2, x= [-0.2 1]
+Function Evaluation #5, index=2, x= [-1.2 2]
+Sort
+=================================================================
+Iteration #1 (total = 1)
+Function Eval #5
+Xopt : [-1.2 1]
+Fopt : 24.2
+DeltaFv : 69.4
+Center : [-0.8666667 1.3333333]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=-1.2 1.5
+Function Evaluation #6, index=2, x= [-2.2 2]
+xr=-2.2 2, f(xr)=816.800000
+xbar2=-0.7 1
+Function Evaluation #7, index=2, x= [-0.2 0]
+xr2=-0.2 0, f(xr2)=1.600000
+ > Perform reflect / next
+=================================================================
+Iteration #2 (total = 2)
+Function Eval #7
+Xopt : [-0.2 0]
+Fopt : 1.6
+DeltaFv : 92
+Center : [-0.5333333 0.6666667]
+Size : 1.4142136
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=-0.7 0.5
+Function Evaluation #8, index=2, x= [-1.2 0]
+xr=-1.2 0, f(xr)=212.200000
+xbar2=-0.2 0.5
+Function Evaluation #9, index=2, x= [0.8 0]
+xr2=0.8 0, f(xr2)=41.000000
+ > Perform Shrink
+Function Evaluation #10, index=2, x= [-0.7 0.5]
+Function Evaluation #11, index=2, x= [-0.2 0.5]
+=================================================================
+Iteration #3 (total = 3)
+Function Eval #11
+Xopt : [-0.2 0]
+Fopt : 1.6
+DeltaFv : 21
+Center : [-0.3666667 0.3333333]
+Size : 0.7071068
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=-0.45 0.25
+Function Evaluation #12, index=2, x= [-0.7 0]
+xr=-0.7 0, f(xr)=26.900000
+xbar2=-0.2 0.25
+Function Evaluation #13, index=2, x= [0.3 0]
+xr2=0.3 0, f(xr2)=1.300000
+ > Perform reflect / next
+=================================================================
+Iteration #4 (total = 4)
+Function Eval #13
+Xopt : [0.3 0]
+Fopt : 1.3
+DeltaFv : 21.3
+Center : [-0.0333333 0.1666667]
+Size : 0.7071068
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=0.05 0
+Function Evaluation #14, index=2, x= [0.3 -0.5]
+xr=0.3 -0.5, f(xr)=35.300000
+xbar2=0.05 0.25
+Function Evaluation #15, index=2, x= [0.3 0.5]
+xr2=0.3 0.5, f(xr2)=17.300000
+ > Perform Shrink
+Function Evaluation #16, index=2, x= [0.05 0]
+Function Evaluation #17, index=2, x= [0.05 0.25]
+=================================================================
+Iteration #5 (total = 5)
+Function Eval #17
+Xopt : [0.05 0]
+Fopt : 0.903125
+DeltaFv : 6.125
+Center : [0.1333333 0.0833333]
+Size : 0.25
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Terminate with status : maxiter
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxiter" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.tst
new file mode 100755
index 000000000..5fcbc715f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchfixed.tst
@@ -0,0 +1,116 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function [ y , index ] = squarefun ( x , index )
+ y = x(1)^2+x(2)^2;
+endfunction
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",0.5);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0, 1e-6 );
+nm = neldermead_destroy(nm);
+
+//
+// Interrupt the algorithm when done.
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-function",squarefun);
+// Set the relative size to zero: it should never stop...
+nm = neldermead_configure(nm,"-tolsimplexizerelative",0.0);
+nm = neldermead_search(nm, "off");
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0, 1e-6 );
+nm = neldermead_destroy(nm);
+//
+// Check verbose mode on a few iterations.
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 1.0]');
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-verbose",1);
+// Set the relative size to zero: it should never stop...
+nm = neldermead_configure(nm,"-tolsimplexizerelative",0.0);
+nm = neldermead_search(nm, "off");
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [0.0;0.0], 1e-6 );
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0, 1e-6 );
+nm = neldermead_destroy(nm);
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_search(nm, "off");
+// With fixed-size simplices, one cannot lead the
+// simplex to the optimum.
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e1 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , 1e1 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxfuneval" );
+// Cleanup
+nm = neldermead_destroy(nm);
+
+// Check that the verbose mode is functional
+// Few iterations are necessary to check this
+// Many iterations costs a lot more in time.
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-maxfunevals",200);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-verbosetermination",0);
+nm = neldermead_search(nm, "off");
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxiter" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.dia.ref
new file mode 100755
index 000000000..71e997d86
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.dia.ref
@@ -0,0 +1,224 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test on Rosenbrock test case
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-storehistory",%t);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-6 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-6 );
+// Check function value history
+historyfopt = neldermead_get(nm,"-historyfopt");
+iterations = neldermead_get(nm,"-iterations");
+sizefopt = size(historyfopt);
+assert_checkequal ( [iterations 1], sizefopt );
+// Check number of function evaluations
+funevals = neldermead_get(nm,"-funevals");
+assert_checkequal ( (funevals < 300) , %T )
+ ans =
+
+ T
+// Check optimum history
+historyxopt = neldermead_get(nm,"-historyxopt");
+sizexopt = size(historyxopt);
+assert_checkequal ( iterations, sizexopt );
+// Check simplex history
+historysimplex = neldermead_get(nm,"-historysimplex");
+sizexsimplex = size(historysimplex);
+assert_checkequal ( [iterations 3 2], sizexsimplex );
+// Check fx0
+fx0 = neldermead_get(nm,"-fx0");
+assert_checkalmostequal ( fx0 , 24.2 , 10*%eps );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Cleanup
+nm = neldermead_destroy(nm);
+// Check that the verbose mode is functional
+// Few iterations are necessary to check this
+// Many iterations costs a lot more in time.
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-verbosetermination",1);
+nm = neldermead_configure(nm,"-storehistory",%t);
+nm = neldermead_search(nm, "off");
+Function Evaluation #1, index=1, x= [-1.2 1]
+Function Evaluation #2, index=2, x= [-1.2 1]
+Function Evaluation #3, index=2, x= [-1.2 1]
+Function Evaluation #4, index=2, x= [-0.2 1]
+Function Evaluation #5, index=2, x= [-1.2 2]
+Step #1 : order
+=================================================================
+Iteration #1 (total = 1)
+Function Eval #5
+Xopt : [-1.2 1]
+Fopt : 24.2
+DeltaFv : 69.4
+Center : [-0.8666667 1.3333333]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+Reflect
+xbar=-1.2 1.5
+Function Evaluation #6, index=2, x= [-2.2 2]
+xr=[-2.2 2], f(xr)=816.800000
+Contract - inside
+Function Evaluation #7, index=2, x= [-0.7 1.25]
+xc=-0.7 1.25, f(xc)=60.650000
+ > Perform Inside Contraction
+Sort
+=================================================================
+Iteration #2 (total = 2)
+Function Eval #7
+Xopt : [-1.2 1]
+Fopt : 24.2
+DeltaFv : 36.45
+Center : [-1.0333333 1.4166667]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+ > Termination ?
+ > iterations=2 >= maxiter=5
+ > funevals=7 >= maxfunevals=300
+ > e(x)=0.186339 < 2.220D-15 * 1.7534886 + 0
+ > Terminate = F, status = continue
+ > simplex size=1 < 0 + 0.000001 * 1
+ > Terminate = F, status = continue
+Reflect
+xbar=-1.2 1.5
+Function Evaluation #8, index=2, x= [-1.7 1.75]
+xr=[-1.7 1.75], f(xr)=137.250000
+Contract - inside
+Function Evaluation #9, index=2, x= [-0.95 1.375]
+xc=-0.95 1.375, f(xc)=26.128125
+ > Perform Inside Contraction
+Sort
+=================================================================
+Iteration #3 (total = 3)
+Function Eval #9
+Xopt : [-1.2 1]
+Fopt : 24.2
+DeltaFv : 12
+Center : [-1.1166667 1.4583333]
+Size : 1
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+ > Termination ?
+ > iterations=3 >= maxiter=5
+ > funevals=9 >= maxfunevals=300
+ > e(x)=0.0931695 < 2.220D-15 * 1.8367582 + 0
+ > Terminate = F, status = continue
+ > simplex size=1 < 0 + 0.000001 * 1
+ > Terminate = F, status = continue
+Reflect
+xbar=-1.075 1.1875
+Function Evaluation #10, index=2, x= [-0.95 0.375]
+xr=[-0.95 0.375], f(xr)=31.628125
+Contract - outside
+Function Evaluation #11, index=2, x= [-1.0125 0.78125]
+xc=-1.0125 0.78125, f(xc)=9.999182
+ > Perform Outside Contraction
+Sort
+=================================================================
+Iteration #4 (total = 4)
+Function Eval #11
+Xopt : [-1.0125 0.78125]
+Fopt : 9.9991821
+DeltaFv : 16.128943
+Center : [-1.0541667 1.0520833]
+Size : 0.5970304
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+ > Termination ?
+ > iterations=4 >= maxiter=5
+ > funevals=11 >= maxfunevals=300
+ > e(x)=0.4110296 < 2.220D-15 * 1.4893444 + 0
+ > Terminate = F, status = continue
+ > simplex size=0.5970304 < 0 + 0.000001 * 1
+ > Terminate = F, status = continue
+Reflect
+xbar=-1.10625 0.890625
+Function Evaluation #12, index=2, x= [-1.2625 0.40625]
+xr=[-1.2625 0.40625], f(xr)=146.171643
+Contract - inside
+Function Evaluation #13, index=2, x= [-1.028125 1.1328125]
+xc=-1.028125 1.1328125, f(xc)=4.687423
+ > Perform Inside Contraction
+Sort
+=================================================================
+Iteration #5 (total = 5)
+Function Eval #13
+Xopt : [-1.028125 1.1328125]
+Fopt : 4.6874228
+DeltaFv : 19.512577
+Center : [-1.0802083 0.9713542]
+Size : 0.3519096
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+ > Termination ?
+ > iterations=5 >= maxiter=5
+ > Terminate = T, status = maxiter
+ > Terminate = T, status = maxiter
+Terminate with status : maxiter
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxiter" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.tst
new file mode 100755
index 000000000..5cf9617c3
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_searchvariable.tst
@@ -0,0 +1,91 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test on Rosenbrock test case
+//
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-storehistory",%t);
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-6 );
+// Check optimum point value
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 0.0 , [] , 1e-6 );
+// Check function value history
+historyfopt = neldermead_get(nm,"-historyfopt");
+iterations = neldermead_get(nm,"-iterations");
+sizefopt = size(historyfopt);
+assert_checkequal ( [iterations 1], sizefopt );
+// Check number of function evaluations
+funevals = neldermead_get(nm,"-funevals");
+assert_checkequal ( (funevals < 300) , %T )
+// Check optimum history
+historyxopt = neldermead_get(nm,"-historyxopt");
+sizexopt = size(historyxopt);
+assert_checkequal ( iterations, sizexopt );
+// Check simplex history
+historysimplex = neldermead_get(nm,"-historysimplex");
+sizexsimplex = size(historysimplex);
+assert_checkequal ( [iterations 3 2], sizexsimplex );
+// Check fx0
+fx0 = neldermead_get(nm,"-fx0");
+assert_checkalmostequal ( fx0 , 24.2 , 10*%eps );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolsize" );
+// Cleanup
+nm = neldermead_destroy(nm);
+
+// Check that the verbose mode is functional
+// Few iterations are necessary to check this
+// Many iterations costs a lot more in time.
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",5);
+nm = neldermead_configure(nm,"-maxfunevals",300);
+nm = neldermead_configure(nm,"-tolfunrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolxrelative",10*%eps);
+nm = neldermead_configure(nm,"-tolsimplexizerelative",1.e-6);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_configure(nm,"-verbose",1);
+nm = neldermead_configure(nm,"-verbosetermination",1);
+nm = neldermead_configure(nm,"-storehistory",%t);
+nm = neldermead_search(nm, "off");
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "maxiter" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.dia.ref
new file mode 100755
index 000000000..40379bca9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.dia.ref
@@ -0,0 +1,268 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// Checks that the shape of x is always the same,
+// i.e. a column vector.
+function [ f , index ] = optimtestcase ( x , index )
+ if ( size ( x ) <> [4 1] ) then
+ error ( "Wrong shape for x !" )
+ end
+ f = x.' * x
+endfunction
+//
+// Test search with variable algorithm
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[1 2 3 4]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+//
+// Test search with fixed algorithm
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[1 2 3 4]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+//
+// Test with non linear constraints
+//
+function [ f , c , index ] = optimtestcase2 ( x , index )
+ f = []
+ c = []
+ disp(x)
+ if ( size ( x ) <> [4 1] ) then
+ error ( "Wrong shape for x !" )
+ end
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = x.' * x
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0 0 0 0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_search(nm, "off");
+
+ 0.
+ 0.
+ 0.
+ 0.
+
+ 0.
+ 0.
+ 0.
+ 0.
+
+ 0.
+ 0.
+ 0.
+ 0.
+
+ 0.
+ 0.
+ 0.
+ 0.
+
+ 0.
+ 0.
+ 0.
+ 0.
+
+ 1.
+ 0.
+ 0.
+ 0.
+
+ 0.
+ 1.
+ 0.
+ 0.
+
+ 0.
+ 0.
+ 1.
+ 0.
+
+ 0.
+ 0.
+ 0.
+ 1.
+
+ 0.
+ 0.
+ 0.
+ 0.
+
+ 1.
+ 0.
+ 0.
+ 0.
+
+ 0.
+ 1.
+ 0.
+ 0.
+
+ 0.
+ 0.
+ 1.
+ 0.
+
+ 0.
+ 0.
+ 0.
+ 1.
+
+ 0.575
+ 0.575
+ 0.575
+ - 1.3
+
+ 0.575
+ 0.575
+ 0.575
+ - 1.3
+
+ 0.4125
+ 0.4125
+ 0.4125
+ - 0.65
+
+ 0.8121875
+ 0.8121875
+ - 1.0628125
+ - 0.37375
+
+ 0.8121875
+ 0.8121875
+ - 1.0628125
+ - 0.37375
+
+ 0.5826562
+ 0.5826562
+ - 0.4798437
+ - 0.268125
+
+ 1.1472148
+ - 0.7277852
+ - 0.0387227
+ - 0.5279219
+
+ 0.8230020
+ - 0.2394980
+ - 0.0277793
+ - 0.3787266
+
+ 0.8230020
+ - 0.2394980
+ - 0.0277793
+ - 0.3787266
+
+ - 0.2545590
+ 0.4345035
+ - 0.0546958
+ - 0.7456896
+
+ - 0.2545590
+ 0.4345035
+ - 0.0546958
+ - 0.7456896
+
+ - 0.1934109
+ - 0.4081375
+ 0.8135612
+ - 0.6717268
+
+ - 0.1934109
+ - 0.4081375
+ 0.8135612
+ - 0.6717268
+
+ 0.0259124
+ - 0.1281306
+ 0.4480337
+ - 0.5576654
+
+ - 0.1944957
+ - 0.4977970
+ - 0.3260538
+ - 0.1221969
+
+ - 0.1944957
+ - 0.4977970
+ - 0.3260538
+ - 0.1221969
+
+ - 1.3132094
+ 0.2012786
+ 0.0748015
+ - 0.3273479
+
+ - 1.3132094
+ 0.2012786
+ 0.0748015
+ - 0.3273479
+
+ - 0.7094975
+ 0.0767113
+ 0.0458113
+ - 0.3418679
+
+ - 0.1739697
+ - 0.8806538
+ 0.1675844
+ 0.3819016
+
+ - 0.1739697
+ - 0.8806538
+ 0.1675844
+ 0.3819016
+
+ - 0.1967450
+ - 0.5089790
+ 0.1047661
+ 0.0632345
+
+ 0.7122830
+ - 0.7522959
+ 0.0708243
+ 0.0898673
+
+ 0.7122830
+ - 0.7522959
+ 0.0708243
+ 0.0898673
+
+ 0.3104755
+ - 0.5180113
+ 0.0637554
+ - 0.0321448
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.tst
new file mode 100755
index 000000000..e783e25f2
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_shapeX.tst
@@ -0,0 +1,82 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+// Checks that the shape of x is always the same,
+// i.e. a column vector.
+function [ f , index ] = optimtestcase ( x , index )
+ if ( size ( x ) <> [4 1] ) then
+ error ( "Wrong shape for x !" )
+ end
+ f = x.' * x
+endfunction
+
+
+//
+// Test search with variable algorithm
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[1 2 3 4]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+
+//
+// Test search with fixed algorithm
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase);
+nm = neldermead_configure(nm,"-x0",[1 2 3 4]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","fixed");
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+
+//
+// Test with non linear constraints
+//
+function [ f , c , index ] = optimtestcase2 ( x , index )
+ f = []
+ c = []
+ disp(x)
+ if ( size ( x ) <> [4 1] ) then
+ error ( "Wrong shape for x !" )
+ end
+ if ( ( index == 2 ) | ( index == 6 ) ) then
+ f = x.' * x
+ end
+ if ( ( index == 5 ) | ( index == 6 ) ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",4);
+nm = neldermead_configure(nm,"-function",optimtestcase2);
+nm = neldermead_configure(nm,"-x0",[0 0 0 0]');
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-nbineqconst",3);
+nm = neldermead_search(nm, "off");
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.dia.ref
new file mode 100755
index 000000000..2434db87d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.dia.ref
@@ -0,0 +1,141 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = squarefun ( x , index )
+ y = x(1)^2+x(2)^2;
+endfunction
+//
+// Test simplex regular
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","spendley");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+1. 2.
+1.96592582628907 2.25881904510252
+1.25881904510252 2.96592582628907
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axes
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 1. 2.
+ 2. 2.
+ 1. 3.
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axesrelative
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","pfeffer");
+nm = neldermead_configure(nm,"-simplex0deltausual",0.05);
+nm = neldermead_configure(nm,"-simplex0deltazero",0.0075);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 1. 2.
+ 1.05 2.
+ 1. 2.1
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex given
+//
+lambda1 = (1.0 + sqrt(33.0))/8.0;
+lambda2 = (1.0 - sqrt(33.0))/8.0;
+coords0 = [
+1.0 1.0
+0.0 0.0
+lambda1 lambda2
+];
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-simplex0deltazero",0.0075);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+1. 1.
+0. 0.
+0.8430703308172535770382 -0.5930703308172535770382
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axes with a vector of lengths
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",[1.0 2.0]);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 1. 2.
+ 2. 2.
+ 1. 4.
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axes when there are bounds constraints
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 0. 0.
+ 10. 0.
+ 0. 10.
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.tst
new file mode 100755
index 000000000..f68ee4f5f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplex0.tst
@@ -0,0 +1,146 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+function [ y , index ] = squarefun ( x , index )
+ y = x(1)^2+x(2)^2;
+endfunction
+//
+// Test simplex regular
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","spendley");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+1. 2.
+1.96592582628907 2.25881904510252
+1.25881904510252 2.96592582628907
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axes
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 1. 2.
+ 2. 2.
+ 1. 3.
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axesrelative
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","pfeffer");
+nm = neldermead_configure(nm,"-simplex0deltausual",0.05);
+nm = neldermead_configure(nm,"-simplex0deltazero",0.0075);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 1. 2.
+ 1.05 2.
+ 1. 2.1
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex given
+//
+lambda1 = (1.0 + sqrt(33.0))/8.0;
+lambda2 = (1.0 - sqrt(33.0))/8.0;
+coords0 = [
+1.0 1.0
+0.0 0.0
+lambda1 lambda2
+];
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","given");
+nm = neldermead_configure(nm,"-coords0",coords0);
+nm = neldermead_configure(nm,"-simplex0deltazero",0.0075);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+1. 1.
+0. 0.
+0.8430703308172535770382 -0.5930703308172535770382
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+//
+// Test simplex axes with a vector of lengths
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",[1.0 2.0]);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 1. 2.
+ 2. 2.
+ 1. 4.
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+
+//
+// Test simplex axes when there are bounds constraints
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",squarefun);
+nm = neldermead_configure(nm,"-maxiter",10);
+nm = neldermead_configure(nm,"-x0",[0.0 0.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-method","box");
+nm = neldermead_configure(nm,"-boundsmin",[-10.0 -10.0]);
+nm = neldermead_configure(nm,"-boundsmax",[10.0 10.0]);
+nm = neldermead_configure(nm,"-simplex0length",20.0);
+nm = neldermead_search(nm, "off");
+simplex0 = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx ( simplex0 );
+expected = [
+ 0. 0.
+ 10. 0.
+ 0. 10.
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.dia.ref
new file mode 100755
index 000000000..b337ded06
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.dia.ref
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_search(nm, "off");
+simplex = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx( simplex );
+expected = [
+ 1. 2.
+ 2. 2.
+ 1. 3.
+];
+assert_checkalmostequal ( computed , expected, %eps );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.tst
new file mode 100755
index 000000000..e3a2cb416
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexaxes.tst
@@ -0,0 +1,36 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_search(nm, "off");
+simplex = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx( simplex );
+expected = [
+ 1. 2.
+ 2. 2.
+ 1. 3.
+];
+assert_checkalmostequal ( computed , expected, %eps );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.dia.ref
new file mode 100755
index 000000000..366c2d1e7
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.dia.ref
@@ -0,0 +1,31 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","spendley");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_search(nm, "off");
+simplex = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx( simplex );
+expected = [
+1. 2.
+1.96592582628907 2.25881904510252
+1.25881904510252 2.96592582628907
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+clear nm;
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.tst
new file mode 100755
index 000000000..73f66e727
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_simplexregular.tst
@@ -0,0 +1,38 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-x0",[1.0 2.0]');
+nm = neldermead_configure(nm,"-simplex0method","spendley");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_search(nm, "off");
+simplex = neldermead_get(nm,"-simplex0");
+computed = optimsimplex_getallx( simplex );
+expected = [
+1. 2.
+1.96592582628907 2.25881904510252
+1.25881904510252 2.96592582628907
+];
+assert_checkalmostequal ( computed, expected, 10 * %eps );
+nm = neldermead_destroy(nm);
+clear nm;
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.dia.ref
new file mode 100755
index 000000000..4f3ed900c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.dia.ref
@@ -0,0 +1,64 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// Check behaviour with default settings.
+//
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test tolxrelative
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",400);
+nm = neldermead_configure(nm,"-tolfunmethod",%f);
+nm = neldermead_configure(nm,"-tolxmethod",%t);
+nm = neldermead_configure(nm,"-tolxrelative",10.e-16);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-13 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolx" );
+nm = neldermead_destroy(nm);
+//
+// Test tolxabsolute
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",600);
+nm = neldermead_configure(nm,"-maxfunevals",600);
+nm = neldermead_configure(nm,"-tolfunmethod",%f);
+nm = neldermead_configure(nm,"-tolxmethod",%t);
+nm = neldermead_configure(nm,"-tolxabsolute",10.e-16);
+nm = neldermead_configure(nm,"-tolxrelative",0.0);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-14 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolx" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.tst
new file mode 100755
index 000000000..73ae36368
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_tolerance.tst
@@ -0,0 +1,72 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+//
+// Check behaviour with default settings.
+//
+
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test tolxrelative
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",200);
+nm = neldermead_configure(nm,"-maxfunevals",400);
+nm = neldermead_configure(nm,"-tolfunmethod",%f);
+nm = neldermead_configure(nm,"-tolxmethod",%t);
+nm = neldermead_configure(nm,"-tolxrelative",10.e-16);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-13 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolx" );
+nm = neldermead_destroy(nm);
+
+//
+// Test tolxabsolute
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",600);
+nm = neldermead_configure(nm,"-maxfunevals",600);
+nm = neldermead_configure(nm,"-tolfunmethod",%f);
+nm = neldermead_configure(nm,"-tolxmethod",%t);
+nm = neldermead_configure(nm,"-tolxabsolute",10.e-16);
+nm = neldermead_configure(nm,"-tolxrelative",0.0);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// Check optimum point
+xopt = neldermead_get(nm,"-xopt");
+assert_checkalmostequal ( xopt , [1.0;1.0], 1e-14 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolx" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.dia.ref b/modules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.dia.ref
new file mode 100755
index 000000000..ceba718fe
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.dia.ref
@@ -0,0 +1,54 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+//
+// Check behaviour with default settings.
+//
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test tolerance on variance of function values
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",600);
+nm = neldermead_configure(nm,"-maxfunevals",600);
+nm = neldermead_configure(nm,"-tolfunmethod",%f);
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolvarianceflag",%t);
+WARNING: Option -tolvarianceflag is obsolete.
+ Please use -outputcommand instead.
+ This feature will be permanently removed in Scilab 5.4.1
+
+nm = neldermead_configure(nm,"-tolabsolutevariance",1.e-4);
+WARNING: Option -tolabsolutevariance is obsolete.
+ Please use -outputcommand instead.
+ This feature will be permanently removed in Scilab 5.4.1
+
+nm = neldermead_configure(nm,"-tolrelativevariance",1.e-4);
+WARNING: Option -tolrelativevariance is obsolete.
+ Please use -outputcommand instead.
+ This feature will be permanently removed in Scilab 5.4.1
+
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// Check optimum point
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 4.0, 1e-1 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolvariance" );
+nm = neldermead_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.tst b/modules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.tst
new file mode 100755
index 000000000..cb19a5bae
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/neldermead_toleranceobsolete.tst
@@ -0,0 +1,49 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+//
+// Check behaviour with default settings.
+//
+
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test tolerance on variance of function values
+//
+nm = neldermead_new ();
+nm = neldermead_configure(nm,"-numberofvariables",2);
+nm = neldermead_configure(nm,"-function",rosenbrock);
+nm = neldermead_configure(nm,"-x0",[-1.2 1.0]');
+nm = neldermead_configure(nm,"-maxiter",600);
+nm = neldermead_configure(nm,"-maxfunevals",600);
+nm = neldermead_configure(nm,"-tolfunmethod",%f);
+nm = neldermead_configure(nm,"-tolxmethod",%f);
+nm = neldermead_configure(nm,"-tolvarianceflag",%t);
+nm = neldermead_configure(nm,"-tolabsolutevariance",1.e-4);
+nm = neldermead_configure(nm,"-tolrelativevariance",1.e-4);
+nm = neldermead_configure(nm,"-simplex0method","axes");
+nm = neldermead_configure(nm,"-simplex0length",1.0);
+nm = neldermead_configure(nm,"-method","variable");
+nm = neldermead_search(nm);
+// Check optimum point
+fopt = neldermead_get(nm,"-fopt");
+assert_checkalmostequal ( fopt , 4.0, 1e-1 );
+// Check status
+status = neldermead_get(nm,"-status");
+assert_checkequal ( status , "tolvariance" );
+nm = neldermead_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_contour.dia.ref b/modules/optimization/tests/unit_tests/neldermead/nmplot_contour.dia.ref
new file mode 100755
index 000000000..13fca79dc
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_contour.dia.ref
@@ -0,0 +1,59 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- ENGLISH IMPOSED -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+// Use 20 points in X and 20 points in Y
+NP = 20;
+//
+// Test a basic contour plot
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+xmin = -2.0;
+xmax = 2.0;
+ymin = -2.0;
+ymax = 2.0;
+nx = NP;
+ny = NP;
+[nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin , xmax , ymin , ymax , nx , ny );
+f = scf();
+drawlater();
+contour ( xdata , ydata , zdata , [1 10 100 500 1000 2000] );
+drawnow();
+close(f);
+nm = nmplot_destroy(nm);
+// Test with a function for which the column orientation matters
+function [ y , index ] = myquad ( x , index )
+ y = x' * x;
+endfunction
+// Use 20 points in X and 20 points in Y
+NP = 20;
+//
+// Test a basic contour plot
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",myquad);
+xmin = -2.0;
+xmax = 2.0;
+ymin = -2.0;
+ymax = 2.0;
+nx = NP;
+ny = NP;
+[nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin , xmax , ymin , ymax , nx , ny );
+f = scf();
+drawlater();
+contour ( xdata , ydata , zdata , linspace(0,8,20) );
+drawnow();
+close(f);
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_contour.tst b/modules/optimization/tests/unit_tests/neldermead/nmplot_contour.tst
new file mode 100755
index 000000000..9f43a7bdd
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_contour.tst
@@ -0,0 +1,70 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- ENGLISH IMPOSED -->
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+// Use 20 points in X and 20 points in Y
+NP = 20;
+
+//
+// Test a basic contour plot
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+xmin = -2.0;
+xmax = 2.0;
+ymin = -2.0;
+ymax = 2.0;
+nx = NP;
+ny = NP;
+[nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin , xmax , ymin , ymax , nx , ny );
+f = scf();
+drawlater();
+contour ( xdata , ydata , zdata , [1 10 100 500 1000 2000] );
+drawnow();
+close(f);
+nm = nmplot_destroy(nm);
+
+
+// Test with a function for which the column orientation matters
+function [ y , index ] = myquad ( x , index )
+ y = x' * x;
+endfunction
+
+// Use 20 points in X and 20 points in Y
+NP = 20;
+
+//
+// Test a basic contour plot
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",myquad);
+xmin = -2.0;
+xmax = 2.0;
+ymin = -2.0;
+ymax = 2.0;
+nx = NP;
+ny = NP;
+[nm , xdata , ydata , zdata ] = nmplot_contour ( nm , xmin , xmax , ymin , ymax , nx , ny );
+f = scf();
+drawlater();
+contour ( xdata , ydata , zdata , linspace(0,8,20) );
+drawnow();
+close(f);
+nm = nmplot_destroy(nm);
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.tst b/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.tst
new file mode 100755
index 000000000..1602e9595
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.tst
@@ -0,0 +1,51 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Check behaviour with default settings.
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+nm = nmplot_configure(nm,"-x0",[-1.2 1.0].');
+nm = nmplot_configure(nm,"-maxiter",10);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);
+nm = nmplot_configure(nm,"-tolxrelative",10*%eps);
+nm = nmplot_configure(nm,"-simplex0method","axes");
+nm = nmplot_configure(nm,"-simplex0length",1.0);
+nm = nmplot_configure(nm,"-method","variable");
+simfn = fullfile(TMPDIR,"simplex.txt");
+nm = nmplot_configure(nm,"-simplexfn",simfn);
+fbfn = fullfile(TMPDIR,"fbar.txt");
+nm = nmplot_configure(nm,"-fbarfn",fbfn);
+fofn = fullfile(TMPDIR,"fopt.txt");
+nm = nmplot_configure(nm,"-foptfn",fofn);
+sigfn = fullfile(TMPDIR,"sigma.txt");
+nm = nmplot_configure(nm,"-sigmafn",sigfn);
+sfn = nmplot_cget ( nm , "-simplexfn" );
+assert_checkequal ( sfn , simfn );
+sfn = nmplot_cget ( nm , "-fbarfn" );
+assert_checkequal ( sfn , fbfn );
+sfn = nmplot_cget ( nm , "-foptfn" );
+assert_checkequal ( sfn , fofn );
+sfn = nmplot_cget ( nm , "-sigmafn" );
+assert_checkequal ( sfn , sigfn );
+// Check the display
+disp(nm);
+nm = nmplot_destroy(nm);
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.unix.dia.ref b/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.unix.dia.ref
new file mode 100755
index 000000000..089b26ce2
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.unix.dia.ref
@@ -0,0 +1,56 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Check behaviour with default settings.
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+nm = nmplot_configure(nm,"-x0",[-1.2 1.0].');
+nm = nmplot_configure(nm,"-maxiter",10);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);
+nm = nmplot_configure(nm,"-tolxrelative",10*%eps);
+nm = nmplot_configure(nm,"-simplex0method","axes");
+nm = nmplot_configure(nm,"-simplex0length",1.0);
+nm = nmplot_configure(nm,"-method","variable");
+simfn = fullfile(TMPDIR,"simplex.txt");
+nm = nmplot_configure(nm,"-simplexfn",simfn);
+fbfn = fullfile(TMPDIR,"fbar.txt");
+nm = nmplot_configure(nm,"-fbarfn",fbfn);
+fofn = fullfile(TMPDIR,"fopt.txt");
+nm = nmplot_configure(nm,"-foptfn",fofn);
+sigfn = fullfile(TMPDIR,"sigma.txt");
+nm = nmplot_configure(nm,"-sigmafn",sigfn);
+sfn = nmplot_cget ( nm , "-simplexfn" );
+assert_checkequal ( sfn , simfn );
+sfn = nmplot_cget ( nm , "-fbarfn" );
+assert_checkequal ( sfn , fbfn );
+sfn = nmplot_cget ( nm , "-foptfn" );
+assert_checkequal ( sfn , fofn );
+sfn = nmplot_cget ( nm , "-sigmafn" );
+assert_checkequal ( sfn , sigfn );
+// Check the display
+disp(nm);
+
+Nelder-Mead Plot Object:
+======================
+
+Simplex data file : TMPDIR/simplex.txt
+Fbar data file : TMPDIR/fbar.txt
+Fopt data file : TMPDIR/fopt.txt
+Sigma data file : TMPDIR/sigma.txt
+
+nmbase: <TNELDER Object>
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.win.dia.ref b/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.win.dia.ref
new file mode 100755
index 000000000..1495fa4f4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_newdestroy.win.dia.ref
@@ -0,0 +1,56 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Check behaviour with default settings.
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+nm = nmplot_configure(nm,"-x0",[-1.2 1.0].');
+nm = nmplot_configure(nm,"-maxiter",10);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);
+nm = nmplot_configure(nm,"-tolxrelative",10*%eps);
+nm = nmplot_configure(nm,"-simplex0method","axes");
+nm = nmplot_configure(nm,"-simplex0length",1.0);
+nm = nmplot_configure(nm,"-method","variable");
+simfn = fullfile(TMPDIR,"simplex.txt");
+nm = nmplot_configure(nm,"-simplexfn",simfn);
+fbfn = fullfile(TMPDIR,"fbar.txt");
+nm = nmplot_configure(nm,"-fbarfn",fbfn);
+fofn = fullfile(TMPDIR,"fopt.txt");
+nm = nmplot_configure(nm,"-foptfn",fofn);
+sigfn = fullfile(TMPDIR,"sigma.txt");
+nm = nmplot_configure(nm,"-sigmafn",sigfn);
+sfn = nmplot_cget ( nm , "-simplexfn" );
+assert_checkequal ( sfn , simfn );
+sfn = nmplot_cget ( nm , "-fbarfn" );
+assert_checkequal ( sfn , fbfn );
+sfn = nmplot_cget ( nm , "-foptfn" );
+assert_checkequal ( sfn , fofn );
+sfn = nmplot_cget ( nm , "-sigmafn" );
+assert_checkequal ( sfn , sigfn );
+// Check the display
+disp(nm);
+
+Nelder-Mead Plot Object:
+======================
+
+Simplex data file : TMPDIR\simplex.txt
+Fbar data file : TMPDIR\fbar.txt
+Fopt data file : TMPDIR\fopt.txt
+Sigma data file : TMPDIR\sigma.txt
+
+nmbase: <TNELDER Object>
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.dia.ref b/modules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.dia.ref
new file mode 100755
index 000000000..60aff8825
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.dia.ref
@@ -0,0 +1,80 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+// Use 20 points in X and 20 points in Y
+NP = 20;
+//
+// Check behaviour with default settings.
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+nm = nmplot_configure(nm,"-x0",[-1.2 1.0].');
+nm = nmplot_configure(nm,"-maxiter",10);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);
+nm = nmplot_configure(nm,"-tolxrelative",10*%eps);
+nm = nmplot_configure(nm,"-simplex0method","axes");
+nm = nmplot_configure(nm,"-simplex0length",1.0);
+nm = nmplot_configure(nm,"-method","variable");
+//
+// Setup output files
+//
+simplexfn = fullfile(TMPDIR,"simplex.txt");
+fbarfn = fullfile(TMPDIR,"fbar.txt");
+foptfn = fullfile(TMPDIR,"fopt.txt");
+sigmafn = fullfile(TMPDIR,"sigma.txt");
+nm = nmplot_configure(nm,"-simplexfn",simplexfn);
+nm = nmplot_configure(nm,"-fbarfn",fbarfn);
+nm = nmplot_configure(nm,"-foptfn",foptfn);
+nm = nmplot_configure(nm,"-sigmafn",sigmafn);
+//
+// Perform optimization
+//
+nm = nmplot_search(nm);
+optimbase_terminate: Exiting: Maximum number of iterations has been exceeded
+ - increase MaxIter option.
+// Plot the contours of the cost function and the simplex history
+xmin = -2.0;
+xmax = 2.0 ;
+ymin = -2.0 ;
+ymax = 2.0 ;
+nx = NP ;
+ny = NP;
+[nm , xdata , ydata , zdata ] = nmplot_contour ( nm , ...
+ xmin , xmax , ymin , ymax , nx , ny );
+f = scf();
+drawlater();
+contour ( xdata , ydata , zdata , 20 )
+nmplot_simplexhistory ( nm );
+drawnow();
+close(f);
+f = scf();
+mytitle = "Function Value Average" ;
+myxlabel = "Iterations";
+nmplot_historyplot ( nm , fbarfn , mytitle , myxlabel);
+close(f);
+f = scf();
+mytitle = "Minimum Function Value" ;
+myxlabel = "Iterations";
+nmplot_historyplot ( nm , foptfn , mytitle , myxlabel);
+close(f);
+f = scf();
+mytitle = "Maximum Oriented length" ;
+myxlabel = "Iterations";
+nmplot_historyplot ( nm , sigmafn , mytitle , myxlabel);
+close(f);
+deletefile(simplexfn);
+deletefile(fbarfn);
+deletefile(foptfn);
+deletefile(sigmafn);
+nm = nmplot_destroy(nm);
diff --git a/modules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.tst b/modules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.tst
new file mode 100755
index 000000000..138756e81
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/nmplot_rosenbrock.tst
@@ -0,0 +1,86 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+// Use 20 points in X and 20 points in Y
+NP = 20;
+
+//
+// Check behaviour with default settings.
+//
+nm = nmplot_new ();
+nm = nmplot_configure(nm,"-numberofvariables",2);
+nm = nmplot_configure(nm,"-function",rosenbrock);
+nm = nmplot_configure(nm,"-x0",[-1.2 1.0].');
+nm = nmplot_configure(nm,"-maxiter",10);
+nm = nmplot_configure(nm,"-maxfunevals",300);
+nm = nmplot_configure(nm,"-tolfunrelative",10*%eps);
+nm = nmplot_configure(nm,"-tolxrelative",10*%eps);
+nm = nmplot_configure(nm,"-simplex0method","axes");
+nm = nmplot_configure(nm,"-simplex0length",1.0);
+nm = nmplot_configure(nm,"-method","variable");
+//
+// Setup output files
+//
+simplexfn = fullfile(TMPDIR,"simplex.txt");
+fbarfn = fullfile(TMPDIR,"fbar.txt");
+foptfn = fullfile(TMPDIR,"fopt.txt");
+sigmafn = fullfile(TMPDIR,"sigma.txt");
+nm = nmplot_configure(nm,"-simplexfn",simplexfn);
+nm = nmplot_configure(nm,"-fbarfn",fbarfn);
+nm = nmplot_configure(nm,"-foptfn",foptfn);
+nm = nmplot_configure(nm,"-sigmafn",sigmafn);
+//
+// Perform optimization
+//
+nm = nmplot_search(nm);
+// Plot the contours of the cost function and the simplex history
+xmin = -2.0;
+xmax = 2.0 ;
+ymin = -2.0 ;
+ymax = 2.0 ;
+nx = NP ;
+ny = NP;
+[nm , xdata , ydata , zdata ] = nmplot_contour ( nm , ...
+ xmin , xmax , ymin , ymax , nx , ny );
+f = scf();
+drawlater();
+contour ( xdata , ydata , zdata , 20 )
+nmplot_simplexhistory ( nm );
+drawnow();
+close(f);
+f = scf();
+mytitle = "Function Value Average" ;
+myxlabel = "Iterations";
+nmplot_historyplot ( nm , fbarfn , mytitle , myxlabel);
+close(f);
+f = scf();
+mytitle = "Minimum Function Value" ;
+myxlabel = "Iterations";
+nmplot_historyplot ( nm , foptfn , mytitle , myxlabel);
+close(f);
+f = scf();
+mytitle = "Maximum Oriented length" ;
+myxlabel = "Iterations";
+nmplot_historyplot ( nm , sigmafn , mytitle , myxlabel);
+close(f);
+deletefile(simplexfn);
+deletefile(fbarfn);
+deletefile(foptfn);
+deletefile(sigmafn);
+nm = nmplot_destroy(nm);
+
+
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/optimget.dia.ref b/modules/optimization/tests/unit_tests/neldermead/optimget.dia.ref
new file mode 100755
index 000000000..e8593ca3c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/optimget.dia.ref
@@ -0,0 +1,62 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009-2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// val = optimget ( options , key )
+//
+op = optimset ();
+op = optimset(op,'TolX',1.e-12);
+val = optimget(op,'TolX');
+assert_checkequal ( val , 1.e-12 );
+//
+// val = optimget ( options , key , value ) with non-empty value
+//
+op = optimset ();
+op = optimset(op,'TolX',1.e-12);
+val = optimget(op,'TolX' , 1.e-5);
+assert_checkequal ( val , 1.e-12 );
+//
+// val = optimget ( options , key , value ) with empty value
+//
+op = optimset ();
+val = optimget(op,'TolX' , 1.e-5);
+assert_checkequal ( val , 1.e-5 );
+//
+// val = optimget ( options , key ) with ambiguous key
+//
+op = optimset ();
+op = optimset(op,'TolX',1.e-12);
+cmd = "optimget(op,''Tol'' )";
+assert_checkerror(cmd,"%s: Ambiguous property name %s matches several fields : %s",[],"optimget","Tol","TolFun TolX");
+//
+// Test with wrong number of arguments
+//
+op = optimset ();
+cmd = "optimget ( op )";
+assert_checkerror(cmd,"%s: Wrong number of arguments : %d expected while %d given",[],"optimget",2,1);
+//
+// Test with wrong number of arguments
+//
+op = optimset ();
+cmd = "optimget ( op , ""TolX"" , 1.e-12 , 1.e-13)";
+assert_checkerror(cmd,"%s: Wrong number of arguments : %d expected while %d given",[],"optimget",2,4);
+//
+// val = optimget ( options , key ) with leading characters only
+//
+op = optimset ();
+op = optimset ( op , 'MaxFunEvals' , 1000 );
+val = optimget ( op , 'MaxF' );
+assert_checkequal ( val , 1000 );
+//
+// val = optimget ( options , key , default )
+//
+default = optimset ( 'fminsearch' );
+op = optimset ();
+value = optimget(op,'TolX',default.TolX);
+assert_checkequal ( value , 1.e-4 );
diff --git a/modules/optimization/tests/unit_tests/neldermead/optimget.tst b/modules/optimization/tests/unit_tests/neldermead/optimget.tst
new file mode 100755
index 000000000..95f41b868
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/optimget.tst
@@ -0,0 +1,69 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009-2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// val = optimget ( options , key )
+//
+op = optimset ();
+op = optimset(op,'TolX',1.e-12);
+val = optimget(op,'TolX');
+assert_checkequal ( val , 1.e-12 );
+
+//
+// val = optimget ( options , key , value ) with non-empty value
+//
+op = optimset ();
+op = optimset(op,'TolX',1.e-12);
+val = optimget(op,'TolX' , 1.e-5);
+assert_checkequal ( val , 1.e-12 );
+//
+// val = optimget ( options , key , value ) with empty value
+//
+op = optimset ();
+val = optimget(op,'TolX' , 1.e-5);
+assert_checkequal ( val , 1.e-5 );
+
+//
+// val = optimget ( options , key ) with ambiguous key
+//
+op = optimset ();
+op = optimset(op,'TolX',1.e-12);
+cmd = "optimget(op,''Tol'' )";
+assert_checkerror(cmd,"%s: Ambiguous property name %s matches several fields : %s",[],"optimget","Tol","TolFun TolX");
+
+//
+// Test with wrong number of arguments
+//
+op = optimset ();
+cmd = "optimget ( op )";
+assert_checkerror(cmd,"%s: Wrong number of arguments : %d expected while %d given",[],"optimget",2,1);
+
+//
+// Test with wrong number of arguments
+//
+op = optimset ();
+cmd = "optimget ( op , ""TolX"" , 1.e-12 , 1.e-13)";
+assert_checkerror(cmd,"%s: Wrong number of arguments : %d expected while %d given",[],"optimget",2,4);
+//
+// val = optimget ( options , key ) with leading characters only
+//
+op = optimset ();
+op = optimset ( op , 'MaxFunEvals' , 1000 );
+val = optimget ( op , 'MaxF' );
+assert_checkequal ( val , 1000 );
+//
+// val = optimget ( options , key , default )
+//
+default = optimset ( 'fminsearch' );
+op = optimset ();
+value = optimget(op,'TolX',default.TolX);
+assert_checkequal ( value , 1.e-4 );
+
diff --git a/modules/optimization/tests/unit_tests/neldermead/optimset.dia.ref b/modules/optimization/tests/unit_tests/neldermead/optimset.dia.ref
new file mode 100755
index 000000000..fb68b405c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/optimset.dia.ref
@@ -0,0 +1,101 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test #1 : Without parameters
+//
+op = optimset ();
+assert_checkequal ( op.Display , [] );
+assert_checkequal ( op.FunValCheck , [] );
+assert_checkequal ( op.MaxFunEvals , [] );
+assert_checkequal ( op.MaxIter , [] );
+assert_checkequal ( op.OutputFcn , [] );
+assert_checkequal ( op.PlotFcns , [] );
+assert_checkequal ( op.TolFun , [] );
+assert_checkequal ( op.TolX , [] );
+clear op
+function y = myoutputfun (x)
+ y = x;
+endfunction
+function y = myplotfun (x)
+ y = x;
+endfunction
+//
+// Test #2 : With parameters
+//
+op = optimset (...
+ 'Display','iter',...
+ "FunValCheck","on",...
+ "MaxFunEvals",100,...
+ "MaxIter",110,...
+ "OutputFcn",myoutputfun,...
+ "PlotFcns",myplotfun,...
+ "TolFun",1.e-12,...
+ "TolX",1.e-13...
+ );
+assert_checkequal ( op.Display , "iter" );
+assert_checkequal ( op.FunValCheck , "on" );
+assert_checkequal ( op.MaxFunEvals , 100 );
+assert_checkequal ( op.MaxIter , 110 );
+//assert_checkequal ( op.OutputFcn , myoutputfun );
+//assert_checkequal ( op.PlotFcns , myplotfun );
+assert_checkequal ( op.TolFun , 1.e-12 );
+assert_checkequal ( op.TolX , 1.e-13 );
+clear op
+//
+// Test #3 : Copy one option set into another
+//
+op1 = optimset ("TolFun",1.e-12);
+op2 = optimset (op1,"TolX",1.e-13);
+assert_checkequal ( op2.TolFun , 1.e-12 );
+assert_checkequal ( op2.TolX , 1.e-13 );
+clear op1
+clear op2
+//
+// Test #3 : with one method name
+//
+op = optimset ("fminsearch");
+assert_checkequal ( op.TolFun , 1.e-4 );
+assert_checkequal ( op.TolX , 1.e-4 );
+assert_checkequal ( op.Display , "notify" );
+assert_checkequal ( op.MaxFunEvals , "200*numberofvariables" );
+assert_checkequal ( op.MaxIter , "200*numberofvariables" );
+clear op
+//
+// Test where the first input argument is not a struct
+//
+cmd = "optimset (''foo'',''MaxFunEvals'',100)";
+assert_checkerror(cmd,"%s: Odd number of arguments : the first argument is expected to be a struct, but is a %s",[],"optimset","string");
+//
+// Test where the key is unknown
+//
+cmd = "optimset (''foo'',100)";
+assert_checkerror(cmd,"%s: Unrecognized parameter name ''%s''.",[],"optimset","foo");
+//
+// Test where the algorithm is unknown
+//
+cmd = "optimset (''foo'')";
+assert_checkerror(cmd,"%s: No default options available: the function ''%s'' does not exist on the path.",[],"optimset","foo");
+//
+// Test where the Display key is unknown
+//
+cmd = "optimset (''Display'',''foo'')";
+assert_checkerror(cmd,"%s: Unrecognized value ''%s'' for ''Display'' option.",[],"optimset","foo");
+//
+// Test all possible values of Display
+//
+op = optimset ( "Display" , "final" );
+assert_checkequal ( op.Display , "final" );
+op = optimset ( "Display" , "iter" );
+assert_checkequal ( op.Display , "iter" );
+op = optimset ( "Display" , "off" );
+assert_checkequal ( op.Display , "off" );
+op = optimset ( "Display" , "notify" );
+assert_checkequal ( op.Display , "notify" );
diff --git a/modules/optimization/tests/unit_tests/neldermead/optimset.tst b/modules/optimization/tests/unit_tests/neldermead/optimset.tst
new file mode 100755
index 000000000..663082db0
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/neldermead/optimset.tst
@@ -0,0 +1,106 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Test #1 : Without parameters
+//
+op = optimset ();
+assert_checkequal ( op.Display , [] );
+assert_checkequal ( op.FunValCheck , [] );
+assert_checkequal ( op.MaxFunEvals , [] );
+assert_checkequal ( op.MaxIter , [] );
+assert_checkequal ( op.OutputFcn , [] );
+assert_checkequal ( op.PlotFcns , [] );
+assert_checkequal ( op.TolFun , [] );
+assert_checkequal ( op.TolX , [] );
+clear op
+function y = myoutputfun (x)
+ y = x;
+endfunction
+function y = myplotfun (x)
+ y = x;
+endfunction
+//
+// Test #2 : With parameters
+//
+op = optimset (...
+ 'Display','iter',...
+ "FunValCheck","on",...
+ "MaxFunEvals",100,...
+ "MaxIter",110,...
+ "OutputFcn",myoutputfun,...
+ "PlotFcns",myplotfun,...
+ "TolFun",1.e-12,...
+ "TolX",1.e-13...
+ );
+assert_checkequal ( op.Display , "iter" );
+assert_checkequal ( op.FunValCheck , "on" );
+assert_checkequal ( op.MaxFunEvals , 100 );
+assert_checkequal ( op.MaxIter , 110 );
+//assert_checkequal ( op.OutputFcn , myoutputfun );
+//assert_checkequal ( op.PlotFcns , myplotfun );
+assert_checkequal ( op.TolFun , 1.e-12 );
+assert_checkequal ( op.TolX , 1.e-13 );
+clear op
+//
+// Test #3 : Copy one option set into another
+//
+op1 = optimset ("TolFun",1.e-12);
+op2 = optimset (op1,"TolX",1.e-13);
+assert_checkequal ( op2.TolFun , 1.e-12 );
+assert_checkequal ( op2.TolX , 1.e-13 );
+clear op1
+clear op2
+//
+// Test #3 : with one method name
+//
+op = optimset ("fminsearch");
+assert_checkequal ( op.TolFun , 1.e-4 );
+assert_checkequal ( op.TolX , 1.e-4 );
+assert_checkequal ( op.Display , "notify" );
+assert_checkequal ( op.MaxFunEvals , "200*numberofvariables" );
+assert_checkequal ( op.MaxIter , "200*numberofvariables" );
+clear op
+
+//
+// Test where the first input argument is not a struct
+//
+cmd = "optimset (''foo'',''MaxFunEvals'',100)";
+assert_checkerror(cmd,"%s: Odd number of arguments : the first argument is expected to be a struct, but is a %s",[],"optimset","string");
+//
+// Test where the key is unknown
+//
+cmd = "optimset (''foo'',100)";
+assert_checkerror(cmd,"%s: Unrecognized parameter name ''%s''.",[],"optimset","foo");
+
+//
+// Test where the algorithm is unknown
+//
+cmd = "optimset (''foo'')";
+assert_checkerror(cmd,"%s: No default options available: the function ''%s'' does not exist on the path.",[],"optimset","foo");
+//
+// Test where the Display key is unknown
+//
+cmd = "optimset (''Display'',''foo'')";
+assert_checkerror(cmd,"%s: Unrecognized value ''%s'' for ''Display'' option.",[],"optimset","foo");
+//
+// Test all possible values of Display
+//
+op = optimset ( "Display" , "final" );
+assert_checkequal ( op.Display , "final" );
+op = optimset ( "Display" , "iter" );
+assert_checkequal ( op.Display , "iter" );
+op = optimset ( "Display" , "off" );
+assert_checkequal ( op.Display , "off" );
+op = optimset ( "Display" , "notify" );
+assert_checkequal ( op.Display , "notify" );
+
diff --git a/modules/optimization/tests/unit_tests/numderivative.dia.ref b/modules/optimization/tests/unit_tests/numderivative.dia.ref
new file mode 100755
index 000000000..8925690cb
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/numderivative.dia.ref
@@ -0,0 +1,468 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- JVM NOT MANDATORY -->
+// 1. Test with a scalar argument
+function y = myfunction (x)
+ y = x*x;
+endfunction
+x = 1.0;
+expected = 2.0;
+// 1.1 With default parameters
+computed = numderivative(myfunction, x);
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.2 Test order 1
+computed = numderivative(myfunction, x, [], 1);
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 1.3 Test order 2
+computed = numderivative(myfunction, x, [], 2);
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.4 Test order 4
+computed = numderivative(myfunction, x, [], 4);
+assert_checkalmostequal ( computed , expected , 1.e-13 );
+// 1.5 Compute second numderivative at the same time
+Jexpected = 2.0;
+Hexpected = 2.0;
+[Jcomputed, Hcomputed] = numderivative(myfunction, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.6 Test order 1
+[Jcomputed, Hcomputed] = numderivative(myfunction, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 1.7 Test order 2
+[Jcomputed, Hcomputed] = numderivative(myfunction, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.8 Test order 4
+[Jcomputed, Hcomputed] = numderivative(myfunction, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+// 1.9 Configure the step
+computed = numderivative(myfunction, x, 1.e-1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+// 1.10 Configure the step
+[Jcomputed, Hcomputed] = numderivative(myfunction,x,1.e-1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+// 2. Test with a vector argument
+function y = myfunction2 (x)
+ y = x(1)*x(1) + x(2) + x(1)*x(2);
+endfunction
+x = [1.0; 2.0];
+Jexpected = [4. 2.];
+Hexpected = [2. 1. 1. 0.];
+// 2.1 With default parameters
+computed = numderivative(myfunction2, x);
+assert_checkalmostequal ( computed , Jexpected , 1.e-10 );
+// 2.2 Test order 1
+computed = numderivative(myfunction2, x, [], 1);
+assert_checkalmostequal ( computed , Jexpected , 1.e-8 );
+// 2.3 Test order 2
+computed = numderivative(myfunction2, x, [], 2);
+assert_checkalmostequal ( computed , Jexpected , 1.e-10 );
+// 2.4 Test order 4
+computed = numderivative(myfunction2, x, [], 4);
+assert_checkalmostequal ( computed , Jexpected , 1.e-13 );
+// 2.5 Compute second numderivative at the same time
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.6 Test order 1
+[Jcomputed , Hcomputed] = numderivative(myfunction2, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 );
+// 2.7 Test order 2
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.8 Test order 4
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+//
+// 2.9 Configure the step - Expansion of scalar h to the same size as x
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, 1.e-1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+// 2.10 Configure the step - Expansion of scalar h to the same size as x
+h = %eps^(1/3)*abs(x);
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, h);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 , 1.e-5);
+// 3. Test H_form
+// 3.1 Test H_form = "default"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0.0];
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], [], "default");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.2 Test H_form = "hypermat"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x , [], [], "hypermat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.3 Test H_form = "blockmat"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], [], "blockmat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 5. Test h parameter
+// Test a case where the default step h is very small ~ 1.e-9,
+// but, because the function is very flat in the neighbourhood of the
+// point, a larger step ~ 1.e-4 reduces the error.
+// This means that this test cannot pass if the right step is
+// not taken into account, therefore testing the feature "h is used correctly".
+myn = 1.e5;
+function y = myfunction3 (x)
+ y = x^(2/myn);
+endfunction
+x = 1.0;
+h = 6.055454e-006;
+Jexpected = (2/myn) * x^(2/myn-1);
+Hexpected = (2/myn) * (2/myn-1) * x^(2/myn-2);
+[Jcomputed, Hcomputed] = numderivative(myfunction3, x, 1.e-4, 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-4 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-3 );
+// 6. Test Q parameter
+function y = myfunction4 (x)
+ y = x(1)*x(1) + x(2)+ x(1)*x(2);
+endfunction
+x = [1.; 2.];
+Jexpected = [4. 2.];
+Hexpected = [2. 1. 1. 0.];
+//
+rand("seed", 0);
+Q = qr(rand(2, 2));
+[Jcomputed, Hcomputed] = numderivative(myfunction4, x, [], [], [], Q);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-8, 1.e-7 );
+//
+// 7. Test vector output y
+function y = myexample(x)
+ f1 = sin(x(1)*x(2)) + exp(x(2)*x(3)+x(1));
+ f2 = sum(x.^3);
+ y = [f1; f2];
+endfunction
+// The exact gradient
+function [g1, g2] = exactg(x)
+ g1(1) = cos(x(1)*x(2))*x(2) + exp(x(2)*x(3)+x(1));
+ g1(2) = cos(x(1)*x(2))*x(1) + exp(x(2)*x(3)+x(1))*x(3);
+ g1(3) = exp(x(2)*x(3)+x(1))*x(2);
+ g2(1) = 3*x(1)^2;
+ g2(2) = 3*x(2)^2;
+ g2(3) = 3*x(3)^2;
+endfunction
+// The exact Hessian
+function [H1, H2] = exactH(x)
+ H1(1, 1) = -sin(x(1)*x(2))*x(2)^2 + exp(x(2)*x(3)+x(1));
+ H1(1, 2) = cos(x(1)*x(2)) - sin(x(1)*x(2))*x(2)*x(1) + exp(x(2)*x(3)+x(1))*x(3);
+ H1(1, 3) = exp(x(2)*x(3)+x(1))*x(2);
+ H1(2, 1) = H1(1, 2);
+ H1(2, 2) = -sin(x(1)*x(2))*x(1)^2 + exp(x(2)*x(3)+x(1))*x(3)^2;
+ H1(2, 3) = exp(x(2)*x(3)+x(1)) + exp(x(2)*x(3)+x(1))*x(3)*x(2);
+ H1(3, 1) = H1(1, 3);
+ H1(3, 2) = H1(2, 3);
+ H1(3, 3) = exp(x(2)*x(3)+x(1))*x(2)^2;
+ //
+ H2(1, 1) = 6*x(1);
+ H2(1, 2) = 0;
+ H2(1, 3) = 0;
+ H2(2, 1) = H2(1, 2);
+ H2(2, 2) = 6*x(2);
+ H2(2, 3) = 0;
+ H2(3, 1) = H2(1, 3);
+ H2(3, 2) = H2(2, 3);
+ H2(3, 3) = 6*x(3);
+endfunction
+x=[1; 2; 3];
+[g1, g2] = exactg(x);
+[H1, H2] = exactH(x);
+Jexpected = [g1'; g2'];
+Hexpected = [H1(:)'; H2(:)'];
+// 7.1.1 Check Jacobian with default options
+Jcomputed = numderivative(myexample, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+// 7.1.2 Check Jacobian with order = 1
+Jcomputed = numderivative(myexample, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-7 );
+// 7.1.3 Check Jacobian with order = 2
+Jcomputed = numderivative(myexample, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+// 7.1.4 Check Jacobian with order = 4
+Jcomputed = numderivative(myexample, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+// 7.2.1 Check Jacobian and Hessian with default options
+[Jcomputed, Hcomputed] = numderivative(myexample, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 7.2.2 Check Jacobian and Hessian with order = 1
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-7 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-4 );
+// 7.2.3 Check Jacobian and Hessian with order = 2
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 7.2.3 Check Jacobian and Hessian with order = 4
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-4 , 1e-9);
+//
+// 7.3 Test with "blockmat"
+Jexpected = [g1'; g2'];
+Hexpected = [H1; H2];
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], [], "blockmat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+//
+// 7.4 Test with "hypermat"
+Jexpected = [g1'; g2'];
+Hexpected = [];
+Hexpected(:, :, 1) = H1;
+Hexpected(:, :, 2) = H2;
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], [], "hypermat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkequal ( size(Hcomputed) , [3 3 2] );
+// This is a limitation of assert (http://bugzilla.scilab.org/show_bug.cgi?id=9461)
+// assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+assert_checkalmostequal ( Hexpected(:, :, 1) , Hexpected(:, :, 1) , 1.e-6);
+assert_checkalmostequal ( Hexpected(:, :, 2) , Hexpected(:, :, 2) , 1.e-6);
+//
+// 8. Check the number of function evaluations
+function y = myFevalFun(x)
+ global FEVAL
+ FEVAL = FEVAL + 1;
+ y = sum(x.^3);
+endfunction
+n = 3;
+x = ones(n, 1);
+//
+// 8.1 Jacobian with various orders
+global FEVAL;
+FEVAL = 0;
+g = numderivative(myFevalFun, x, [], 1);
+assert_checkequal ( FEVAL, n+1 );
+//
+FEVAL = 0;
+g = numderivative(myFevalFun, x, [], 2);
+assert_checkequal ( FEVAL, 2*n );
+//
+FEVAL = 0;
+g = numderivative(myFevalFun, x, [], 4);
+assert_checkequal ( FEVAL, 4*n );
+//
+// 8.2 Hessian with various orders
+FEVAL = 0;
+[g, H] = numderivative(myFevalFun, x, [], 1);
+assert_checkequal ( FEVAL, (n+1)^2+n+1 );
+//
+FEVAL = 0;
+[g, H] = numderivative(myFevalFun, x, [], 2);
+assert_checkequal ( FEVAL, 4*n^2+2*n );
+//
+FEVAL = 0;
+[g, H] = numderivative(myFevalFun, x, [], 4);
+assert_checkequal ( FEVAL, 16*n^2+4*n );
+//
+// 9. Check error messages.
+//
+// 9.1 Cannot evaluate the function - Function case
+//
+x = [1.; 2.];
+Q = qr(rand(2, 2));
+instr = "J = numderivative(myexample, x, [], [], [], Q)";
+lclmsg = "%s: Error while evaluating the function: ""%s""\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", _("Invalid index.") );
+// 9.2 Cannot evaluate the function - List case
+function y = myfunction6 (x, p1, p2)
+ y = p1*x*x + p2;
+endfunction
+x = [1.; 2.];
+Q = qr(rand(2, 2));
+funf = list(myfunction6, 7., 8.);
+instr = "J = numderivative(funf, x, [], [], [], Q)";
+lclmsg = "%s: Error while evaluating the function: ""%s""\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", msprintf(_("Inconsistent multiplication.\n")));
+// 9.3 Various error cases
+x = 2;
+// Correct calling sequence: [J, H] = numderivative(myfunction, x)
+// Number of input arguments
+instr = "J = numderivative()";
+lclmsg = "%s: Wrong number of input arguments: %d to %d expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 2, 6 );
+// Wrong type of f
+myfunction7 = "myfunction";
+instr = "[J, H] = numderivative(myfunction7, x)";
+lclmsg = "%s: Wrong type for argument #%d: Function or list expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 1 );
+// Wrong type of x
+xx = "";
+instr = "[J, H] = numderivative(myfunction, xx)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 2 );
+// Wrong type of h
+hh = "";
+instr = "[J, H] = numderivative(myfunction, x, hh)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 3 );
+// Wrong type of order
+oo = "";
+instr = "[J, H] = numderivative(myfunction, x, [], oo)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 4 );
+// Wrong type of H_form
+HHform = 12;
+instr = "[J, H] = numderivative(myfunction, x, [], [], HHform)";
+lclmsg = "%s: Wrong type for input argument #%d: String array expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 5 );
+// Wrong type of Q
+Q = "";
+instr = "[J, H] = numderivative(myfunction, x, [], [], [], Q)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 6 );
+// Wrong size of f (list case)
+myfunl = list(myfunction);
+instr = "[J, H] = numderivative(myfunl, x)";
+lclmsg = "%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 1, 2, 1 );
+// Wrong size of x
+x = [1. 2.; 3. 4.];
+xx = x';
+instr = "[J, H] = numderivative(myfunction2, xx)";
+lclmsg = "%s: Wrong size for input argument #%d: Vector expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 2 );
+// Wrong size of h
+x = [1.0; 2.0];
+h = [1; 2; 3];
+instr = "[J, H] = numderivative(myfunction2, x, h)";
+lclmsg = "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 3, 1);
+// Wrong size of order
+x = [1.0; 2.0];
+order = [1; 2; 4];
+instr = "[J, H] = numderivative(myfunction2, x, [], order)";
+lclmsg = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 4, 1, 1);
+// Wrong size of H_form
+x = [1.0; 2.0];
+H_form = ["blockmat" "hypermat"];
+instr = "[J, H] = numderivative(myfunction2, x, [], [], H_form)";
+lclmsg = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 5, 1, 1);
+// Wrong size of Q
+x = [1.0; 2.0];
+Q = ones(2, 3);
+instr = "[J, H] = numderivative(myfunction2, x, [], [], [], Q)";
+lclmsg = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 6, 2, 2);
+// 10. Check that a nonzero step is used for components of x which are zero.
+// Check also that a scaled step is used.
+x=[0; 0; 1.e-50];
+[g1, g2] = exactg(x);
+[H1, H2] = exactH(x);
+Jexpected = [g1'; g2'];
+Hexpected = [H1(:)'; H2(:)'];
+// 10.1 Check Jacobian and Hessian with default options
+Jcomputed = numderivative(myexample, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 , 1.e-10);
+// For the Jacobian, the step used is h = [%eps^(1/3); %eps^(1/3); %eps^(1/3)*1.e50]
+// 11. Prove the numerical superiority of numderivative.
+// Although the step provided by numderivative is not always
+// optimal, it is often sufficiently accurate.
+// Print the number of significant digits.
+// x = 1.00D-100, numdiff = 0, derivative = 0, numderivative = 11
+// x = 1.000D-32, numdiff = 0, derivative = 0, numderivative = 10
+// x = 1.000D+32, numdiff = 5, derivative = 0, numderivative = 11
+// x = 1.00D+100, numdiff = 5, derivative = 0, numderivative = 10
+// x = 1, numdiff = 7, derivative = 11, numderivative = 11
+function y = myfunction10 (x)
+ y = x^3;
+endfunction
+function y = g10 (x)
+ y = 3*x^2;
+endfunction
+for x = [10^-100 10^-32 10^32 10^100 1]
+ exact = g10 (x);
+ g3 = numderivative(myfunction10, x);
+ d3 = assert_computedigits ( g3, exact );
+ assert_checktrue ( d3 > 9 );
+end
+// 12. Check that numderivative also accepts row vector x
+function f = myfunction11(x)
+ f = x(1)*x(1) + x(1)*x(2);
+endfunction
+// 12.1 Check with row x
+x = [5 8];
+g = numderivative(myfunction11, x);
+exact = [18 5];
+assert_checkalmostequal ( g , exact , 1.e-9 );
+// 12.2 Check with h
+h = sqrt(%eps)*(1+1d-3*abs(x));
+g = numderivative(myfunction11, x, h);
+assert_checkalmostequal ( g , exact , 1.e-8 );
+// 13. Check that we can derivate a compiled function
+x = 1;
+g = numderivative (sqrt, x);
+assert_checkalmostequal ( g , 0.5 , 1.e-8 );
+// 14.1 Check that numderivative works when f takes extra arguments
+function y = f(x, A, p, w)
+ y = x'*A*x + p'*x + w;
+endfunction
+// with Jacobian and Hessian given
+// by J(x) = x'*(A+A')+p' and H(x) = A+A'.
+A = rand(3, 3);
+p = rand(3, 1);
+w = 1;
+x = rand(3, 1);
+h = 1;
+[J, H] = numderivative(list(f, A, p, w), x, h, [], "blockmat");
+assert_checkalmostequal( J , x'*(A+A')+p' );
+assert_checkalmostequal( H , A+A' );
+// 14.2 Same test with a different function
+function y = G(x, p)
+ f1 = sin(x(1)*x(2)*p) + exp(x(2)*x(3)+x(1));
+ f2 = sum(x.^3);
+ y = [f1; f2];
+endfunction
+x = rand(3, 1);
+p = 1;
+df1_dx1 = cos(x(1)*x(2)*p)*x(2)*p+exp(x(2)*x(3)+x(1));
+df1_dx2 = cos(x(1)*x(2)*p)*x(1)*p+exp(x(2)*x(3)+x(1))*x(3);
+df1_dx3 = exp(x(2)*x(3)+x(1))*x(2);
+df2_dx1 = 3*x(1)^2;
+df2_dx2 = 3*x(2)^2;
+df2_dx3 = 3*x(3)^2;
+expectedJ = [df1_dx1 df1_dx2 df1_dx3;
+df2_dx1 df2_dx2 df2_dx3 ];
+df1_dx11 = -sin(x(1)*x(2)*p)*x(2)^2*p^2+exp(x(2)*x(3)+x(1));
+df1_dx12 = -sin(x(1)*x(2)*p)*x(1)*x(2)*p^2+cos(x(1)*x(2)*p)*p+exp(x(2)*x(3)+x(1))*x(3);
+df1_dx13 = exp(x(2)*x(3)+x(1))*x(2);
+df1_dx21 = df1_dx12;
+df1_dx22 = -sin(x(1)*x(2)*p)*x(1)^2*p^2+exp(x(2)*x(3)+x(1))*x(3)^2;
+df1_dx23 = exp(x(2)*x(3)+x(1))*(1+x(3)*x(2));
+df1_dx31 = df1_dx13;
+df1_dx32 = df1_dx23;
+df1_dx33 = exp(x(2)*x(3)+x(1))*x(2)^2;
+df2_dx11 = 6*x(1);
+df2_dx12 = 0;
+df2_dx13 = 0;
+df2_dx21 = 0;
+df2_dx22 = 6*x(2);
+df2_dx23 = 0;
+df2_dx31 = 0;
+df2_dx32 = 0;
+df2_dx33 = 6*x(3);
+expectedH = [df1_dx11 df1_dx12 df1_dx13 df1_dx21 df1_dx22 df1_dx23 df1_dx31 df1_dx32 df1_dx33;
+df2_dx11 df2_dx12 df2_dx13 df2_dx21 df2_dx22 df2_dx23 df2_dx31 df2_dx32 df2_dx33 ];
+[J, H] = numderivative(list(G, p), x);
+assert_checkalmostequal( J , expectedJ );
+assert_checkalmostequal( H , expectedH , [], 1e-7);
diff --git a/modules/optimization/tests/unit_tests/numderivative.tst b/modules/optimization/tests/unit_tests/numderivative.tst
new file mode 100755
index 000000000..e1534bee1
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/numderivative.tst
@@ -0,0 +1,484 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- JVM NOT MANDATORY -->
+
+// 1. Test with a scalar argument
+function y = myfunction (x)
+ y = x*x;
+endfunction
+
+x = 1.0;
+expected = 2.0;
+// 1.1 With default parameters
+computed = numderivative(myfunction, x);
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.2 Test order 1
+computed = numderivative(myfunction, x, [], 1);
+assert_checkalmostequal ( computed , expected , 1.e-8 );
+// 1.3 Test order 2
+computed = numderivative(myfunction, x, [], 2);
+assert_checkalmostequal ( computed , expected , 1.e-11 );
+// 1.4 Test order 4
+computed = numderivative(myfunction, x, [], 4);
+assert_checkalmostequal ( computed , expected , 1.e-13 );
+// 1.5 Compute second numderivative at the same time
+Jexpected = 2.0;
+Hexpected = 2.0;
+[Jcomputed, Hcomputed] = numderivative(myfunction, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.6 Test order 1
+[Jcomputed, Hcomputed] = numderivative(myfunction, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 1.7 Test order 2
+[Jcomputed, Hcomputed] = numderivative(myfunction, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-11 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 1.8 Test order 4
+[Jcomputed, Hcomputed] = numderivative(myfunction, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+// 1.9 Configure the step
+computed = numderivative(myfunction, x, 1.e-1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+// 1.10 Configure the step
+[Jcomputed, Hcomputed] = numderivative(myfunction,x,1.e-1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-11 );
+
+// 2. Test with a vector argument
+function y = myfunction2 (x)
+ y = x(1)*x(1) + x(2) + x(1)*x(2);
+endfunction
+x = [1.0; 2.0];
+Jexpected = [4. 2.];
+Hexpected = [2. 1. 1. 0.];
+// 2.1 With default parameters
+computed = numderivative(myfunction2, x);
+assert_checkalmostequal ( computed , Jexpected , 1.e-10 );
+// 2.2 Test order 1
+computed = numderivative(myfunction2, x, [], 1);
+assert_checkalmostequal ( computed , Jexpected , 1.e-8 );
+// 2.3 Test order 2
+computed = numderivative(myfunction2, x, [], 2);
+assert_checkalmostequal ( computed , Jexpected , 1.e-10 );
+// 2.4 Test order 4
+computed = numderivative(myfunction2, x, [], 4);
+assert_checkalmostequal ( computed , Jexpected , 1.e-13 );
+
+// 2.5 Compute second numderivative at the same time
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.6 Test order 1
+[Jcomputed , Hcomputed] = numderivative(myfunction2, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 );
+// 2.7 Test order 2
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 2.8 Test order 4
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+//
+// 2.9 Configure the step - Expansion of scalar h to the same size as x
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, 1.e-1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-13 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-10, 1.e-10 );
+// 2.10 Configure the step - Expansion of scalar h to the same size as x
+h = %eps^(1/3)*abs(x);
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, h);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-8 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-5 , 1.e-5);
+
+// 3. Test H_form
+// 3.1 Test H_form = "default"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0 1.0 0.0];
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], [], "default");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.2 Test H_form = "hypermat"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x , [], [], "hypermat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+// 3.3 Test H_form = "blockmat"
+Jexpected = [4.0 2.0];
+Hexpected = [2.0 1.0
+1.0 0.0];
+[Jcomputed, Hcomputed] = numderivative(myfunction2, x, [], [], "blockmat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , %eps );
+
+// 5. Test h parameter
+// Test a case where the default step h is very small ~ 1.e-9,
+// but, because the function is very flat in the neighbourhood of the
+// point, a larger step ~ 1.e-4 reduces the error.
+// This means that this test cannot pass if the right step is
+// not taken into account, therefore testing the feature "h is used correctly".
+myn = 1.e5;
+function y = myfunction3 (x)
+ y = x^(2/myn);
+endfunction
+x = 1.0;
+h = 6.055454e-006;
+Jexpected = (2/myn) * x^(2/myn-1);
+Hexpected = (2/myn) * (2/myn-1) * x^(2/myn-2);
+[Jcomputed, Hcomputed] = numderivative(myfunction3, x, 1.e-4, 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-4 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-3 );
+
+// 6. Test Q parameter
+function y = myfunction4 (x)
+ y = x(1)*x(1) + x(2)+ x(1)*x(2);
+endfunction
+x = [1.; 2.];
+Jexpected = [4. 2.];
+Hexpected = [2. 1. 1. 0.];
+//
+rand("seed", 0);
+Q = qr(rand(2, 2));
+[Jcomputed, Hcomputed] = numderivative(myfunction4, x, [], [], [], Q);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-8, 1.e-7 );
+//
+// 7. Test vector output y
+function y = myexample(x)
+ f1 = sin(x(1)*x(2)) + exp(x(2)*x(3)+x(1));
+ f2 = sum(x.^3);
+ y = [f1; f2];
+endfunction
+// The exact gradient
+function [g1, g2] = exactg(x)
+ g1(1) = cos(x(1)*x(2))*x(2) + exp(x(2)*x(3)+x(1));
+ g1(2) = cos(x(1)*x(2))*x(1) + exp(x(2)*x(3)+x(1))*x(3);
+ g1(3) = exp(x(2)*x(3)+x(1))*x(2);
+ g2(1) = 3*x(1)^2;
+ g2(2) = 3*x(2)^2;
+ g2(3) = 3*x(3)^2;
+endfunction
+// The exact Hessian
+function [H1, H2] = exactH(x)
+ H1(1, 1) = -sin(x(1)*x(2))*x(2)^2 + exp(x(2)*x(3)+x(1));
+ H1(1, 2) = cos(x(1)*x(2)) - sin(x(1)*x(2))*x(2)*x(1) + exp(x(2)*x(3)+x(1))*x(3);
+ H1(1, 3) = exp(x(2)*x(3)+x(1))*x(2);
+ H1(2, 1) = H1(1, 2);
+ H1(2, 2) = -sin(x(1)*x(2))*x(1)^2 + exp(x(2)*x(3)+x(1))*x(3)^2;
+ H1(2, 3) = exp(x(2)*x(3)+x(1)) + exp(x(2)*x(3)+x(1))*x(3)*x(2);
+ H1(3, 1) = H1(1, 3);
+ H1(3, 2) = H1(2, 3);
+ H1(3, 3) = exp(x(2)*x(3)+x(1))*x(2)^2;
+ //
+ H2(1, 1) = 6*x(1);
+ H2(1, 2) = 0;
+ H2(1, 3) = 0;
+ H2(2, 1) = H2(1, 2);
+ H2(2, 2) = 6*x(2);
+ H2(2, 3) = 0;
+ H2(3, 1) = H2(1, 3);
+ H2(3, 2) = H2(2, 3);
+ H2(3, 3) = 6*x(3);
+endfunction
+
+x=[1; 2; 3];
+[g1, g2] = exactg(x);
+[H1, H2] = exactH(x);
+Jexpected = [g1'; g2'];
+Hexpected = [H1(:)'; H2(:)'];
+// 7.1.1 Check Jacobian with default options
+Jcomputed = numderivative(myexample, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+// 7.1.2 Check Jacobian with order = 1
+Jcomputed = numderivative(myexample, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-7 );
+// 7.1.3 Check Jacobian with order = 2
+Jcomputed = numderivative(myexample, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+// 7.1.4 Check Jacobian with order = 4
+Jcomputed = numderivative(myexample, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+// 7.2.1 Check Jacobian and Hessian with default options
+[Jcomputed, Hcomputed] = numderivative(myexample, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 7.2.2 Check Jacobian and Hessian with order = 1
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], 1);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-7 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-4 );
+// 7.2.3 Check Jacobian and Hessian with order = 2
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], 2);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+// 7.2.3 Check Jacobian and Hessian with order = 4
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], 4);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-10 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-4 , 1e-9);
+//
+// 7.3 Test with "blockmat"
+Jexpected = [g1'; g2'];
+Hexpected = [H1; H2];
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], [], "blockmat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+//
+// 7.4 Test with "hypermat"
+Jexpected = [g1'; g2'];
+Hexpected = [];
+Hexpected(:, :, 1) = H1;
+Hexpected(:, :, 2) = H2;
+[Jcomputed, Hcomputed] = numderivative(myexample, x, [], [], "hypermat");
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 );
+assert_checkequal ( size(Hcomputed) , [3 3 2] );
+// This is a limitation of assert (http://bugzilla.scilab.org/show_bug.cgi?id=9461)
+// assert_checkalmostequal ( Hcomputed , Hexpected , 1.e-6 );
+assert_checkalmostequal ( Hexpected(:, :, 1) , Hexpected(:, :, 1) , 1.e-6);
+assert_checkalmostequal ( Hexpected(:, :, 2) , Hexpected(:, :, 2) , 1.e-6);
+//
+// 8. Check the number of function evaluations
+function y = myFevalFun(x)
+ global FEVAL
+ FEVAL = FEVAL + 1;
+ y = sum(x.^3);
+endfunction
+n = 3;
+x = ones(n, 1);
+//
+// 8.1 Jacobian with various orders
+global FEVAL;
+FEVAL = 0;
+g = numderivative(myFevalFun, x, [], 1);
+assert_checkequal ( FEVAL, n+1 );
+//
+FEVAL = 0;
+g = numderivative(myFevalFun, x, [], 2);
+assert_checkequal ( FEVAL, 2*n );
+//
+FEVAL = 0;
+g = numderivative(myFevalFun, x, [], 4);
+assert_checkequal ( FEVAL, 4*n );
+//
+// 8.2 Hessian with various orders
+FEVAL = 0;
+[g, H] = numderivative(myFevalFun, x, [], 1);
+assert_checkequal ( FEVAL, (n+1)^2+n+1 );
+//
+FEVAL = 0;
+[g, H] = numderivative(myFevalFun, x, [], 2);
+assert_checkequal ( FEVAL, 4*n^2+2*n );
+//
+FEVAL = 0;
+[g, H] = numderivative(myFevalFun, x, [], 4);
+assert_checkequal ( FEVAL, 16*n^2+4*n );
+
+//
+// 9. Check error messages.
+//
+// 9.1 Cannot evaluate the function - Function case
+//
+x = [1.; 2.];
+Q = qr(rand(2, 2));
+instr = "J = numderivative(myexample, x, [], [], [], Q)";
+lclmsg = "%s: Error while evaluating the function: ""%s""\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", _("Invalid index.") );
+// 9.2 Cannot evaluate the function - List case
+function y = myfunction6 (x, p1, p2)
+ y = p1*x*x + p2;
+endfunction
+x = [1.; 2.];
+Q = qr(rand(2, 2));
+funf = list(myfunction6, 7., 8.);
+instr = "J = numderivative(funf, x, [], [], [], Q)";
+lclmsg = "%s: Error while evaluating the function: ""%s""\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", msprintf(_("Inconsistent multiplication.\n")));
+// 9.3 Various error cases
+x = 2;
+// Correct calling sequence: [J, H] = numderivative(myfunction, x)
+// Number of input arguments
+instr = "J = numderivative()";
+lclmsg = "%s: Wrong number of input arguments: %d to %d expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 2, 6 );
+// Wrong type of f
+myfunction7 = "myfunction";
+instr = "[J, H] = numderivative(myfunction7, x)";
+lclmsg = "%s: Wrong type for argument #%d: Function or list expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 1 );
+// Wrong type of x
+xx = "";
+instr = "[J, H] = numderivative(myfunction, xx)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 2 );
+// Wrong type of h
+hh = "";
+instr = "[J, H] = numderivative(myfunction, x, hh)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 3 );
+// Wrong type of order
+oo = "";
+instr = "[J, H] = numderivative(myfunction, x, [], oo)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 4 );
+// Wrong type of H_form
+HHform = 12;
+instr = "[J, H] = numderivative(myfunction, x, [], [], HHform)";
+lclmsg = "%s: Wrong type for input argument #%d: String array expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 5 );
+// Wrong type of Q
+Q = "";
+instr = "[J, H] = numderivative(myfunction, x, [], [], [], Q)";
+lclmsg = "%s: Wrong type for argument #%d: Matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 6 );
+// Wrong size of f (list case)
+myfunl = list(myfunction);
+instr = "[J, H] = numderivative(myfunl, x)";
+lclmsg = "%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 1, 2, 1 );
+// Wrong size of x
+x = [1. 2.; 3. 4.];
+xx = x';
+instr = "[J, H] = numderivative(myfunction2, xx)";
+lclmsg = "%s: Wrong size for input argument #%d: Vector expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 2 );
+// Wrong size of h
+x = [1.0; 2.0];
+h = [1; 2; 3];
+instr = "[J, H] = numderivative(myfunction2, x, h)";
+lclmsg = "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 3, 1);
+// Wrong size of order
+x = [1.0; 2.0];
+order = [1; 2; 4];
+instr = "[J, H] = numderivative(myfunction2, x, [], order)";
+lclmsg = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 4, 1, 1);
+// Wrong size of H_form
+x = [1.0; 2.0];
+H_form = ["blockmat" "hypermat"];
+instr = "[J, H] = numderivative(myfunction2, x, [], [], H_form)";
+lclmsg = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 5, 1, 1);
+// Wrong size of Q
+x = [1.0; 2.0];
+Q = ones(2, 3);
+instr = "[J, H] = numderivative(myfunction2, x, [], [], [], Q)";
+lclmsg = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror (instr, lclmsg, [], "numderivative", 6, 2, 2);
+
+// 10. Check that a nonzero step is used for components of x which are zero.
+// Check also that a scaled step is used.
+x=[0; 0; 1.e-50];
+[g1, g2] = exactg(x);
+[H1, H2] = exactH(x);
+Jexpected = [g1'; g2'];
+Hexpected = [H1(:)'; H2(:)'];
+// 10.1 Check Jacobian and Hessian with default options
+Jcomputed = numderivative(myexample, x);
+assert_checkalmostequal ( Jcomputed , Jexpected , 1.e-9 , 1.e-10);
+// For the Jacobian, the step used is h = [%eps^(1/3); %eps^(1/3); %eps^(1/3)*1.e50]
+
+// 11. Prove the numerical superiority of numderivative.
+// Although the step provided by numderivative is not always
+// optimal, it is often sufficiently accurate.
+// Print the number of significant digits.
+// x = 1.00D-100, numdiff = 0, derivative = 0, numderivative = 11
+// x = 1.000D-32, numdiff = 0, derivative = 0, numderivative = 10
+// x = 1.000D+32, numdiff = 5, derivative = 0, numderivative = 11
+// x = 1.00D+100, numdiff = 5, derivative = 0, numderivative = 10
+// x = 1, numdiff = 7, derivative = 11, numderivative = 11
+
+function y = myfunction10 (x)
+ y = x^3;
+endfunction
+function y = g10 (x)
+ y = 3*x^2;
+endfunction
+for x = [10^-100 10^-32 10^32 10^100 1]
+ exact = g10 (x);
+ g3 = numderivative(myfunction10, x);
+ d3 = assert_computedigits ( g3, exact );
+ assert_checktrue ( d3 > 9 );
+end
+
+// 12. Check that numderivative also accepts row vector x
+function f = myfunction11(x)
+ f = x(1)*x(1) + x(1)*x(2);
+endfunction
+// 12.1 Check with row x
+x = [5 8];
+g = numderivative(myfunction11, x);
+exact = [18 5];
+assert_checkalmostequal ( g , exact , 1.e-9 );
+// 12.2 Check with h
+h = sqrt(%eps)*(1+1d-3*abs(x));
+g = numderivative(myfunction11, x, h);
+assert_checkalmostequal ( g , exact , 1.e-8 );
+
+// 13. Check that we can derivate a compiled function
+x = 1;
+g = numderivative (sqrt, x);
+assert_checkalmostequal ( g , 0.5 , 1.e-8 );
+
+// 14.1 Check that numderivative works when f takes extra arguments
+function y = f(x, A, p, w)
+ y = x'*A*x + p'*x + w;
+endfunction
+// with Jacobian and Hessian given
+// by J(x) = x'*(A+A')+p' and H(x) = A+A'.
+A = rand(3, 3);
+p = rand(3, 1);
+w = 1;
+x = rand(3, 1);
+h = 1;
+[J, H] = numderivative(list(f, A, p, w), x, h, [], "blockmat");
+assert_checkalmostequal( J , x'*(A+A')+p' );
+assert_checkalmostequal( H , A+A' );
+// 14.2 Same test with a different function
+function y = G(x, p)
+ f1 = sin(x(1)*x(2)*p) + exp(x(2)*x(3)+x(1));
+ f2 = sum(x.^3);
+ y = [f1; f2];
+endfunction
+x = rand(3, 1);
+p = 1;
+df1_dx1 = cos(x(1)*x(2)*p)*x(2)*p+exp(x(2)*x(3)+x(1));
+df1_dx2 = cos(x(1)*x(2)*p)*x(1)*p+exp(x(2)*x(3)+x(1))*x(3);
+df1_dx3 = exp(x(2)*x(3)+x(1))*x(2);
+df2_dx1 = 3*x(1)^2;
+df2_dx2 = 3*x(2)^2;
+df2_dx3 = 3*x(3)^2;
+expectedJ = [df1_dx1 df1_dx2 df1_dx3;
+df2_dx1 df2_dx2 df2_dx3 ];
+df1_dx11 = -sin(x(1)*x(2)*p)*x(2)^2*p^2+exp(x(2)*x(3)+x(1));
+df1_dx12 = -sin(x(1)*x(2)*p)*x(1)*x(2)*p^2+cos(x(1)*x(2)*p)*p+exp(x(2)*x(3)+x(1))*x(3);
+df1_dx13 = exp(x(2)*x(3)+x(1))*x(2);
+df1_dx21 = df1_dx12;
+df1_dx22 = -sin(x(1)*x(2)*p)*x(1)^2*p^2+exp(x(2)*x(3)+x(1))*x(3)^2;
+df1_dx23 = exp(x(2)*x(3)+x(1))*(1+x(3)*x(2));
+df1_dx31 = df1_dx13;
+df1_dx32 = df1_dx23;
+df1_dx33 = exp(x(2)*x(3)+x(1))*x(2)^2;
+df2_dx11 = 6*x(1);
+df2_dx12 = 0;
+df2_dx13 = 0;
+df2_dx21 = 0;
+df2_dx22 = 6*x(2);
+df2_dx23 = 0;
+df2_dx31 = 0;
+df2_dx32 = 0;
+df2_dx33 = 6*x(3);
+expectedH = [df1_dx11 df1_dx12 df1_dx13 df1_dx21 df1_dx22 df1_dx23 df1_dx31 df1_dx32 df1_dx33;
+df2_dx11 df2_dx12 df2_dx13 df2_dx21 df2_dx22 df2_dx23 df2_dx31 df2_dx32 df2_dx33 ];
+[J, H] = numderivative(list(G, p), x);
+assert_checkalmostequal( J , expectedJ );
+assert_checkalmostequal( H , expectedH , [], 1e-7);
diff --git a/modules/optimization/tests/unit_tests/optim_costflist.dia.ref b/modules/optimization/tests/unit_tests/optim_costflist.dia.ref
new file mode 100755
index 000000000..be83daeb3
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_costflist.dia.ref
@@ -0,0 +1,59 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+//
+// optim_costflist.tst --
+// Test the optim command in the case where the cost function is a list.
+//
+//
+// In the following case, costf is equal to list(sipn,sip2,ne,nc,cpen)
+// where sipn is a function.
+// The case is even more complex, since the 3d argument
+// of sipn is the dummy argument sip1, which is, in turn,
+// a function which real value is sip2.
+// penalization (see doc)
+//
+// min (x1^2 +x2^2)/2 ; x1>=0, x1 + x2 =1 (solution [0.5 0.5] )
+function [f,g,ind]=sip2(x,ind)
+ f= [ x(1)+x(2)-1, -x(1), (x(1)^2+x(2)^2)/2]
+ g= [ 1, -1, x(1); 1, 0, x(2)]
+endfunction
+cpen=50;
+ne=1;
+nc=2;
+bi=[0 0];
+bs=[2 2];
+function [fpen,gpen,ind]=sipn(x,ind,sip1,ne,nc,cpen)
+ [f,g,indic]=sip1(x,ind)
+ if indic < 0 then
+ ind=indic
+ return
+ end
+ if nc >ne then
+ for i=ne+1:nc
+ f(i)=max([0 f(i)])
+ end
+ end
+ fpen=f(nc+1) + cpen*norm(f(1:nc))^2/2';
+ if ind==2 then
+ return
+ end
+ gpen=g(:,nc+1)
+ if ne > 0 then
+ for i=1:ne
+ gpen=gpen + cpen*f(i)*g(:,i)
+ end
+ end
+ if nc > ne then
+ for i=ne+1:nc
+ if f(i) > 0 then
+ gpen=gpen + cpen*f(i)*g(:,i)
+ end
+ end
+ end;
+endfunction
+[f,x,g]=optim(list(sipn,sip2,ne,nc,cpen),...
+ 'b',bi,bs,[1 1],'ar',20,20,1.e-15);
+if norm(x-[0.5 0.5]) + norm(g) > 0.1 then bugmes();quit;end
diff --git a/modules/optimization/tests/unit_tests/optim_costflist.tst b/modules/optimization/tests/unit_tests/optim_costflist.tst
new file mode 100755
index 000000000..78d8c62b3
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_costflist.tst
@@ -0,0 +1,66 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// optim_costflist.tst --
+// Test the optim command in the case where the cost function is a list.
+//
+//
+// In the following case, costf is equal to list(sipn,sip2,ne,nc,cpen)
+// where sipn is a function.
+// The case is even more complex, since the 3d argument
+// of sipn is the dummy argument sip1, which is, in turn,
+// a function which real value is sip2.
+// penalization (see doc)
+//
+// min (x1^2 +x2^2)/2 ; x1>=0, x1 + x2 =1 (solution [0.5 0.5] )
+
+function [f,g,ind]=sip2(x,ind)
+ f= [ x(1)+x(2)-1, -x(1), (x(1)^2+x(2)^2)/2]
+ g= [ 1, -1, x(1); 1, 0, x(2)]
+endfunction
+
+cpen=50;
+ne=1;
+nc=2;
+bi=[0 0];
+bs=[2 2];
+
+function [fpen,gpen,ind]=sipn(x,ind,sip1,ne,nc,cpen)
+ [f,g,indic]=sip1(x,ind)
+ if indic < 0 then
+ ind=indic
+ return
+ end
+ if nc >ne then
+ for i=ne+1:nc
+ f(i)=max([0 f(i)])
+ end
+ end
+ fpen=f(nc+1) + cpen*norm(f(1:nc))^2/2';
+ if ind==2 then
+ return
+ end
+ gpen=g(:,nc+1)
+ if ne > 0 then
+ for i=1:ne
+ gpen=gpen + cpen*f(i)*g(:,i)
+ end
+ end
+ if nc > ne then
+ for i=ne+1:nc
+ if f(i) > 0 then
+ gpen=gpen + cpen*f(i)*g(:,i)
+ end
+ end
+ end;
+endfunction
+[f,x,g]=optim(list(sipn,sip2,ne,nc,cpen),...
+ 'b',bi,bs,[1 1],'ar',20,20,1.e-15);
+if norm(x-[0.5 0.5]) + norm(g) > 0.1 then pause,end
+
diff --git a/modules/optimization/tests/unit_tests/optim_matrix.dia.ref b/modules/optimization/tests/unit_tests/optim_matrix.dia.ref
new file mode 100755
index 000000000..849818e9d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_matrix.dia.ref
@@ -0,0 +1,38 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// optim_matrix.tst --
+// Test the optim command when the optimized unknown is a matrix.
+//
+Leps=8.e-5;
+// Test #1
+// The expected solution of the problem is A^-1
+// Test with norm 2
+deff('[f,g,ind]=ndsim1(x,ind)', 'y=A*x-b;f=norm(y,2)^2;g=2*A''*y')
+A=rand(2,2);
+b=eye(A);
+x0=eye(2,2);
+[f,X,g]=optim(ndsim1,x0);
+if norm(X-inv(A))>Leps then bugmes();quit;end
+// Test #2
+// The expected solution of the problem is the solution of Ax=b
+deff('[f,g,ind]=ndsim2(x,ind)', 'y=A*x-b;f=sum(abs(y));g=A''*sign(y)')
+A=rand(2,2);
+b=[1;0];
+Ai=inv(A);
+[f,x,g]=optim(ndsim2,[1;0],'nd');
+if norm(x-Ai(:,1))>Leps then bugmes();quit;end
+// Test #3
+deff('[f,g,ind]=ndsim3(x,ind)', [
+'y=A*x-b;f=max(abs(y)),sel=abs(y)==f'
+'g=A(sel,:)''*sign(y(sel))']);
+// TODO : test something ! These are hidden dead bodies...
+//A=rand(2,2);
+//b=[1;0];
+//Ai=inv(A);
+//[f,x,g]=optim(ndsim,[1;0],'nd');
+//if norm(x-Ai(:,1))>Leps then bugmes();quit;end
diff --git a/modules/optimization/tests/unit_tests/optim_matrix.tst b/modules/optimization/tests/unit_tests/optim_matrix.tst
new file mode 100755
index 000000000..6ad5ca3ba
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_matrix.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+//
+// optim_matrix.tst --
+// Test the optim command when the optimized unknown is a matrix.
+//
+Leps=8.e-5;
+// Test #1
+// The expected solution of the problem is A^-1
+// Test with norm 2
+deff('[f,g,ind]=ndsim1(x,ind)', 'y=A*x-b;f=norm(y,2)^2;g=2*A''*y')
+A=rand(2,2);
+b=eye(A);
+x0=eye(2,2);
+[f,X,g]=optim(ndsim1,x0);
+if norm(X-inv(A))>Leps then pause,end
+// Test #2
+// The expected solution of the problem is the solution of Ax=b
+deff('[f,g,ind]=ndsim2(x,ind)', 'y=A*x-b;f=sum(abs(y));g=A''*sign(y)')
+A=rand(2,2);
+b=[1;0];
+Ai=inv(A);
+[f,x,g]=optim(ndsim2,[1;0],'nd');
+if norm(x-Ai(:,1))>Leps then pause,end
+// Test #3
+deff('[f,g,ind]=ndsim3(x,ind)', [
+'y=A*x-b;f=max(abs(y)),sel=abs(y)==f'
+'g=A(sel,:)''*sign(y(sel))']);
+// TODO : test something ! These are hidden dead bodies...
+//A=rand(2,2);
+//b=[1;0];
+//Ai=inv(A);
+//[f,x,g]=optim(ndsim,[1;0],'nd');
+//if norm(x-Ai(:,1))>Leps then pause,end
+
diff --git a/modules/optimization/tests/unit_tests/optim_scilabscript.dia.ref b/modules/optimization/tests/unit_tests/optim_scilabscript.dia.ref
new file mode 100755
index 000000000..7f701fa6e
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_scilabscript.dia.ref
@@ -0,0 +1,1435 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK REF -->
+//
+// Do not check ref, because imp option create an output messages
+// which contains lots of floating point values which may
+// be slightly different across platforms, without being bugs.
+//
+// optim_script.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is a Scilab function.
+// The expected solution is x=(1,...,1) where f(x)=0
+//
+Leps=1.e-3;
+bs=[5 5];
+bi=-bs;
+x0=[-1.2 1];
+xopt=[1 1];
+fopt = 0.0;
+gopt = [0.0 0.0];
+function [ f , g , ind ] = rosenbrock ( x , ind )
+ if ind == 2 | ind == 4 then
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ end
+ if ind == 2 | ind == 4 then
+ g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(2) = 200. * ( x(2) - x(1)**2 )
+ end
+endfunction
+//
+// Configure the test so that verbose message do not interrupt the test.
+lines(0);
+//
+// 1. Test unconstrained BFGS
+// Test without arguments
+[f,x,g,tr]=optim(rosenbrock,x0);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,x0,'qn','ar',50);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with hot-restart array tr
+[f,x,g,tr]=optim(rosenbrock,x0,'qn','ar',50);
+[f,x,g]=optim(rosenbrock,x0,tr);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,x0,'qn','ar', 50 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=0);
+// imp = 1 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=1);
+
+***** enters -qn code- (without bound cstr)
+dimension= 2, epsq= 0.2220446049250313E-15, verbosity level: imp= 1
+max number of iterations allowed: iter= 100
+max number of calls to costf allowed: nap= 100
+------------------------------------------------
+ iter num 38, nb calls= 46, f=0.0000E+00
+***** leaves -qn code-, gradient norm= 0.0000000000000000E+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+// imp = 2 : one line by iteration
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=2);
+
+***** enters -qn code- (without bound cstr)
+dimension= 2, epsq= 0.2220446049250313E-15, verbosity level: imp= 2
+max number of iterations allowed: iter= 100
+max number of calls to costf allowed: nap= 100
+------------------------------------------------
+ iter num 1, nb calls= 1, f= 24.20
+ iter num 2, nb calls= 2, f= 7.272
+ iter num 3, nb calls= 3, f= 4.350
+ iter num 4, nb calls= 5, f= 3.417
+ iter num 5, nb calls= 6, f= 3.109
+ iter num 6, nb calls= 8, f= 2.888
+ iter num 7, nb calls= 9, f= 2.528
+ iter num 8, nb calls= 10, f= 2.079
+ iter num 9, nb calls= 11, f= 1.684
+ iter num 10, nb calls= 13, f= 1.487
+ iter num 11, nb calls= 14, f= 1.331
+ iter num 12, nb calls= 15, f= 1.094
+ iter num 13, nb calls= 17, f=0.9515
+ iter num 14, nb calls= 18, f=0.7438
+ iter num 15, nb calls= 19, f=0.5691
+ iter num 16, nb calls= 21, f=0.4953
+ iter num 17, nb calls= 22, f=0.4021
+ iter num 18, nb calls= 23, f=0.2856
+ iter num 19, nb calls= 25, f=0.2208
+ iter num 20, nb calls= 26, f=0.1793
+ iter num 21, nb calls= 27, f=0.1226
+ iter num 22, nb calls= 29, f=0.8763E-01
+ iter num 23, nb calls= 30, f=0.6050E-01
+ iter num 24, nb calls= 31, f=0.3408E-01
+ iter num 25, nb calls= 33, f=0.1690E-01
+ iter num 26, nb calls= 34, f=0.1151E-01
+ iter num 27, nb calls= 35, f=0.4470E-02
+ iter num 28, nb calls= 36, f=0.1802E-02
+ iter num 29, nb calls= 37, f=0.4269E-03
+ iter num 30, nb calls= 38, f=0.4499E-04
+ iter num 31, nb calls= 39, f=0.1626E-05
+ iter num 32, nb calls= 40, f=0.1849E-07
+ iter num 33, nb calls= 41, f=0.8950E-10
+ iter num 34, nb calls= 42, f=0.2801E-15
+ iter num 35, nb calls= 43, f=0.4239E-20
+ iter num 36, nb calls= 44, f=0.2642E-25
+ iter num 37, nb calls= 45, f=0.4980E-29
+ iter num 38, nb calls= 46, f=0.0000E+00
+***** leaves -qn code-, gradient norm= 0.0000000000000000E+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+// imp = 3 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=3);
+
+***** enters -qn code- (without bound cstr)
+dimension= 2, epsq= 0.2220446049250313E-15, verbosity level: imp= 3
+max number of iterations allowed: iter= 100
+max number of calls to costf allowed: nap= 100
+------------------------------------------------
+ iter num 1, nb calls= 1, f= 24.20
+ linear search: initial derivative=-232.9
+ step length=0.1000E-01, df=-16.93 , derivative=-85.60
+ iter num 2, nb calls= 2, f= 7.272
+ linear search: initial derivative=-42.24
+ step length= 1.000 , df=-2.923 , derivative=-1.329
+ iter num 3, nb calls= 3, f= 4.350
+ linear search: initial derivative=-1.898
+ step length= 1.000 , df=-.1237 , derivative=-1.824
+ step length= 10.00 , df=-.9331 , derivative=0.2202
+ iter num 4, nb calls= 5, f= 3.417
+ linear search: initial derivative=-5.550
+ step length= 1.000 , df=-.3079 , derivative=-3.790
+ iter num 5, nb calls= 6, f= 3.109
+ linear search: initial derivative=-1.647
+ step length=0.4722 , df=-.4528E-01, derivative= 2.629
+ step length=0.2798 , df=-.2206 , derivative=-.3888E-01
+ iter num 6, nb calls= 8, f= 2.888
+ linear search: initial derivative=-4.438
+ step length=0.6098 , df=-.3600 , derivative=-2.968
+ iter num 7, nb calls= 9, f= 2.528
+ linear search: initial derivative=-3.266
+ step length= 1.000 , df=-.4494 , derivative=-1.801
+ iter num 8, nb calls= 10, f= 2.079
+ linear search: initial derivative=-4.375
+ step length= 1.000 , df=-.3951 , derivative=-2.224
+ iter num 9, nb calls= 11, f= 1.684
+ linear search: initial derivative=-2.203
+ step length=0.2673 , df= 1.009 , derivative= 13.78
+ step length=0.1089 , df=-.1964 , derivative=0.1570
+ iter num 10, nb calls= 13, f= 1.487
+ linear search: initial derivative=-2.478
+ step length= 1.000 , df=-.1558 , derivative=-1.410
+ iter num 11, nb calls= 14, f= 1.331
+ linear search: initial derivative=-4.524
+ step length=0.5294 , df=-.2371 , derivative=-2.628
+ iter num 12, nb calls= 15, f= 1.094
+ linear search: initial derivative=-1.940
+ step length= 1.000 , df=0.5590E-01, derivative= 4.817
+ step length=0.5465 , df=-.1427 , derivative=-.4464E-01
+ iter num 13, nb calls= 17, f=0.9515
+ linear search: initial derivative=-2.968
+ step length= 1.000 , df=-.2076 , derivative=-1.697
+ iter num 14, nb calls= 18, f=0.7438
+ linear search: initial derivative=-2.579
+ step length= 1.000 , df=-.1747 , derivative=-1.324
+ iter num 15, nb calls= 19, f=0.5691
+ linear search: initial derivative=-1.362
+ step length=0.5720 , df=0.6117 , derivative= 10.41
+ step length=0.2117 , df=-.7377E-01, derivative=0.1629
+ iter num 16, nb calls= 21, f=0.4953
+ linear search: initial derivative=-1.489
+ step length= 1.000 , df=-.9325E-01, derivative=-.9504
+ iter num 17, nb calls= 22, f=0.4021
+ linear search: initial derivative=-1.740
+ step length=0.9187 , df=-.1165 , derivative=-.6277
+ iter num 18, nb calls= 23, f=0.2856
+ linear search: initial derivative=-.8565
+ step length=0.7197 , df=0.2244 , derivative= 4.627
+ step length=0.3184 , df=-.6478E-01, derivative=0.4025E-01
+ iter num 19, nb calls= 25, f=0.2208
+ linear search: initial derivative=-.6915
+ step length= 1.000 , df=-.4156E-01, derivative=-.4294
+ iter num 20, nb calls= 26, f=0.1793
+ linear search: initial derivative=-1.024
+ step length=0.5978 , df=-.5666E-01, derivative=-.4359
+ iter num 21, nb calls= 27, f=0.1226
+ linear search: initial derivative=-.4236
+ step length= 1.000 , df=0.2045E-01, derivative= 1.162
+ step length=0.5356 , df=-.3498E-01, derivative=-.7704E-02
+ iter num 22, nb calls= 29, f=0.8763E-01
+ linear search: initial derivative=-.4234
+ step length= 1.000 , df=-.2712E-01, derivative=-.2548
+ iter num 23, nb calls= 30, f=0.6050E-01
+ linear search: initial derivative=-.5418
+ step length= 1.000 , df=-.2643E-01, derivative=-.8204E-01
+ iter num 24, nb calls= 31, f=0.3408E-01
+ linear search: initial derivative=-.2244
+ step length=0.8549 , df=0.1962E-01, derivative=0.7472
+ step length=0.4325 , df=-.1717E-01, derivative=-.6534E-03
+ iter num 25, nb calls= 33, f=0.1690E-01
+ linear search: initial derivative=-.1257
+ step length= 1.000 , df=-.5392E-02, derivative=-.6886E-01
+ iter num 26, nb calls= 34, f=0.1151E-01
+ linear search: initial derivative=-.1993
+ step length=0.6643 , df=-.7042E-02, derivative=-.7138E-01
+ iter num 27, nb calls= 35, f=0.4470E-02
+ linear search: initial derivative=-.6177E-01
+ step length= 1.000 , df=-.2669E-02, derivative=0.1873E-01
+ iter num 28, nb calls= 36, f=0.1802E-02
+ linear search: initial derivative=-.5318
+ step length= 1.000 , df=-.1375E-02, derivative=-.7452E-01
+ iter num 29, nb calls= 37, f=0.4269E-03
+ linear search: initial derivative=-.1952E-01
+ step length= 1.000 , df=-.3819E-03, derivative=-.5887E-02
+ iter num 30, nb calls= 38, f=0.4499E-04
+ linear search: initial derivative=-.6081E-02
+ step length= 1.000 , df=-.4337E-04, derivative=-.6785E-03
+ iter num 31, nb calls= 39, f=0.1626E-05
+ linear search: initial derivative=-.2438E-02
+ step length= 1.000 , df=-.1608E-05, derivative=0.7953E-04
+ iter num 32, nb calls= 40, f=0.1849E-07
+ linear search: initial derivative=-.1711E-03
+ step length= 1.000 , df=-.1840E-07, derivative=0.1167E-04
+ iter num 33, nb calls= 41, f=0.8950E-10
+ linear search: initial derivative=-.1010E-04
+ step length= 1.000 , df=-.8950E-10, derivative=0.1344E-07
+ iter num 34, nb calls= 42, f=0.2801E-15
+ linear search: initial derivative=-.5481E-07
+ step length= 1.000 , df=-.2801E-15, derivative=-.1438E-09
+ iter num 35, nb calls= 43, f=0.4239E-20
+ linear search: initial derivative=-.1106E-09
+ step length= 1.000 , df=-.4239E-20, derivative=-.2044E-12
+ iter num 36, nb calls= 44, f=0.2642E-25
+ linear search: initial derivative=-.1512E-12
+ step length= 1.000 , df=-.2642E-25, derivative=0.4543E-15
+ iter num 37, nb calls= 45, f=0.4980E-29
+ linear search: initial derivative=-.2682E-13
+ step length= 1.000 , df=-.4980E-29, derivative=0.0000E+00
+ iter num 38, nb calls= 46, f=0.0000E+00
+***** leaves -qn code-, gradient norm= 0.0000000000000000E+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+// Negative imp : call back the cost function with ind = 0 each -imp iteration
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=-5);
+Norm of projected gradient lower than 0.0000000D+00.
+
+//
+// 2. Test unconstrained Limited Memory BFGS
+[f,x,g]=optim(rosenbrock,x0,'gc');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g]=optim(rosenbrock,x0,'gc','ar',50);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=1);
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 1
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 1
+ number of iterations: 41
+ number of simulations: 52
+ realized relative precision on g: 0.00D+00
+ norm of x = 0.14142136D+01
+ f = 0.00000000D+00
+ norm of x = 0.00000000D+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=2);
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 2
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 1
+ number of iterations: 41
+ number of simulations: 52
+ realized relative precision on g: 0.00D+00
+ norm of x = 0.14142136D+01
+ f = 0.00000000D+00
+ norm of x = 0.00000000D+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=3);
+ n1qn3: entry point
+ dimension of the problem (n): 2
+ absolute precision on x (dxmin): 0.22D-15
+ expected decrease for f (df1): 0.10D+01
+ relative precision on g (epsg): 0.95D-18
+ maximal number of iterations (niter): 100
+ maximal number of simulations (nsim): 100
+ printing level (impres): 3
+ allocated memory (nrz) : 58
+ used memory : 58
+ number of updates : 10
+
+ f = 0.24200000D+02
+ norm of g = 0.23286769D+03
+ -------------------------------------------------------------------------------
+
+ n1qn3: iter 1, simul 1, f= 0.24200000D+02, h'(0)=-0.20000D+01
+ n1qn3: iter 2, simul 3, f= 0.94705115D+01, h'(0)=-0.92378D+01
+ n1qn3: iter 3, simul 4, f= 0.42678391D+01, h'(0)=-0.24478D+00
+ n1qn3: iter 4, simul 5, f= 0.41332370D+01, h'(0)=-0.58072D-02
+ n1qn3: iter 5, simul 6, f= 0.41288855D+01, h'(0)=-0.83281D-02
+ n1qn3: iter 6, simul 7, f= 0.41219818D+01, h'(0)=-0.27767D-01
+ n1qn3: iter 7, simul 8, f= 0.40992137D+01, h'(0)=-0.82808D-01
+ n1qn3: iter 8, simul 9, f= 0.40279192D+01, h'(0)=-0.40499D+00
+ n1qn3: iter 9, simul 13, f= 0.26255752D+01, h'(0)=-0.16053D+00
+ n1qn3: iter 10, simul 15, f= 0.26148282D+01, h'(0)=-0.38378D-01
+ n1qn3: iter 11, simul 17, f= 0.22964498D+01, h'(0)=-0.62657D+00
+ n1qn3: iter 12, simul 18, f= 0.19818830D+01, h'(0)=-0.70680D+00
+ n1qn3: iter 13, simul 19, f= 0.15797116D+01, h'(0)=-0.49943D+00
+ n1qn3: iter 14, simul 20, f= 0.13542803D+01, h'(0)=-0.33867D+00
+ n1qn3: iter 15, simul 21, f= 0.12033040D+01, h'(0)=-0.20678D+00
+ n1qn3: iter 16, simul 22, f= 0.10169710D+01, h'(0)=-0.64958D+00
+ n1qn3: iter 17, simul 24, f= 0.88479939D+00, h'(0)=-0.18657D+00
+ n1qn3: iter 18, simul 25, f= 0.73594988D+00, h'(0)=-0.31085D+00
+ n1qn3: iter 19, simul 26, f= 0.63444380D+00, h'(0)=-0.42075D+00
+ n1qn3: iter 20, simul 27, f= 0.45317910D+00, h'(0)=-0.12594D+00
+ n1qn3: iter 21, simul 28, f= 0.34356270D+00, h'(0)=-0.22838D+00
+ n1qn3: iter 22, simul 30, f= 0.30624971D+00, h'(0)=-0.55446D-01
+ n1qn3: iter 23, simul 31, f= 0.25851790D+00, h'(0)=-0.14344D+00
+ n1qn3: iter 24, simul 32, f= 0.17073487D+00, h'(0)=-0.12793D+00
+ n1qn3: iter 25, simul 33, f= 0.10886882D+00, h'(0)=-0.10034D+00
+ n1qn3: iter 26, simul 34, f= 0.93394350D-01, h'(0)=-0.12026D+00
+ n1qn3: iter 27, simul 35, f= 0.68247280D-01, h'(0)=-0.20762D-01
+ n1qn3: iter 28, simul 36, f= 0.49926731D-01, h'(0)=-0.55493D-01
+ n1qn3: iter 29, simul 38, f= 0.36769034D-01, h'(0)=-0.91754D-02
+ n1qn3: iter 30, simul 39, f= 0.28635889D-01, h'(0)=-0.25872D-01
+ n1qn3: iter 31, simul 40, f= 0.11210346D-01, h'(0)=-0.94861D-02
+ n1qn3: iter 32, simul 41, f= 0.47312611D-02, h'(0)=-0.12658D-01
+ n1qn3: iter 33, simul 43, f= 0.27115703D-02, h'(0)=-0.27047D-02
+ n1qn3: iter 34, simul 44, f= 0.78629249D-03, h'(0)=-0.10616D-02
+ n1qn3: iter 35, simul 45, f= 0.10596409D-03, h'(0)=-0.16467D-03
+ n1qn3: iter 36, simul 46, f= 0.65779244D-05, h'(0)=-0.12836D-04
+ n1qn3: iter 37, simul 47, f= 0.65335854D-06, h'(0)=-0.24142D-05
+ n1qn3: iter 38, simul 48, f= 0.48517342D-06, h'(0)=-0.97016D-06
+ n1qn3: iter 39, simul 49, f= 0.72461377D-12, h'(0)=-0.14375D-11
+ n1qn3: iter 40, simul 50, f= 0.49419780D-16, h'(0)=-0.98838D-16
+ n1qn3: iter 41, simul 51, f= 0.23045863D-24, h'(0)=-0.46082D-24
+ -------------------------------------------------------------------------------
+ n1qn3: output mode is 1
+ number of iterations: 41
+ number of simulations: 52
+ realized relative precision on g: 0.00D+00
+ norm of x = 0.14142136D+01
+ f = 0.00000000D+00
+ norm of x = 0.00000000D+00
+Norm of projected gradient lower than 0.0000000D+00.
+
+//
+// 3. Test unconstrained non-differentiable method
+[f,x,g]=optim(rosenbrock,x0,'nd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,x0,'nd','ar',100);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,x0,'nd','ar', 100 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=1);
+entry in n1fc1 . n= 2 memax= 10
+minimal array sizes: iz( 22) rz( 70) dz( 198)
+n1fc1 Incorrect end of fprf2
+End of optimization.
+
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=2);
+entry in n1fc1 . n= 2 memax= 10
+minimal array sizes: iz( 22) rz( 70) dz( 198)
+ n1fc1 diam1= 0.739D+00 eta2= 0.000D+00 ap= 0.299D-28
+ n1fc1 10 32 0.2102076D+01 faisceau reduit a 2 gradients
+ n1fc1 18 56 0.5316674D-01 faisceau reduit a 2 gradients
+n1fc1 eta2 assigned to 0.444D-14
+ n1fc1 26 76 0.1360041D-02 convergence a 0.224D-02 pres ( 0.44D-15)
+ n1fc1 26 77 0.7792185D-03 faisceau reduit a 3 gradients
+n1fc1 eta2 assigned to 0.444D-14
+ n1fc1 33 88 0.2192247D-06 convergence a 0.926D-06 pres ( 0.00D+00)
+ n1fc1 33 90 0.1890964D-06 faisceau reduit a 2 gradients
+n1fc1 Incorrect end of fprf2
+End of optimization.
+
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=3);
+entry in n1fc1 . n= 2 memax= 10
+minimal array sizes: iz( 22) rz( 70) dz( 198)
+n1fc1 1 1 0.2420000D+02 0.10D+01 0.54D+05 0.00D+00 2
+ n1fc1 diam1= 0.739D+00 eta2= 0.000D+00 ap= 0.299D-28
+n1fc1 2 4 0.4198816D+01 0.10D+01 0.15D+03 0.00D+00 2
+n1fc1 3 8 0.4198816D+01 0.10D+01 0.15D+03 0.00D+00 3
+n1fc1 4 10 0.4198816D+01 0.10D+01 0.14D+03 0.00D+00 3
+n1fc1 5 12 0.4198816D+01 0.10D+01 0.12D+03 0.00D+00 3
+n1fc1 6 17 0.4131268D+01 0.25D+00 0.33D+01 0.00D+00 3
+n1fc1 7 19 0.3662595D+01 0.10D+01 0.61D+00 0.00D+00 3
+n1fc1 8 23 0.3639147D+01 0.47D-01 0.10D+04 0.15D+04 2
+n1fc1 9 26 0.2590584D+01 0.10D+01 0.40D+00 0.00D+00 3
+n1fc1 10 31 0.2359570D+01 0.14D+00 0.25D+02 0.28D+03 2
+ n1fc1 10 32 0.2102076D+01 faisceau reduit a 2 gradients
+n1fc1 11 32 0.2102076D+01 0.46D+00 0.54D+01 0.00D+00 2
+n1fc1 12 39 0.8277294D+00 0.10D+01 0.35D+01 0.00D+00 3
+n1fc1 13 44 0.6868523D+00 0.27D+00 0.23D+01 0.00D+00 3
+n1fc1 14 46 0.6037192D+00 0.16D+00 0.20D+02 0.15D+03 2
+n1fc1 15 48 0.4376910D+00 0.33D+00 0.12D+01 0.00D+00 3
+n1fc1 16 50 0.3030057D+00 0.19D+00 0.84D+00 0.00D+00 3
+n1fc1 17 52 0.2144893D+00 0.16D+00 0.73D+00 0.26D+01 3
+n1fc1 18 54 0.7256611D-01 0.35D+00 0.34D+00 0.00D+00 3
+ n1fc1 18 56 0.5316674D-01 faisceau reduit a 2 gradients
+n1fc1 19 56 0.5316674D-01 0.58D-01 0.34D-01 0.00D+00 3
+n1fc1 20 58 0.4531702D-01 0.15D-01 0.71D+01 0.52D+03 2
+n1fc1 21 60 0.2482046D-01 0.41D-01 0.13D-01 0.00D+00 3
+n1fc1 22 62 0.1225140D-01 0.16D-01 0.12D-02 0.00D+00 3
+n1fc1 23 66 0.1190406D-01 0.11D-02 0.54D+01 0.25D+04 2
+n1fc1 24 69 0.5110747D-02 0.14D-01 0.12D-03 0.00D+00 3
+n1fc1 25 74 0.2527134D-02 0.82D-03 0.96D+00 0.61D+03 2
+n1fc1 eta2 assigned to 0.444D-14
+ n1fc1 26 76 0.1360041D-02 convergence a 0.224D-02 pres ( 0.44D-15)
+n1fc1 26 76 0.1360041D-02 0.22D-03 0.93D-03 0.46D+00 3
+ n1fc1 26 77 0.7792185D-03 faisceau reduit a 3 gradients
+n1fc1 27 77 0.7792185D-03 0.22D-03 0.31D+00 0.16D+04 2
+n1fc1 28 79 0.2612544D-03 0.22D-03 0.19D+00 0.46D+03 2
+n1fc1 29 81 0.3217976D-04 0.22D-03 0.33D-05 0.27D-01 3
+n1fc1 30 83 0.6090815D-05 0.57D-04 0.35D-06 0.19D-01 3
+n1fc1 31 85 0.1944220D-05 0.84D-05 0.75D-03 0.68D+02 2
+n1fc1 32 87 0.7841516D-06 0.23D-05 0.23D-06 0.65D-01 3
+n1fc1 eta2 assigned to 0.444D-14
+ n1fc1 33 88 0.2192247D-06 convergence a 0.926D-06 pres ( 0.00D+00)
+n1fc1 33 88 0.2192247D-06 0.93D-07 0.51D-04 0.12D+03 2
+ n1fc1 33 90 0.1890964D-06 faisceau reduit a 2 gradients
+n1fc1 34 90 0.1890964D-06 0.93D-07 0.14D-06 0.00D+00 3
+n1fc1 35 92 0.8733602D-08 0.93D-07 0.15D-07 0.00D+00 3
+n1fc1 36 95 0.2709627D-08 0.12D-07 0.75D-06 0.32D+02 2
+n1fc1 Incorrect end of fprf2
+End of optimization.
+
+//
+// 4. Test bound-constrained BFGS
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn','ar',50);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn','ar', 100 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=1);
+ *********** qnbd ****************
+ qnbd : indqn= 13
+End of optimization (linear search fails).
+
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=2);
+ *********** qnbd ****************
+ qnbd : iter= 1 f= 0.2420000D+02
+ qnbd : nbre fact 2 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.5062D+02 epsf,diff= 0.0000D+00 0.1784D+02 nap= 3
+ qnbd : iter= 2 f= 0.6363632D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2926D+01 epsf,diff= 0.0000D+00 0.2276D+01 nap= 5
+ qnbd : iter= 3 f= 0.4088059D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1462D+01 epsf,diff= 0.0000D+00 0.7160D-02 nap= 6
+ qnbd : iter= 4 f= 0.4080900D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1281D+01 epsf,diff= 0.0000D+00 0.4927D-02 nap= 7
+ qnbd : iter= 5 f= 0.4075972D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2639D+01 epsf,diff= 0.0000D+00 0.1666D-01 nap= 8
+ qnbd : iter= 6 f= 0.4059314D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.5535D+01 epsf,diff= 0.0000D+00 0.3949D-01 nap= 9
+ qnbd : iter= 7 f= 0.4019827D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1029D+02 epsf,diff= 0.0000D+00 0.9032D-01 nap= 10
+ qnbd : iter= 8 f= 0.3929503D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1482D+02 epsf,diff= 0.0000D+00 0.1269D+00 nap= 11
+ qnbd : iter= 9 f= 0.3802616D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1584D+02 epsf,diff= 0.0000D+00 0.1911D+00 nap= 12
+ qnbd : iter= 10 f= 0.3611527D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1335D+02 epsf,diff= 0.0000D+00 0.4793D+00 nap= 13
+ qnbd : iter= 11 f= 0.3132213D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.4831D+01 epsf,diff= 0.0000D+00 0.5408D+00 nap= 14
+ qnbd : iter= 12 f= 0.2591395D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.9927D+01 epsf,diff= 0.0000D+00 0.2198D+00 nap= 16
+ qnbd : iter= 13 f= 0.2371631D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.7508D+01 epsf,diff= 0.0000D+00 0.3368D+00 nap= 17
+ qnbd : iter= 14 f= 0.2034811D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1723D+01 epsf,diff= 0.0000D+00 0.3605D+00 nap= 18
+ qnbd : iter= 15 f= 0.1674355D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.6425D+01 epsf,diff= 0.0000D+00 0.2554D+00 nap= 20
+ qnbd : iter= 16 f= 0.1418994D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2962D+01 epsf,diff= 0.0000D+00 0.1320D+00 nap= 21
+ qnbd : iter= 17 f= 0.1286986D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2970D+01 epsf,diff= 0.0000D+00 0.2772D+00 nap= 22
+ qnbd : iter= 18 f= 0.1009809D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.7110D+01 epsf,diff= 0.0000D+00 0.9782D-01 nap= 23
+ qnbd : iter= 19 f= 0.9119930D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1223D+01 epsf,diff= 0.0000D+00 0.2439D+00 nap= 24
+ qnbd : iter= 20 f= 0.6680716D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1598D+01 epsf,diff= 0.0000D+00 0.1495D+00 nap= 25
+ qnbd : iter= 21 f= 0.5185575D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.4195D+01 epsf,diff= 0.0000D+00 0.5204D-01 nap= 27
+ qnbd : iter= 22 f= 0.4665182D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1092D+01 epsf,diff= 0.0000D+00 0.1651D+00 nap= 29
+ qnbd : iter= 23 f= 0.3014090D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.3616D+01 epsf,diff= 0.0000D+00 0.4378D-01 nap= 31
+ qnbd : iter= 24 f= 0.2576320D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2649D+01 epsf,diff= 0.0000D+00 0.8347D-01 nap= 32
+ qnbd : iter= 25 f= 0.1741653D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.7655D+00 epsf,diff= 0.0000D+00 0.5731D-01 nap= 33
+ qnbd : iter= 26 f= 0.1168531D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.3144D+01 epsf,diff= 0.0000D+00 0.3345D-01 nap= 35
+ qnbd : iter= 27 f= 0.8340131D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1683D+01 epsf,diff= 0.0000D+00 0.2213D-01 nap= 36
+ qnbd : iter= 28 f= 0.6127324D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.4212D+01 epsf,diff= 0.0000D+00 0.1946D-01 nap= 37
+ qnbd : iter= 29 f= 0.4181115D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1112D+01 epsf,diff= 0.0000D+00 0.2302D-01 nap= 38
+ qnbd : iter= 30 f= 0.1879567D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.4225D+00 epsf,diff= 0.0000D+00 0.1025D-01 nap= 39
+ qnbd : iter= 31 f= 0.8546911D-02
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1351D+01 epsf,diff= 0.0000D+00 0.2852D-02 nap= 41
+ qnbd : iter= 32 f= 0.5695252D-02
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.8746D+00 epsf,diff= 0.0000D+00 0.2625D-02 nap= 42
+ qnbd : iter= 33 f= 0.3069880D-02
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2491D+00 epsf,diff= 0.0000D+00 0.2494D-02 nap= 43
+ qnbd : iter= 34 f= 0.5755995D-03
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2501D+00 epsf,diff= 0.0000D+00 0.4653D-03 nap= 44
+ qnbd : iter= 35 f= 0.1103321D-03
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2082D+00 epsf,diff= 0.0000D+00 0.6258D-04 nap= 45
+ qnbd : iter= 36 f= 0.4774899D-04
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.9357D-02 epsf,diff= 0.0000D+00 0.4743D-04 nap= 46
+ qnbd : iter= 37 f= 0.3189662D-06
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.7401D-03 epsf,diff= 0.0000D+00 0.3183D-06 nap= 47
+ qnbd : iter= 38 f= 0.6829435D-09
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2102D-04 epsf,diff= 0.0000D+00 0.6824D-09 nap= 48
+ qnbd : iter= 39 f= 0.4984941D-12
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2913D-06 epsf,diff= 0.0000D+00 0.4981D-12 nap= 49
+ qnbd : iter= 40 f= 0.3925578D-15
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2479D-08 epsf,diff= 0.0000D+00 0.3925D-15 nap= 50
+ qnbd : iter= 41 f= 0.5929270D-19
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.4715D-10 epsf,diff= 0.0000D+00 0.5929D-19 nap= 51
+ qnbd : iter= 42 f= 0.2854806D-23
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.1902D-10 epsf,diff= 0.0000D+00 0.1961D-23 nap= 56
+ qnbd : iter= 43 f= 0.8942187D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2730D-10 epsf,diff= 0.0000D+00 0.7863D-25 nap= 63
+ qnbd : iter= 44 f= 0.8155913D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2231D-10 epsf,diff= 0.0000D+00 0.2484D-25 nap= 70
+ qnbd : iter= 45 f= 0.7907465D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2553D-10 epsf,diff= 0.0000D+00 0.8508D-26 nap= 77
+ qnbd : iter= 46 f= 0.7822385D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2405D-10 epsf,diff= 0.0000D+00 0.5487D-26 nap= 85
+ qnbd : iter= 47 f= 0.7767511D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : epsg,difg= 0.2220D-15 0.2436D-10 epsf,diff= 0.0000D+00 0.2594D-26 nap= 95
+ qnbd : iter= 48 f= 0.7741575D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ qnbd : indqn= 13
+End of optimization (linear search fails).
+
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=3);
+ *********** qnbd ****************
+ qnbd : iter= 1 f= 0.2420000D+02
+ qnbd : nbre fact 2 defact 0 total var factorisees 2
+ rlbd tp= 0.2876E-01 tmax= 0.1000E+11 dh0/dt=-0.5423E+05
+e t= 0.3688E-04 h=-0.1945E+01 dh/dt=-0.5124E+05 dfh/dt=-0.5273E+05 dt 0.4E-04
+ t= 0.5135E-03 h=-0.1784E+02 dh/dt=-0.1667E+05 dfh/dt=-0.3334E+05 dt 0.5E-03
+ qnbd : epsg,difg= 0.2220D-15 0.5062D+02 epsf,diff= 0.0000D+00 0.1784D+02 nap= 3
+ qnbd : iter= 2 f= 0.6363632D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1089E+03 tmax= 0.1000E+11 dh0/dt=-0.3720E+01
+ic t= 0.9589E+01 h= 0.5286E+02 dh/dt= 0.9380E+01 dfh/dt= 0.5513E+01 dt 0.1E+02
+ t= 0.1322E+01 h=-0.2276E+01 dh/dt= 0.1483E+00 dfh/dt= 0.6670E+01 dt-0.8E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2926D+01 epsf,diff= 0.0000D+00 0.2276D+01 nap= 5
+ qnbd : iter= 3 f= 0.4088059D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1871E+04 tmax= 0.1000E+11 dh0/dt=-0.1067E-01
+ t= 0.1000E+01 h=-0.7160E-02 dh/dt=-0.3644E-02 dfh/dt=-0.7160E-02 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1462D+01 epsf,diff= 0.0000D+00 0.7160D-02 nap= 6
+ qnbd : iter= 4 f= 0.4080900D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2129E+04 tmax= 0.1000E+11 dh0/dt=-0.5871E-02
+ t= 0.1000E+01 h=-0.4927E-02 dh/dt=-0.3984E-02 dfh/dt=-0.4927E-02 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1281D+01 epsf,diff= 0.0000D+00 0.4927D-02 nap= 7
+ qnbd : iter= 5 f= 0.4075972D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4921E+03 tmax= 0.1000E+11 dh0/dt=-0.2087E-01
+ t= 0.1000E+01 h=-0.1666E-01 dh/dt=-0.1244E-01 dfh/dt=-0.1666E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2639D+01 epsf,diff= 0.0000D+00 0.1666D-01 nap= 8
+ qnbd : iter= 6 f= 0.4059314D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1794E+03 tmax= 0.1000E+11 dh0/dt=-0.4910E-01
+ t= 0.1000E+01 h=-0.3949E-01 dh/dt=-0.2960E-01 dfh/dt=-0.3949E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.5535D+01 epsf,diff= 0.0000D+00 0.3949D-01 nap= 9
+ qnbd : iter= 7 f= 0.4019827D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.6788E+02 tmax= 0.1000E+11 dh0/dt=-0.1202E+00
+ t= 0.1000E+01 h=-0.9032E-01 dh/dt=-0.5611E-01 dfh/dt=-0.9032E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1029D+02 epsf,diff= 0.0000D+00 0.9032D-01 nap= 10
+ qnbd : iter= 8 f= 0.3929503D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4367E+02 tmax= 0.1000E+11 dh0/dt=-0.1810E+00
+ t= 0.1000E+01 h=-0.1269E+00 dh/dt=-0.5900E-01 dfh/dt=-0.1269E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1482D+02 epsf,diff= 0.0000D+00 0.1269D+00 nap= 11
+ qnbd : iter= 9 f= 0.3802616D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4643E+02 tmax= 0.1000E+11 dh0/dt=-0.2391E+00
+ t= 0.1000E+01 h=-0.1911E+00 dh/dt=-0.1369E+00 dfh/dt=-0.1911E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1584D+02 epsf,diff= 0.0000D+00 0.1911D+00 nap= 12
+ qnbd : iter= 10 f= 0.3611527D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2935E+02 tmax= 0.1000E+11 dh0/dt=-0.6544E+00
+ t= 0.1000E+01 h=-0.4793E+00 dh/dt=-0.3144E+00 dfh/dt=-0.4793E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1335D+02 epsf,diff= 0.0000D+00 0.4793D+00 nap= 13
+ qnbd : iter= 11 f= 0.3132213D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.5262E+02 tmax= 0.1000E+11 dh0/dt=-0.7617E+00
+ t= 0.1000E+01 h=-0.5408E+00 dh/dt=-0.3919E+00 dfh/dt=-0.5408E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.4831D+01 epsf,diff= 0.0000D+00 0.5408D+00 nap= 14
+ qnbd : iter= 12 f= 0.2591395D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1420E+02 tmax= 0.1000E+11 dh0/dt=-0.8312E+00
+ic t= 0.1000E+01 h= 0.7497E+00 dh/dt= 0.4176E+01 dfh/dt= 0.7497E+00 dt 0.1E+01
+ t= 0.4382E+00 h=-0.2198E+00 dh/dt= 0.4016E-01 dfh/dt= 0.1726E+01 dt-0.6E+00
+ qnbd : epsg,difg= 0.2220D-15 0.9927D+01 epsf,diff= 0.0000D+00 0.2198D+00 nap= 16
+ qnbd : iter= 13 f= 0.2371631D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.5731E+02 tmax= 0.1000E+11 dh0/dt=-0.4306E+00
+ t= 0.1000E+01 h=-0.3368E+00 dh/dt=-0.2579E+00 dfh/dt=-0.3368E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.7508D+01 epsf,diff= 0.0000D+00 0.3368D+00 nap= 17
+ qnbd : iter= 14 f= 0.2034811D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.5735E+02 tmax= 0.1000E+11 dh0/dt=-0.6267E+00
+ t= 0.1000E+01 h=-0.3605E+00 dh/dt=-0.1724E+00 dfh/dt=-0.3605E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1723D+01 epsf,diff= 0.0000D+00 0.3605D+00 nap= 18
+ qnbd : iter= 15 f= 0.1674355D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1099E+02 tmax= 0.1000E+11 dh0/dt=-0.1363E+01
+ic t= 0.1000E+01 h= 0.6994E+01 dh/dt= 0.2893E+02 dfh/dt= 0.6994E+01 dt 0.1E+01
+ t= 0.3516E+00 h=-0.2554E+00 dh/dt= 0.7273E+00 dfh/dt= 0.1118E+02 dt-0.6E+00
+ qnbd : epsg,difg= 0.2220D-15 0.6425D+01 epsf,diff= 0.0000D+00 0.2554D+00 nap= 20
+ qnbd : iter= 16 f= 0.1418994D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1891E+03 tmax= 0.1000E+11 dh0/dt=-0.1977E+00
+ t= 0.1000E+01 h=-0.1320E+00 dh/dt=-0.6635E-01 dfh/dt=-0.1320E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2962D+01 epsf,diff= 0.0000D+00 0.1320D+00 nap= 21
+ qnbd : iter= 17 f= 0.1286986D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.3721E+02 tmax= 0.1000E+11 dh0/dt=-0.3536E+00
+ t= 0.1000E+01 h=-0.2772E+00 dh/dt=-0.1853E+00 dfh/dt=-0.2772E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2970D+01 epsf,diff= 0.0000D+00 0.2772D+00 nap= 22
+ qnbd : iter= 18 f= 0.1009809D+01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2944E+02 tmax= 0.1000E+11 dh0/dt=-0.3275E+00
+ t= 0.1000E+01 h=-0.9782E-01 dh/dt= 0.3071E+00 dfh/dt=-0.9782E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.7110D+01 epsf,diff= 0.0000D+00 0.9782D-01 nap= 23
+ qnbd : iter= 19 f= 0.9119930D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.9911E+02 tmax= 0.1000E+11 dh0/dt=-0.4982E+00
+ t= 0.1000E+01 h=-0.2439E+00 dh/dt= 0.1033E-01 dfh/dt=-0.2439E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1223D+01 epsf,diff= 0.0000D+00 0.2439D+00 nap= 24
+ qnbd : iter= 20 f= 0.6680716D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4542E+02 tmax= 0.1000E+11 dh0/dt=-0.1736E+00
+ t= 0.1000E+01 h=-0.1495E+00 dh/dt=-0.9751E-01 dfh/dt=-0.1495E+00 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1598D+01 epsf,diff= 0.0000D+00 0.1495D+00 nap= 25
+ qnbd : iter= 21 f= 0.5185575D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2050E+02 tmax= 0.1000E+11 dh0/dt=-0.2727E+00
+ic t= 0.1000E+01 h= 0.4900E+00 dh/dt= 0.2064E+01 dfh/dt= 0.4900E+00 dt 0.1E+01
+ t= 0.3554E+00 h=-0.5204E-01 dh/dt= 0.3697E-01 dfh/dt= 0.8409E+00 dt-0.6E+00
+ qnbd : epsg,difg= 0.2220D-15 0.4195D+01 epsf,diff= 0.0000D+00 0.5204D-01 nap= 27
+ qnbd : iter= 22 f= 0.4665182D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1410E+03 tmax= 0.1000E+11 dh0/dt=-0.9467E-01
+e t= 0.1000E+01 h=-0.7980E-01 dh/dt=-0.6688E-01 dfh/dt=-0.7980E-01 dt 0.1E+01
+ t= 0.2612E+01 h=-0.1651E+00 dh/dt=-0.4242E-01 dfh/dt=-0.5292E-01 dt 0.2E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1092D+01 epsf,diff= 0.0000D+00 0.1651D+00 nap= 29
+ qnbd : iter= 23 f= 0.3014090D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.3134E+02 tmax= 0.1000E+11 dh0/dt=-0.1393E+00
+ic t= 0.1000E+01 h= 0.2342E-01 dh/dt= 0.3255E+00 dfh/dt= 0.2342E-01 dt 0.1E+01
+ t= 0.5240E+00 h=-0.4378E-01 dh/dt=-0.1060E-02 dfh/dt= 0.1412E+00 dt-0.5E+00
+ qnbd : epsg,difg= 0.2220D-15 0.3616D+01 epsf,diff= 0.0000D+00 0.4378D-01 nap= 31
+ qnbd : iter= 24 f= 0.2576320D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.5270E+02 tmax= 0.1000E+11 dh0/dt=-0.1139E+00
+ t= 0.1000E+01 h=-0.8347E-01 dh/dt=-0.5954E-01 dfh/dt=-0.8347E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2649D+01 epsf,diff= 0.0000D+00 0.8347D-01 nap= 32
+ qnbd : iter= 25 f= 0.1741653D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.5702E+02 tmax= 0.1000E+11 dh0/dt=-0.9052E-01
+ t= 0.1000E+01 h=-0.5731E-01 dh/dt=-0.3243E-01 dfh/dt=-0.5731E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.7655D+00 epsf,diff= 0.0000D+00 0.5731D-01 nap= 33
+ qnbd : iter= 26 f= 0.1168531D+00
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1523E+02 tmax= 0.1000E+11 dh0/dt=-0.1721E+00
+ic t= 0.1000E+01 h= 0.5149E+00 dh/dt= 0.2154E+01 dfh/dt= 0.5149E+00 dt 0.1E+01
+ t= 0.3552E+00 h=-0.3345E-01 dh/dt= 0.4665E-01 dfh/dt= 0.8504E+00 dt-0.6E+00
+ qnbd : epsg,difg= 0.2220D-15 0.3144D+01 epsf,diff= 0.0000D+00 0.3345D-01 nap= 35
+ qnbd : iter= 27 f= 0.8340131D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1267E+03 tmax= 0.1000E+11 dh0/dt=-0.2710E-01
+ t= 0.1000E+01 h=-0.2213E-01 dh/dt=-0.1760E-01 dfh/dt=-0.2213E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1683D+01 epsf,diff= 0.0000D+00 0.2213D-01 nap= 36
+ qnbd : iter= 28 f= 0.6127324D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2794E+02 tmax= 0.1000E+11 dh0/dt=-0.5182E-01
+ t= 0.1000E+01 h=-0.1946E-01 dh/dt= 0.2933E-01 dfh/dt=-0.1946E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.4212D+01 epsf,diff= 0.0000D+00 0.1946D-01 nap= 37
+ qnbd : iter= 29 f= 0.4181115D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2113E+03 tmax= 0.1000E+11 dh0/dt=-0.5837E-01
+ t= 0.1000E+01 h=-0.2302E-01 dh/dt= 0.1234E-01 dfh/dt=-0.2302E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.1112D+01 epsf,diff= 0.0000D+00 0.2302D-01 nap= 38
+ qnbd : iter= 30 f= 0.1879567D-01
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.6064E+02 tmax= 0.1000E+11 dh0/dt=-0.1349E-01
+ t= 0.1000E+01 h=-0.1025E-01 dh/dt=-0.5166E-02 dfh/dt=-0.1025E-01 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.4225D+00 epsf,diff= 0.0000D+00 0.1025D-01 nap= 39
+ qnbd : iter= 31 f= 0.8546911D-02
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4124E+02 tmax= 0.1000E+11 dh0/dt=-0.9192E-02
+ic t= 0.1000E+01 h=-0.1115E-03 dh/dt= 0.1345E-01 dfh/dt=-0.1115E-03 dt 0.1E+01
+ t= 0.5527E+00 h=-0.2852E-02 dh/dt=-0.5725E-04 dfh/dt= 0.6127E-02 dt-0.4E+00
+ qnbd : epsg,difg= 0.2220D-15 0.1351D+01 epsf,diff= 0.0000D+00 0.2852D-02 nap= 41
+ qnbd : iter= 32 f= 0.5695252D-02
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1606E+03 tmax= 0.1000E+11 dh0/dt=-0.3214E-02
+ t= 0.1000E+01 h=-0.2625E-02 dh/dt=-0.2090E-02 dfh/dt=-0.2625E-02 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.8746D+00 epsf,diff= 0.0000D+00 0.2625D-02 nap= 42
+ qnbd : iter= 33 f= 0.3069880D-02
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.8464E+02 tmax= 0.1000E+11 dh0/dt=-0.3887E-02
+ t= 0.1000E+01 h=-0.2494E-02 dh/dt=-0.1350E-02 dfh/dt=-0.2494E-02 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2491D+00 epsf,diff= 0.0000D+00 0.2494D-02 nap= 43
+ qnbd : iter= 34 f= 0.5755995D-03
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1302E+03 tmax= 0.1000E+11 dh0/dt=-0.7571E-03
+ t= 0.1000E+01 h=-0.4653E-03 dh/dt=-0.1769E-03 dfh/dt=-0.4653E-03 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2501D+00 epsf,diff= 0.0000D+00 0.4653D-03 nap= 44
+ qnbd : iter= 35 f= 0.1103321D-03
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4072E+03 tmax= 0.1000E+11 dh0/dt=-0.2997E-03
+ t= 0.1000E+01 h=-0.6258E-04 dh/dt= 0.1693E-03 dfh/dt=-0.6258E-04 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2082D+00 epsf,diff= 0.0000D+00 0.6258D-04 nap= 45
+ qnbd : iter= 36 f= 0.4774899D-04
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.8042E+03 tmax= 0.1000E+11 dh0/dt=-0.1003E-03
+ t= 0.1000E+01 h=-0.4743E-04 dh/dt= 0.6575E-05 dfh/dt=-0.4743E-04 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.9357D-02 epsf,diff= 0.0000D+00 0.4743D-04 nap= 46
+ qnbd : iter= 37 f= 0.3189662D-06
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.6116E+04 tmax= 0.1000E+11 dh0/dt=-0.6644E-06
+ t= 0.1000E+01 h=-0.3183E-06 dh/dt= 0.2630E-07 dfh/dt=-0.3183E-06 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.7401D-03 epsf,diff= 0.0000D+00 0.3183D-06 nap= 47
+ qnbd : iter= 38 f= 0.6829435D-09
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1710E+06 tmax= 0.1000E+11 dh0/dt=-0.1340E-08
+ t= 0.1000E+01 h=-0.6824E-09 dh/dt=-0.2448E-10 dfh/dt=-0.6824E-09 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2102D-04 epsf,diff= 0.0000D+00 0.6824D-09 nap= 48
+ qnbd : iter= 39 f= 0.4984941D-12
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1312E+08 tmax= 0.1000E+11 dh0/dt=-0.9764E-12
+ t= 0.1000E+01 h=-0.4981E-12 dh/dt=-0.1984E-13 dfh/dt=-0.4981E-12 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2913D-06 epsf,diff= 0.0000D+00 0.4981D-12 nap= 49
+ qnbd : iter= 40 f= 0.3925578D-15
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1721E+09 tmax= 0.1000E+11 dh0/dt=-0.7785E-15
+ t= 0.1000E+01 h=-0.3925E-15 dh/dt=-0.6537E-17 dfh/dt=-0.3925E-15 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.2479D-08 epsf,diff= 0.0000D+00 0.3925D-15 nap= 50
+ qnbd : iter= 41 f= 0.5929270D-19
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1308E+11 tmax= 0.1000E+11 dh0/dt=-0.1180E-18
+ t= 0.1000E+01 h=-0.5929E-19 dh/dt=-0.5949E-21 dfh/dt=-0.5929E-19 dt 0.1E+01
+ qnbd : epsg,difg= 0.2220D-15 0.4715D-10 epsf,diff= 0.0000D+00 0.5929D-19 nap= 51
+ qnbd : iter= 42 f= 0.2854806D-23
+ qnbd : emploi truc powell (y,s)= 0.1174D-18
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.1233E+12 tmax= 0.1000E+11 dh0/dt=-0.8132E-22
+d t= 0.1000E+01 h= 0.7180E-21 dh/dt= 0.1517E-20 dfh/dt= 0.7180E-21 dt 0.1E+01
+d t= 0.5000E+00 h= 0.1592E-21 dh/dt= 0.7180E-21 dfh/dt= 0.1118E-20 dt-0.5E+00
+d t= 0.2500E+00 h= 0.2963E-22 dh/dt= 0.3184E-21 dfh/dt= 0.5181E-21 dt-0.2E+00
+d t= 0.1250E+00 h= 0.2325E-23 dh/dt= 0.1185E-21 dfh/dt= 0.2184E-21 dt-0.1E+00
+ t= 0.6250E-01 h=-0.1961E-23 dh/dt= 0.1862E-22 dfh/dt= 0.6857E-22 dt-0.6E-01
+ qnbd : epsg,difg= 0.2220D-15 0.1902D-10 epsf,diff= 0.0000D+00 0.1961D-23 nap= 56
+ qnbd : iter= 43 f= 0.8942187D-24
+ qnbd : emploi truc powell (y,s)= 0.6247D-23
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.6780E+11 tmax= 0.1000E+11 dh0/dt=-0.2325E-22
+d t= 0.1000E+01 h= 0.1132E-20 dh/dt= 0.2288E-20 dfh/dt= 0.1132E-20 dt 0.1E+01
+d t= 0.5000E+00 h= 0.2773E-21 dh/dt= 0.1132E-20 dfh/dt= 0.1710E-20 dt-0.5E+00
+d t= 0.2500E+00 h= 0.6644E-22 dh/dt= 0.5547E-21 dfh/dt= 0.8434E-21 dt-0.2E+00
+d t= 0.1250E+00 h= 0.1515E-22 dh/dt= 0.2657E-21 dfh/dt= 0.4103E-21 dt-0.1E+00
+d t= 0.6250E-01 h= 0.3062E-23 dh/dt= 0.1212E-21 dfh/dt= 0.1934E-21 dt-0.6E-01
+d t= 0.3125E-01 h= 0.4061E-24 dh/dt= 0.4904E-22 dfh/dt= 0.8499E-22 dt-0.3E-01
+ t= 0.1563E-01 h=-0.7863E-25 dh/dt= 0.1291E-22 dfh/dt= 0.3102E-22 dt-0.2E-01
+ qnbd : epsg,difg= 0.2220D-15 0.2730D-10 epsf,diff= 0.0000D+00 0.7863D-25 nap= 63
+ qnbd : iter= 44 f= 0.8155913D-24
+ qnbd : emploi truc powell (y,s)= 0.5658D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.3429E+11 tmax= 0.1000E+11 dh0/dt=-0.3998E-22
+id t= 0.1000E+01 h= 0.1023E-19 dh/dt= 0.2049E-19 dfh/dt= 0.1023E-19 dt 0.1E+01
+d t= 0.1000E+00 h= 0.9866E-22 dh/dt= 0.2013E-20 dfh/dt= 0.1125E-19 dt-0.9E+00
+d t= 0.5000E-01 h= 0.2367E-22 dh/dt= 0.9866E-21 dfh/dt= 0.1500E-20 dt-0.5E-01
+d t= 0.2500E-01 h= 0.5417E-23 dh/dt= 0.4733E-21 dfh/dt= 0.7300E-21 dt-0.3E-01
+d t= 0.1250E-01 h= 0.1105E-23 dh/dt= 0.2166E-21 dfh/dt= 0.3450E-21 dt-0.1E-01
+d t= 0.6250E-02 h= 0.1496E-24 dh/dt= 0.8849E-22 dfh/dt= 0.1528E-21 dt-0.6E-02
+ t= 0.3125E-02 h=-0.2484E-25 dh/dt= 0.2420E-22 dfh/dt= 0.5584E-22 dt-0.3E-02
+ qnbd : epsg,difg= 0.2220D-15 0.2231D-10 epsf,diff= 0.0000D+00 0.2484D-25 nap= 70
+ qnbd : iter= 45 f= 0.7907465D-24
+ qnbd : emploi truc powell (y,s)= 0.2006D-24
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.7009E+10 tmax= 0.1000E+11 dh0/dt=-0.8031E-22
+id t= 0.1000E+01 h= 0.1088E-18 dh/dt= 0.2176E-18 dfh/dt= 0.1088E-18 dt 0.1E+01
+id t= 0.1000E+00 h= 0.1081E-20 dh/dt= 0.2169E-19 dfh/dt= 0.1197E-18 dt-0.9E+00
+d t= 0.1000E-01 h= 0.1009E-22 dh/dt= 0.2097E-20 dfh/dt= 0.1190E-19 dt-0.9E-01
+d t= 0.5000E-02 h= 0.2314E-23 dh/dt= 0.1008E-20 dfh/dt= 0.1554E-20 dt-0.5E-02
+d t= 0.2500E-02 h= 0.4799E-24 dh/dt= 0.4640E-21 dfh/dt= 0.7337E-21 dt-0.3E-02
+d t= 0.1250E-02 h= 0.6986E-25 dh/dt= 0.1919E-21 dfh/dt= 0.3281E-21 dt-0.1E-02
+ t= 0.6250E-03 h=-0.8508E-26 dh/dt= 0.5560E-22 dfh/dt= 0.1254E-21 dt-0.6E-03
+ qnbd : epsg,difg= 0.2220D-15 0.2553D-10 epsf,diff= 0.0000D+00 0.8508D-26 nap= 77
+ qnbd : iter= 46 f= 0.7822385D-24
+ qnbd : emploi truc powell (y,s)= 0.8484D-25
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.2254E+10 tmax= 0.1000E+11 dh0/dt=-0.2593E-21
+id t= 0.1000E+01 h= 0.2369E-17 dh/dt= 0.4737E-17 dfh/dt= 0.2369E-17 dt 0.1E+01
+id t= 0.1000E+00 h= 0.2366E-19 dh/dt= 0.4735E-18 dfh/dt= 0.2605E-17 dt-0.9E+00
+id t= 0.1000E-01 h= 0.2343E-21 dh/dt= 0.4712E-19 dfh/dt= 0.2603E-18 dt-0.9E-01
+d t= 0.1000E-02 h= 0.2110E-23 dh/dt= 0.4477E-20 dfh/dt= 0.2580E-19 dt-0.9E-02
+d t= 0.5000E-03 h= 0.4624E-24 dh/dt= 0.2110E-20 dfh/dt= 0.3294E-20 dt-0.5E-03
+d t= 0.2500E-03 h= 0.8387E-25 dh/dt= 0.9243E-21 dfh/dt= 0.1514E-20 dt-0.3E-03
+d t= 0.1250E-03 h= 0.2587E-26 dh/dt= 0.3350E-21 dfh/dt= 0.6502E-21 dt-0.1E-03
+ t= 0.6250E-04 h=-0.5487E-26 dh/dt= 0.3532E-22 dfh/dt= 0.1292E-21 dt-0.6E-04
+ qnbd : epsg,difg= 0.2220D-15 0.2405D-10 epsf,diff= 0.0000D+00 0.5487D-26 nap= 85
+ qnbd : iter= 47 f= 0.7767511D-24
+ qnbd : emploi truc powell (y,s)= 0.1833D-25
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.3148E+09 tmax= 0.1000E+11 dh0/dt=-0.2565E-21
+id t= 0.1000E+01 h= 0.5352E-16 dh/dt= 0.1070E-15 dfh/dt= 0.5352E-16 dt 0.1E+01
+id t= 0.1000E+00 h= 0.5352E-18 dh/dt= 0.1070E-16 dfh/dt= 0.5888E-16 dt-0.9E+00
+id t= 0.1000E-01 h= 0.5350E-20 dh/dt= 0.1070E-17 dfh/dt= 0.5887E-17 dt-0.9E-01
+id t= 0.1000E-02 h= 0.5327E-22 dh/dt= 0.1068E-18 dfh/dt= 0.5885E-18 dt-0.9E-02
+d t= 0.1000E-03 h= 0.5117E-24 dh/dt= 0.1046E-19 dfh/dt= 0.5862E-19 dt-0.9E-03
+d t= 0.5000E-04 h= 0.1218E-24 dh/dt= 0.5099E-20 dfh/dt= 0.7796E-20 dt-0.5E-04
+d t= 0.2500E-04 h= 0.2743E-25 dh/dt= 0.2421E-20 dfh/dt= 0.3777E-20 dt-0.3E-04
+d t= 0.1250E-04 h= 0.6249E-26 dh/dt= 0.1086E-20 dfh/dt= 0.1694E-20 dt-0.1E-04
+d t= 0.6250E-05 h= 0.1019E-26 dh/dt= 0.4148E-21 dfh/dt= 0.8367E-21 dt-0.6E-05
+ t= 0.3125E-05 h=-0.2594E-26 dh/dt= 0.6735E-22 dfh/dt= 0.1156E-20 dt-0.3E-05
+ qnbd : epsg,difg= 0.2220D-15 0.2436D-10 epsf,diff= 0.0000D+00 0.2594D-26 nap= 95
+ qnbd : iter= 48 f= 0.7741575D-24
+ qnbd : emploi truc powell (y,s)= 0.9833D-27
+ qnbd : nbre fact 0 defact 0 total var factorisees 2
+ rlbd tp= 0.4866E+07 tmax= 0.1000E+11 dh0/dt=-0.3485E-19
+id t= 0.1000E+01 h= 0.2126E-12 dh/dt= 0.4252E-12 dfh/dt= 0.2126E-12 dt 0.1E+01
+id t= 0.1000E-02 h= 0.2126E-18 dh/dt= 0.4252E-15 dfh/dt= 0.2128E-12 dt-0.1E+01
+id t= 0.1000E-04 h= 0.2092E-22 dh/dt= 0.4218E-17 dfh/dt= 0.2147E-15 dt-0.1E-02
+d t= 0.1000E-05 h= 0.1767E-24 dh/dt= 0.3901E-18 dfh/dt= 0.2305E-17 dt-0.9E-05
+d t= 0.5000E-06 h= 0.3717E-25 dh/dt= 0.1781E-18 dfh/dt= 0.2790E-18 dt-0.5E-06
+ t= 0.2500E-06 h= 0.5251E-26 dh/dt= 0.1781E-18 dfh/dt= 0.0000E+00 dt-0.3E-06
+ qnbd : indqn= 13
+End of optimization (linear search fails).
+
+//
+// 5. Test bound-constrained Limited Memory BFGS
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc','ar',100);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc','ar', 100 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=1);
+ gcbd max appels simul
+ gcbd : retour avec indgc= 4
+ f,norme grad,nap,iter,indgc= 0.6214E-20 0.8448E-10 100 43 4
+Optim stops: maximum number of calls to f is reached.
+
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=2);
+ dans gcbd iter= 1 f= 0.2420000D+02
+ gcbd. epsg,difg= 0.2220D-15 0.7159D+02 epsf,diff= 0.0000D+00 0.1784D+02 nap= 2
+ dans gcbd iter= 2 f= 0.6363632D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2340D+01 epsf,diff= 0.0000D+00 0.2231D+01 nap= 4
+ dans gcbd iter= 3 f= 0.4132134D+01
+ gcbd. epsg,difg= 0.2220D-15 0.1913D+01 epsf,diff= 0.0000D+00 0.4550D-02 nap= 6
+ dans gcbd iter= 4 f= 0.4127584D+01
+ gcbd. epsg,difg= 0.2220D-15 0.5416D+01 epsf,diff= 0.0000D+00 0.1486D-01 nap= 8
+ dans gcbd iter= 5 f= 0.4112720D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2091D+02 epsf,diff= 0.0000D+00 0.1464D+00 nap= 10
+ dans gcbd iter= 6 f= 0.3966314D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2247D+02 epsf,diff= 0.0000D+00 0.6344D+00 nap= 12
+ dans gcbd iter= 7 f= 0.3331870D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2143D+01 epsf,diff= 0.0000D+00 0.6856D+00 nap= 13
+ dans gcbd iter= 8 f= 0.2646310D+01
+ gcbd. epsg,difg= 0.2220D-15 0.8030D+01 epsf,diff= 0.0000D+00 0.7397D+00 nap= 15
+ dans gcbd iter= 9 f= 0.1906596D+01
+ gcbd. epsg,difg= 0.2220D-15 0.1073D+02 epsf,diff= 0.0000D+00 0.3822D-01 nap= 18
+ dans gcbd iter= 10 f= 0.1868373D+01
+ gcbd. epsg,difg= 0.2220D-15 0.7322D+01 epsf,diff= 0.0000D+00 0.4014D+00 nap= 20
+ dans gcbd iter= 11 f= 0.1467012D+01
+ gcbd. epsg,difg= 0.2220D-15 0.9099D+01 epsf,diff= 0.0000D+00 0.2159D+00 nap= 22
+ dans gcbd iter= 12 f= 0.1251075D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2373D+01 epsf,diff= 0.0000D+00 0.2771D+00 nap= 23
+ dans gcbd iter= 13 f= 0.9739653D+00
+ gcbd. epsg,difg= 0.2220D-15 0.5464D+01 epsf,diff= 0.0000D+00 0.7093D-01 nap= 25
+ dans gcbd iter= 14 f= 0.9030358D+00
+ gcbd. epsg,difg= 0.2220D-15 0.6580D+01 epsf,diff= 0.0000D+00 0.2702D+00 nap= 30
+ dans gcbd iter= 15 f= 0.6328802D+00
+ gcbd. epsg,difg= 0.2220D-15 0.2530D+01 epsf,diff= 0.0000D+00 0.2982D-01 nap= 32
+ dans gcbd iter= 16 f= 0.6030573D+00
+ gcbd. epsg,difg= 0.2220D-15 0.7873D+01 epsf,diff= 0.0000D+00 0.8989D-01 nap= 34
+ dans gcbd iter= 17 f= 0.5131695D+00
+ gcbd. epsg,difg= 0.2220D-15 0.1104D+01 epsf,diff= 0.0000D+00 0.8223D-01 nap= 35
+ dans gcbd iter= 18 f= 0.4309425D+00
+ gcbd. epsg,difg= 0.2220D-15 0.3437D+01 epsf,diff= 0.0000D+00 0.1651D-01 nap= 37
+ dans gcbd iter= 19 f= 0.4144307D+00
+ gcbd. epsg,difg= 0.2220D-15 0.4566D+01 epsf,diff= 0.0000D+00 0.1344D+00 nap= 39
+ dans gcbd iter= 20 f= 0.2800585D+00
+ gcbd. epsg,difg= 0.2220D-15 0.6863D+01 epsf,diff= 0.0000D+00 0.7865D-01 nap= 41
+ dans gcbd iter= 21 f= 0.2014068D+00
+ gcbd. epsg,difg= 0.2220D-15 0.1826D+01 epsf,diff= 0.0000D+00 0.7752D-01 nap= 42
+ dans gcbd iter= 22 f= 0.1238910D+00
+ gcbd. epsg,difg= 0.2220D-15 0.2529D+01 epsf,diff= 0.0000D+00 0.7119D-01 nap= 44
+ dans gcbd iter= 23 f= 0.5270207D-01
+ gcbd. epsg,difg= 0.2220D-15 0.4306D+01 epsf,diff= 0.0000D+00 0.6135D-02 nap= 47
+ dans gcbd iter= 24 f= 0.4656719D-01
+ gcbd. epsg,difg= 0.2220D-15 0.1231D+01 epsf,diff= 0.0000D+00 0.2703D-01 nap= 49
+ dans gcbd iter= 25 f= 0.1953329D-01
+ gcbd. epsg,difg= 0.2220D-15 0.1445D+01 epsf,diff= 0.0000D+00 0.1631D-01 nap= 51
+ dans gcbd iter= 26 f= 0.3222476D-02
+ gcbd. epsg,difg= 0.2220D-15 0.6193D+00 epsf,diff= 0.0000D+00 0.2216D-02 nap= 53
+ dans gcbd iter= 27 f= 0.1006378D-02
+ gcbd. epsg,difg= 0.2220D-15 0.3527D+00 epsf,diff= 0.0000D+00 0.5871D-03 nap= 55
+ dans gcbd iter= 28 f= 0.4193247D-03
+ gcbd. epsg,difg= 0.2220D-15 0.1105D+00 epsf,diff= 0.0000D+00 0.3655D-03 nap= 56
+ dans gcbd iter= 29 f= 0.5385147D-04
+ gcbd. epsg,difg= 0.2220D-15 0.9174D-01 epsf,diff= 0.0000D+00 0.4928D-04 nap= 58
+ dans gcbd iter= 30 f= 0.4571613D-05
+ gcbd. epsg,difg= 0.2220D-15 0.1255D-01 epsf,diff= 0.0000D+00 0.4367D-05 nap= 60
+ dans gcbd iter= 31 f= 0.2050776D-06
+ gcbd. epsg,difg= 0.2220D-15 0.9260D-03 epsf,diff= 0.0000D+00 0.2043D-06 nap= 63
+ dans gcbd iter= 32 f= 0.7658047D-09
+ gcbd. epsg,difg= 0.2220D-15 0.6032D-04 epsf,diff= 0.0000D+00 0.7625D-09 nap= 65
+ dans gcbd iter= 33 f= 0.3300830D-11
+ gcbd. epsg,difg= 0.2220D-15 0.2425D-06 epsf,diff= 0.0000D+00 0.3301D-11 nap= 67
+ dans gcbd iter= 34 f= 0.5127616D-16
+ gcbd. epsg,difg= 0.2220D-15 0.3168D-08 epsf,diff= 0.0000D+00 0.5126D-16 nap= 71
+ dans gcbd iter= 35 f= 0.1131843D-19
+ gcbd. epsg,difg= 0.2220D-15 0.8861D-09 epsf,diff= 0.0000D+00 0.4625D-20 nap= 78
+ dans gcbd iter= 36 f= 0.6693058D-20
+ gcbd. epsg,difg= 0.2220D-15 0.4257D-09 epsf,diff= 0.0000D+00 0.3089D-21 nap= 82
+ dans gcbd iter= 37 f= 0.6384148D-20
+ gcbd. epsg,difg= 0.2220D-15 0.3053D-09 epsf,diff= 0.0000D+00 0.5249D-22 nap= 84
+ dans gcbd iter= 38 f= 0.6331659D-20
+ gcbd. epsg,difg= 0.2220D-15 0.8042D-10 epsf,diff= 0.0000D+00 0.4895D-22 nap= 85
+ dans gcbd iter= 39 f= 0.6282712D-20
+ gcbd. epsg,difg= 0.2220D-15 0.2603D-09 epsf,diff= 0.0000D+00 0.7315D-23 nap= 87
+ dans gcbd iter= 40 f= 0.6275397D-20
+ gcbd. epsg,difg= 0.2220D-15 0.2373D-09 epsf,diff= 0.0000D+00 0.1517D-22 nap= 96
+ dans gcbd iter= 41 f= 0.6260226D-20
+ gcbd. epsg,difg= 0.2220D-15 0.1259D-09 epsf,diff= 0.0000D+00 0.2288D-22 nap= 97
+ dans gcbd iter= 42 f= 0.6237341D-20
+ gcbd. epsg,difg= 0.2220D-15 0.8448D-10 epsf,diff= 0.0000D+00 0.1153D-22 nap= 99
+ dans gcbd iter= 43 f= 0.6225811D-20
+ gcbd max appels simul
+ gcbd : retour avec indgc= 4
+ f,norme grad,nap,iter,indgc= 0.6214E-20 0.8448E-10 100 43 4
+Optim stops: maximum number of calls to f is reached.
+
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=3);
+ dans gcbd iter= 1 f= 0.2420000D+02
+ relvar1. valeur de eps1= 0.1020000D+02
+ redemarrage. icycl= 2
+ rlbd tp= 0.2876E-01 tmax= 0.1000E+11 dh0/dt=-0.5423E+05
+e t= 0.3688E-04 h=-0.1945E+01 dh/dt=-0.5124E+05 dfh/dt=-0.5273E+05 dt 0.4E-04
+ t= 0.5135E-03 h=-0.1784E+02 dh/dt=-0.1667E+05 dfh/dt=-0.3334E+05 dt 0.5E-03
+ retour mlibd indrl= 1 pas= 0.5135D-03 f= 0.6364D+01
+ gcbd. epsg,difg= 0.2220D-15 0.7159D+02 epsf,diff= 0.0000D+00 0.1784D+02 nap= 2
+ dans gcbd iter= 2 f= 0.6363632D+01
+ relvar1. valeur de eps1= 0.3799926D+01
+ rlbd tp= 0.1253E+03 tmax= 0.1000E+11 dh0/dt=-0.3802E+01
+ic t= 0.9384E+01 h= 0.6768E+02 dh/dt= 0.1385E+02 dfh/dt= 0.7212E+01 dt 0.9E+01
+ t= 0.1228E+01 h=-0.2231E+01 dh/dt= 0.7747E-01 dfh/dt= 0.8572E+01 dt-0.8E+01
+ retour mlibd indrl= 1 pas= 0.1228D+01 f= 0.4132D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2340D+01 epsf,diff= 0.0000D+00 0.2231D+01 nap= 4
+ dans gcbd iter= 3 f= 0.4132134D+01
+ relvar1. valeur de eps1= 0.4060355D-02
+ redemarrage. icycl= 3
+ rlbd tp= 0.3491E+04 tmax= 0.1000E+11 dh0/dt=-0.4314E-02
+id t= 0.1035E+04 h= 0.1274E+04 dh/dt= 0.2763E+01 dfh/dt= 0.1231E+01 dt 0.1E+04
+ t= 0.1613E+01 h=-0.4550E-02 dh/dt=-0.1328E-02 dfh/dt= 0.1233E+01 dt-0.1E+04
+ retour mlibd indrl= 1 pas= 0.1613D+01 f= 0.4128D+01
+ gcbd. epsg,difg= 0.2220D-15 0.1913D+01 epsf,diff= 0.0000D+00 0.4550D-02 nap= 6
+ dans gcbd iter= 4 f= 0.4127584D+01
+ relvar1. valeur de eps1= 0.2713482D-02
+ rlbd tp= 0.1714E+04 tmax= 0.1000E+11 dh0/dt=-0.5472E-02
+e t= 0.1663E+01 h=-0.7784E-02 dh/dt=-0.3889E-02 dfh/dt=-0.4681E-02 dt 0.2E+01
+ t= 0.4407E+01 h=-0.1486E-01 dh/dt=-0.1270E-02 dfh/dt=-0.2580E-02 dt 0.3E+01
+ retour mlibd indrl= 1 pas= 0.4407D+01 f= 0.4113D+01
+ gcbd. epsg,difg= 0.2220D-15 0.5416D+01 epsf,diff= 0.0000D+00 0.1486D-01 nap= 8
+ dans gcbd iter= 5 f= 0.4112720D+01
+ relvar1. valeur de eps1= 0.2174276D-01
+ rlbd tp= 0.3394E+03 tmax= 0.1000E+11 dh0/dt=-0.2756E-01
+e t= 0.1079E+01 h=-0.2860E-01 dh/dt=-0.2543E-01 dfh/dt=-0.2652E-01 dt 0.1E+01
+ t= 0.1071E+02 h=-0.1464E+00 dh/dt= 0.4420E-02 dfh/dt=-0.1223E-01 dt 0.1E+02
+ retour mlibd indrl= 1 pas= 0.1071D+02 f= 0.3966D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2091D+02 epsf,diff= 0.0000D+00 0.1464D+00 nap= 10
+ dans gcbd iter= 6 f= 0.3966314D+01
+ relvar1. valeur de eps1= 0.3241092D+00
+ rlbd tp= 0.5571E+02 tmax= 0.1000E+11 dh0/dt=-0.3012E+00
+e t= 0.9721E+00 h=-0.2598E+00 dh/dt=-0.2366E+00 dfh/dt=-0.2673E+00 dt 0.1E+01
+ t= 0.3474E+01 h=-0.6344E+00 dh/dt=-0.2926E-01 dfh/dt=-0.1497E+00 dt 0.3E+01
+ retour mlibd indrl= 1 pas= 0.3474D+01 f= 0.3332D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2247D+02 epsf,diff= 0.0000D+00 0.6344D+00 nap= 12
+ dans gcbd iter= 7 f= 0.3331870D+01
+ relvar1. valeur de eps1= 0.3741640D+00
+ rlbd tp= 0.1088E+03 tmax= 0.1000E+11 dh0/dt=-0.5645E+00
+ t= 0.2248E+01 h=-0.6856E+00 dh/dt=-0.1262E+00 dfh/dt=-0.3050E+00 dt 0.2E+01
+ retour mlibd indrl= 1 pas= 0.2248D+01 f= 0.2646D+01
+ gcbd. epsg,difg= 0.2220D-15 0.2143D+01 epsf,diff= 0.0000D+00 0.6856D+00 nap= 13
+ dans gcbd iter= 8 f= 0.2646310D+01
+ relvar1. valeur de eps1= 0.3403105D-02
+ rlbd tp= 0.7769E+02 tmax= 0.1000E+11 dh0/dt=-0.1859E+00
+ic t= 0.7377E+01 h= 0.6756E+00 dh/dt= 0.1233E+01 dfh/dt= 0.9159E-01 dt 0.7E+01
+ t= 0.4255E+01 h=-0.7397E+00 dh/dt=-0.4571E-01 dfh/dt= 0.4535E+00 dt-0.3E+01
+ retour mlibd indrl= 1 pas= 0.4255D+01 f= 0.1907D+01
+ gcbd. epsg,difg= 0.2220D-15 0.8030D+01 epsf,diff= 0.0000D+00 0.7397D+00 nap= 15
+ dans gcbd iter= 9 f= 0.1906596D+01
+ relvar1. valeur de eps1= 0.4780419D-01
+ rlbd tp= 0.3212E+02 tmax= 0.1000E+11 dh0/dt=-0.2472E+00
+id t= 0.5985E+01 h= 0.1537E+03 dh/dt= 0.9159E+02 dfh/dt= 0.2567E+02 dt 0.6E+01
+e t= 0.1611E-01 h=-0.3896E-02 dh/dt=-0.2364E+00 dfh/dt= 0.2574E+02 dt-0.6E+01
+ t= 0.2846E+00 h=-0.3822E-01 dh/dt=-0.8113E-04 dfh/dt=-0.1279E+00 dt 0.3E+00
+ retour mlibd indrl= 1 pas= 0.2846D+00 f= 0.1868D+01
+ gcbd. epsg,difg= 0.2220D-15 0.1073D+02 epsf,diff= 0.0000D+00 0.3822D-01 nap= 18
+ dans gcbd iter= 10 f= 0.1868373D+01
+ relvar1. valeur de eps1= 0.8535631D-01
+ rlbd tp= 0.1129E+03 tmax= 0.1000E+11 dh0/dt=-0.1980E+00
+e t= 0.3861E+00 h=-0.7241E-01 dh/dt=-0.1777E+00 dfh/dt=-0.1876E+00 dt 0.4E+00
+ t= 0.2884E+01 h=-0.4014E+00 dh/dt=-0.9237E-01 dfh/dt=-0.1317E+00 dt 0.2E+01
+ retour mlibd indrl= 1 pas= 0.2884D+01 f= 0.1467D+01
+ gcbd. epsg,difg= 0.2220D-15 0.7322D+01 epsf,diff= 0.0000D+00 0.4014D+00 nap= 20
+ dans gcbd iter= 11 f= 0.1467012D+01
+ relvar1. valeur de eps1= 0.3974892D-01
+ rlbd tp= 0.4776E+02 tmax= 0.1000E+11 dh0/dt=-0.2843E+00
+ic t= 0.2824E+01 h= 0.4689E+00 dh/dt= 0.1143E+01 dfh/dt= 0.1661E+00 dt 0.3E+01
+ t= 0.1342E+01 h=-0.2159E+00 dh/dt= 0.7689E-02 dfh/dt= 0.4621E+00 dt-0.1E+01
+ retour mlibd indrl= 1 pas= 0.1342D+01 f= 0.1251D+01
+ gcbd. epsg,difg= 0.2220D-15 0.9099D+01 epsf,diff= 0.0000D+00 0.2159D+00 nap= 22
+ dans gcbd iter= 12 f= 0.1251075D+01
+ relvar1. valeur de eps1= 0.6137646D-01
+ rlbd tp= 0.2230E+03 tmax= 0.1000E+11 dh0/dt=-0.2142E+00
+ t= 0.2016E+01 h=-0.2771E+00 dh/dt=-0.6822E-01 dfh/dt=-0.1375E+00 dt 0.2E+01
+ retour mlibd indrl= 1 pas= 0.2016D+01 f= 0.9740D+00
+ gcbd. epsg,difg= 0.2220D-15 0.2373D+01 epsf,diff= 0.0000D+00 0.2771D+00 nap= 23
+ dans gcbd iter= 13 f= 0.9739653D+00
+ relvar1. valeur de eps1= 0.4173212D-02
+ rlbd tp= 0.1759E+03 tmax= 0.1000E+11 dh0/dt=-0.7701E-01
+ic t= 0.7196E+01 h= 0.1711E-01 dh/dt= 0.2397E-02 dfh/dt= 0.2377E-02 dt 0.7E+01
+ t= 0.2294E+01 h=-0.7093E-01 dh/dt= 0.3779E-02 dfh/dt= 0.1796E-01 dt-0.5E+01
+ retour mlibd indrl= 1 pas= 0.2294D+01 f= 0.9030D+00
+ gcbd. epsg,difg= 0.2220D-15 0.5464D+01 epsf,diff= 0.0000D+00 0.7093D-01 nap= 25
+ dans gcbd iter= 14 f= 0.9030358D+00
+ relvar1. valeur de eps1= 0.2213301D-01
+ rlbd tp= 0.1925E+03 tmax= 0.1000E+11 dh0/dt=-0.5988E-01
+es t= 0.2369E+01 h=-0.1457E+00 dh/dt=-0.6005E-01 dfh/dt=-0.6152E-01 dt 0.2E+01
+ic t= 0.1925E+03 h= 0.6099E+05 dh/dt= 0.1255E+04 dfh/dt= 0.3208E+03 dt 0.2E+03
+ic t= 0.6286E+02 h= 0.7424E+03 dh/dt= 0.4626E+02 dfh/dt= 0.4648E+03 dt-0.1E+03
+ic t= 0.1991E+02 h= 0.7578E+01 dh/dt= 0.1633E+01 dfh/dt= 0.1711E+02 dt-0.4E+02
+ t= 0.7386E+01 h=-0.2702E+00 dh/dt= 0.4024E-01 dfh/dt= 0.6267E+00 dt-0.1E+02
+ retour mlibd indrl= 1 pas= 0.7386D+01 f= 0.6329D+00
+ gcbd. epsg,difg= 0.2220D-15 0.6580D+01 epsf,diff= 0.0000D+00 0.2702D+00 nap= 30
+ dans gcbd iter= 15 f= 0.6328802D+00
+ relvar1. valeur de eps1= 0.3209633D-01
+ rlbd tp= 0.8587E+02 tmax= 0.1000E+11 dh0/dt=-0.1289E+00
+ic t= 0.4193E+01 h= 0.5736E+00 dh/dt= 0.1516E+00 dfh/dt= 0.1368E+00 dt 0.4E+01
+ t= 0.5819E+00 h=-0.2982E-01 dh/dt= 0.1805E-01 dfh/dt= 0.1671E+00 dt-0.4E+01
+ retour mlibd indrl= 1 pas= 0.5819D+00 f= 0.6031D+00
+ gcbd. epsg,difg= 0.2220D-15 0.2530D+01 epsf,diff= 0.0000D+00 0.2982D-01 nap= 32
+ dans gcbd iter= 16 f= 0.6030573D+00
+ relvar1. valeur de eps1= 0.4746197D-02
+ rlbd tp= 0.2718E+03 tmax= 0.1000E+11 dh0/dt=-0.2597E-01
+e t= 0.2297E+01 h=-0.5336E-01 dh/dt=-0.2015E-01 dfh/dt=-0.2323E-01 dt 0.2E+01
+ t= 0.7857E+01 h=-0.8989E-01 dh/dt= 0.1364E-01 dfh/dt=-0.6570E-02 dt 0.6E+01
+ retour mlibd indrl= 1 pas= 0.7857D+01 f= 0.5132D+00
+ gcbd. epsg,difg= 0.2220D-15 0.7873D+01 epsf,diff= 0.0000D+00 0.8989D-01 nap= 34
+ dans gcbd iter= 17 f= 0.5131695D+00
+ relvar1. valeur de eps1= 0.4594621D-01
+ rlbd tp= 0.3039E+03 tmax= 0.1000E+11 dh0/dt=-0.1195E+00
+ t= 0.1504E+01 h=-0.8223E-01 dh/dt= 0.7334E-02 dfh/dt=-0.5466E-01 dt 0.2E+01
+ retour mlibd indrl= 1 pas= 0.1504D+01 f= 0.4309D+00
+ gcbd. epsg,difg= 0.2220D-15 0.1104D+01 epsf,diff= 0.0000D+00 0.8223D-01 nap= 35
+ dans gcbd iter= 18 f= 0.4309425D+00
+ relvar1. valeur de eps1= 0.9029729D-03
+ rlbd tp= 0.1063E+04 tmax= 0.1000E+11 dh0/dt=-0.4518E-02
+ic t= 0.3640E+02 h= 0.5310E+00 dh/dt= 0.4494E-01 dfh/dt= 0.1459E-01 dt 0.4E+02
+ t= 0.7310E+01 h=-0.1651E-01 dh/dt= 0.3403E-03 dfh/dt= 0.1882E-01 dt-0.3E+02
+ retour mlibd indrl= 1 pas= 0.7310D+01 f= 0.4144D+00
+ gcbd. epsg,difg= 0.2220D-15 0.3437D+01 epsf,diff= 0.0000D+00 0.1651D-01 nap= 37
+ dans gcbd iter= 19 f= 0.4144307D+00
+ relvar1. valeur de eps1= 0.8757447D-02
+ rlbd tp= 0.2773E+03 tmax= 0.1000E+11 dh0/dt=-0.2666E-01
+e t= 0.1239E+01 h=-0.3089E-01 dh/dt=-0.2333E-01 dfh/dt=-0.2493E-01 dt 0.1E+01
+ t= 0.7614E+01 h=-0.1344E+00 dh/dt=-0.7689E-02 dfh/dt=-0.1623E-01 dt 0.6E+01
+ retour mlibd indrl= 1 pas= 0.7614D+01 f= 0.2801D+00
+ gcbd. epsg,difg= 0.2220D-15 0.4566D+01 epsf,diff= 0.0000D+00 0.1344D+00 nap= 39
+ dans gcbd iter= 20 f= 0.2800585D+00
+ relvar1. valeur de eps1= 0.1545384D-01
+ rlbd tp= 0.7879E+02 tmax= 0.1000E+11 dh0/dt=-0.7000E-01
+ic t= 0.3839E+01 h= 0.4880E-01 dh/dt= 0.1721E+00 dfh/dt= 0.1271E-01 dt 0.4E+01
+ t= 0.2019E+01 h=-0.7865E-01 dh/dt=-0.1462E-02 dfh/dt= 0.7004E-01 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.2019D+01 f= 0.2014D+00
+ gcbd. epsg,difg= 0.2220D-15 0.6863D+01 epsf,diff= 0.0000D+00 0.7865D-01 nap= 41
+ dans gcbd iter= 21 f= 0.2014068D+00
+ relvar1. valeur de eps1= 0.3491271D-01
+ rlbd tp= 0.1452E+03 tmax= 0.1000E+11 dh0/dt=-0.7317E-01
+ t= 0.2150E+01 h=-0.7752E-01 dh/dt=-0.1664E-02 dfh/dt=-0.3606E-01 dt 0.2E+01
+ retour mlibd indrl= 1 pas= 0.2150D+01 f= 0.1239D+00
+ gcbd. epsg,difg= 0.2220D-15 0.1826D+01 epsf,diff= 0.0000D+00 0.7752D-01 nap= 42
+ dans gcbd iter= 22 f= 0.1238910D+00
+ relvar1. valeur de eps1= 0.2472755D-02
+ rlbd tp= 0.6021E+03 tmax= 0.1000E+11 dh0/dt=-0.3742E-02
+ic t= 0.4144E+02 h= 0.4582E-01 dh/dt= 0.1733E-01 dfh/dt= 0.1106E-02 dt 0.4E+02
+ t= 0.2377E+02 h=-0.7119E-01 dh/dt=-0.5166E-03 dfh/dt= 0.6624E-02 dt-0.2E+02
+ retour mlibd indrl= 1 pas= 0.2377D+02 f= 0.5270D-01
+ gcbd. epsg,difg= 0.2220D-15 0.2529D+01 epsf,diff= 0.0000D+00 0.7119D-01 nap= 44
+ dans gcbd iter= 23 f= 0.5270207D-01
+ relvar1. valeur de eps1= 0.4743240D-02
+ rlbd tp= 0.5996E+02 tmax= 0.1000E+11 dh0/dt=-0.1525E-01
+id t= 0.9339E+01 h= 0.6520E+01 dh/dt= 0.2531E+01 dfh/dt= 0.6982E+00 dt 0.9E+01
+e t= 0.5592E-01 h=-0.8282E-03 dh/dt=-0.1437E-01 dfh/dt= 0.7025E+00 dt-0.9E+01
+ t= 0.7449E+00 h=-0.6135E-02 dh/dt= 0.3026E-03 dfh/dt=-0.7702E-02 dt 0.7E+00
+ retour mlibd indrl= 1 pas= 0.7449D+00 f= 0.4657D-01
+ gcbd. epsg,difg= 0.2220D-15 0.4306D+01 epsf,diff= 0.0000D+00 0.6135D-02 nap= 47
+ dans gcbd iter= 24 f= 0.4656719D-01
+ relvar1. valeur de eps1= 0.1374282D-01
+ rlbd tp= 0.9843E+02 tmax= 0.1000E+11 dh0/dt=-0.2153E-01
+e t= 0.5698E+00 h=-0.1080E-01 dh/dt=-0.1656E-01 dfh/dt=-0.1895E-01 dt 0.6E+00
+ t= 0.1891E+01 h=-0.2703E-01 dh/dt=-0.8803E-02 dfh/dt=-0.1229E-01 dt 0.1E+01
+ retour mlibd indrl= 1 pas= 0.1891D+01 f= 0.1953D-01
+ gcbd. epsg,difg= 0.2220D-15 0.1231D+01 epsf,diff= 0.0000D+00 0.2703D-01 nap= 49
+ dans gcbd iter= 25 f= 0.1953329D-01
+ relvar1. valeur de eps1= 0.1122833D-02
+ rlbd tp= 0.6390E+02 tmax= 0.1000E+11 dh0/dt=-0.1231E-01
+ic t= 0.4393E+01 h= 0.2726E-02 dh/dt= 0.2652E-01 dfh/dt= 0.6205E-03 dt 0.4E+01
+ t= 0.2476E+01 h=-0.1631E-01 dh/dt=-0.9453E-03 dfh/dt= 0.9927E-02 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.2476D+01 f= 0.3222D-02
+ gcbd. epsg,difg= 0.2220D-15 0.1445D+01 epsf,diff= 0.0000D+00 0.1631D-01 nap= 51
+ dans gcbd iter= 26 f= 0.3222476D-02
+ relvar1. valeur de eps1= 0.1548651D-02
+ rlbd tp= 0.2501E+03 tmax= 0.1000E+11 dh0/dt=-0.2338E-02
+ic t= 0.1396E+02 h= 0.3783E-01 dh/dt= 0.4338E-02 dfh/dt= 0.2710E-02 dt 0.1E+02
+ t= 0.2121E+01 h=-0.2216E-02 dh/dt= 0.1389E-03 dfh/dt= 0.3384E-02 dt-0.1E+02
+ retour mlibd indrl= 1 pas= 0.2121D+01 f= 0.1006D-02
+ gcbd. epsg,difg= 0.2220D-15 0.6193D+00 epsf,diff= 0.0000D+00 0.2216D-02 nap= 53
+ dans gcbd iter= 27 f= 0.1006378D-02
+ relvar1. valeur de eps1= 0.2843555D-03
+ redemarrage. icycl= 4
+ rlbd tp= 0.1091E+04 tmax= 0.1000E+11 dh0/dt=-0.2329E-03
+ic t= 0.1903E+02 h= 0.6140E-02 dh/dt= 0.1045E-02 dfh/dt= 0.3226E-03 dt 0.2E+02
+ t= 0.4894E+01 h=-0.5871E-03 dh/dt= 0.2637E-05 dfh/dt= 0.4758E-03 dt-0.1E+02
+ retour mlibd indrl= 1 pas= 0.4894D+01 f= 0.4193D-03
+ gcbd. epsg,difg= 0.2220D-15 0.3527D+00 epsf,diff= 0.0000D+00 0.5871D-03 nap= 55
+ dans gcbd iter= 28 f= 0.4193247D-03
+ relvar1. valeur de eps1= 0.9222784D-04
+ rlbd tp= 0.1062E+04 tmax= 0.1000E+11 dh0/dt=-0.8678E-04
+ t= 0.1353E+02 h=-0.3655E-03 dh/dt= 0.2643E-04 dfh/dt=-0.2701E-04 dt 0.1E+02
+ retour mlibd indrl= 1 pas= 0.1353D+02 f= 0.5385D-04
+ gcbd. epsg,difg= 0.2220D-15 0.1105D+00 epsf,diff= 0.0000D+00 0.3655D-03 nap= 56
+ dans gcbd iter= 29 f= 0.5385147D-04
+ relvar1. valeur de eps1= 0.9059077D-05
+ redemarrage. icycl= 5
+ rlbd tp= 0.4375E+03 tmax= 0.1000E+11 dh0/dt=-0.1214E-03
+ic t= 0.6022E+01 h= 0.1322E-02 dh/dt= 0.4847E-03 dfh/dt= 0.2195E-03 dt 0.6E+01
+ t= 0.9155E+00 h=-0.4928E-04 dh/dt= 0.9833E-05 dfh/dt= 0.2685E-03 dt-0.5E+01
+ retour mlibd indrl= 1 pas= 0.9155D+00 f= 0.4572D-05
+ gcbd. epsg,difg= 0.2220D-15 0.9174D-01 epsf,diff= 0.0000D+00 0.4928D-04 nap= 58
+ dans gcbd iter= 30 f= 0.4571613D-05
+ relvar1. valeur de eps1= 0.6239751D-05
+ rlbd tp= 0.2108E+05 tmax= 0.1000E+11 dh0/dt=-0.5025E-05
+icb t= 0.1961E+02 h= 0.4515E-03 dh/dt= 0.5112E-04 dfh/dt= 0.2302E-04 dt 0.2E+02
+ t= 0.1961E+01 h=-0.4367E-05 dh/dt= 0.5731E-06 dfh/dt= 0.2582E-04 dt-0.2E+02
+ retour mlibd indrl= 1 pas= 0.1961D+01 f= 0.2051D-06
+ gcbd. epsg,difg= 0.2220D-15 0.1255D-01 epsf,diff= 0.0000D+00 0.4367D-05 nap= 60
+ dans gcbd iter= 31 f= 0.2050776D-06
+ relvar1. valeur de eps1= 0.1168284D-06
+ redemarrage. icycl= 6
+ rlbd tp= 0.9888E+04 tmax= 0.1000E+11 dh0/dt=-0.3710E-06
+icb t= 0.2354E+02 h= 0.7839E-04 dh/dt= 0.6768E-05 dfh/dt= 0.3330E-05 dt 0.2E+02
+ic t= 0.2354E+01 h= 0.5630E-07 dh/dt= 0.4160E-06 dfh/dt= 0.3698E-05 dt-0.2E+02
+ t= 0.1103E+01 h=-0.2043E-06 dh/dt= 0.4074E-12 dfh/dt= 0.2084E-06 dt-0.1E+01
+ retour mlibd indrl= 1 pas= 0.1103D+01 f= 0.7658D-09
+ gcbd. epsg,difg= 0.2220D-15 0.9260D-03 epsf,diff= 0.0000D+00 0.2043D-06 nap= 63
+ dans gcbd iter= 32 f= 0.7658047D-09
+ relvar1. valeur de eps1= 0.6356802D-09
+ rlbd tp= 0.3886E+06 tmax= 0.1000E+11 dh0/dt=-0.6357E-09
+id t= 0.6428E+03 h= 0.5664E-04 dh/dt= 0.1809E-06 dfh/dt= 0.8811E-07 dt 0.6E+03
+ t= 0.2251E+01 h=-0.7625E-09 dh/dt=-0.4174E-10 dfh/dt= 0.8842E-07 dt-0.6E+03
+ retour mlibd indrl= 1 pas= 0.2251D+01 f= 0.3301D-11
+ gcbd. epsg,difg= 0.2220D-15 0.6032D-04 epsf,diff= 0.0000D+00 0.7625D-09 nap= 65
+ dans gcbd iter= 33 f= 0.3300830D-11
+ relvar1. valeur de eps1= 0.2697842D-11
+ redemarrage. icycl= 7
+ rlbd tp= 0.2431E+07 tmax= 0.1000E+11 dh0/dt=-0.6603E-11
+id t= 0.2309E+03 h= 0.1751E-06 dh/dt= 0.1525E-08 dfh/dt= 0.7581E-09 dt 0.2E+03
+ t= 0.9958E+00 h=-0.3301E-11 dh/dt=-0.2602E-13 dfh/dt= 0.7614E-09 dt-0.2E+03
+ retour mlibd indrl= 1 pas= 0.9958D+00 f= 0.5128D-16
+ gcbd. epsg,difg= 0.2220D-15 0.2425D-06 epsf,diff= 0.0000D+00 0.3301D-11 nap= 67
+ dans gcbd iter= 34 f= 0.5127616D-16
+ relvar1. valeur de eps1= 0.0000000D+00
+ rlbd tp= 0.6222E+09 tmax= 0.1000E+11 dh0/dt=-0.1025E-15
+id t= 0.6439E+05 h= 0.2131E-06 dh/dt= 0.6629E-11 dfh/dt= 0.3310E-11 dt 0.6E+05
+icb t= 0.6439E+02 h= 0.2059E-12 dh/dt= 0.6498E-14 dfh/dt= 0.3313E-11 dt-0.6E+05
+ic t= 0.6439E+01 h= 0.1465E-14 dh/dt= 0.5576E-15 dfh/dt= 0.3528E-14 dt-0.6E+02
+ t= 0.1000E+01 h=-0.5126E-16 dh/dt=-0.6186E-23 dfh/dt= 0.2788E-15 dt-0.5E+01
+ retour mlibd indrl= 1 pas= 0.1000D+01 f= 0.1132D-19
+ gcbd. epsg,difg= 0.2220D-15 0.3168D-08 epsf,diff= 0.0000D+00 0.5126D-16 nap= 71
+ dans gcbd iter= 35 f= 0.1131843D-19
+ relvar1. valeur de eps1= 0.0000000D+00
+ redemarrage. icycl= 8
+ rlbd tp= 0.1883E+13 tmax= 0.1000E+11 dh0/dt=-0.7441E-20
+id t= 0.1378E+05 h= 0.5241E-12 dh/dt= 0.7609E-16 dfh/dt= 0.3804E-16 dt 0.1E+05
+id t= 0.1378E+04 h= 0.5232E-14 dh/dt= 0.7602E-17 dfh/dt= 0.4184E-16 dt-0.1E+05
+id t= 0.1378E+03 h= 0.5140E-16 dh/dt= 0.7535E-18 dfh/dt= 0.4178E-17 dt-0.1E+04
+d t= 0.1378E+02 h= 0.4217E-18 dh/dt= 0.6865E-19 dfh/dt= 0.4111E-18 dt-0.1E+03
+d t= 0.6889E+01 h= 0.7979E-19 dh/dt= 0.3061E-19 dfh/dt= 0.4963E-19 dt-0.7E+01
+d t= 0.3445E+01 h= 0.7131E-20 dh/dt= 0.1158E-19 dfh/dt= 0.2109E-19 dt-0.3E+01
+ t= 0.1722E+01 h=-0.4625E-20 dh/dt= 0.2070E-20 dfh/dt= 0.6826E-20 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.1722D+01 f= 0.6693D-20
+ gcbd. epsg,difg= 0.2220D-15 0.8861D-09 epsf,diff= 0.0000D+00 0.4625D-20 nap= 78
+ dans gcbd iter= 36 f= 0.6693058D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ rlbd tp= 0.1067E+14 tmax= 0.1000E+11 dh0/dt=-0.5821E-21
+d t= 0.1589E+02 h= 0.4498E-19 dh/dt= 0.6243E-20 dfh/dt= 0.2830E-20 dt 0.2E+02
+d t= 0.7947E+01 h= 0.8933E-20 dh/dt= 0.2830E-20 dfh/dt= 0.4537E-20 dt-0.8E+01
+d t= 0.3973E+01 h= 0.1077E-20 dh/dt= 0.1124E-20 dfh/dt= 0.1977E-20 dt-0.4E+01
+ t= 0.1987E+01 h=-0.3089E-21 dh/dt= 0.2711E-21 dfh/dt= 0.6976E-21 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.1987D+01 f= 0.6384D-20
+ gcbd. epsg,difg= 0.2220D-15 0.4257D-09 epsf,diff= 0.0000D+00 0.3089D-21 nap= 82
+ dans gcbd iter= 37 f= 0.6384148D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ redemarrage. icycl= 9
+ rlbd tp= 0.1325E+14 tmax= 0.1000E+11 dh0/dt=-0.1343E-21
+d t= 0.4600E+01 h= 0.4080E-21 dh/dt= 0.3117E-21 dfh/dt= 0.8869E-22 dt 0.5E+01
+ t= 0.2300E+01 h=-0.5249E-22 dh/dt= 0.8867E-22 dfh/dt= 0.2002E-21 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.2300D+01 f= 0.6332D-20
+ gcbd. epsg,difg= 0.2220D-15 0.3053D-09 epsf,diff= 0.0000D+00 0.5249D-22 nap= 84
+ dans gcbd iter= 38 f= 0.6331659D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ rlbd tp= 0.2753E+14 tmax= 0.1000E+11 dh0/dt=-0.6909E-22
+ t= 0.1519E+01 h=-0.4895E-22 dh/dt= 0.4659E-23 dfh/dt=-0.3222E-22 dt 0.2E+01
+ retour mlibd indrl= 1 pas= 0.1519D+01 f= 0.6283D-20
+ gcbd. epsg,difg= 0.2220D-15 0.8042D-10 epsf,diff= 0.0000D+00 0.4895D-22 nap= 85
+ dans gcbd iter= 39 f= 0.6282712D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ redemarrage. icycl= 10
+ rlbd tp= 0.8214E+14 tmax= 0.1000E+11 dh0/dt=-0.4794E-23
+d t= 0.2042E+02 h= 0.6864E-22 dh/dt= 0.1152E-22 dfh/dt= 0.3361E-23 dt 0.2E+02
+ t= 0.1021E+02 h=-0.7315E-23 dh/dt= 0.3361E-23 dfh/dt= 0.7439E-23 dt-0.1E+02
+ retour mlibd indrl= 1 pas= 0.1021D+02 f= 0.6275D-20
+ gcbd. epsg,difg= 0.2220D-15 0.2603D-09 epsf,diff= 0.0000D+00 0.7315D-23 nap= 87
+ dans gcbd iter= 40 f= 0.6275397D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ rlbd tp= 0.3083E+14 tmax= 0.1000E+11 dh0/dt=-0.5022E-22
+e t= 0.2914E+00 h=-0.1318E-22 dh/dt=-0.4014E-22 dfh/dt=-0.4523E-22 dt 0.3E+00
+d t= 0.2914E+03 h= 0.1452E-17 dh/dt= 0.1001E-19 dfh/dt= 0.4987E-20 dt 0.3E+03
+d t= 0.1458E+03 h= 0.3600E-18 dh/dt= 0.4987E-20 dfh/dt= 0.7501E-20 dt-0.1E+03
+d t= 0.7306E+02 h= 0.8852E-19 dh/dt= 0.2473E-20 dfh/dt= 0.3730E-20 dt-0.7E+02
+d t= 0.3667E+02 h= 0.2139E-19 dh/dt= 0.1217E-20 dfh/dt= 0.1845E-20 dt-0.4E+02
+d t= 0.1848E+02 h= 0.4972E-20 dh/dt= 0.5882E-21 dfh/dt= 0.9024E-21 dt-0.2E+02
+d t= 0.9387E+01 h= 0.1051E-20 dh/dt= 0.2740E-21 dfh/dt= 0.4312E-21 dt-0.9E+01
+d t= 0.4839E+01 h= 0.1615E-21 dh/dt= 0.1169E-21 dfh/dt= 0.1955E-21 dt-0.5E+01
+ t= 0.2565E+01 h=-0.1517E-22 dh/dt= 0.3839E-22 dfh/dt= 0.7767E-22 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.2565D+01 f= 0.6260D-20
+ gcbd. epsg,difg= 0.2220D-15 0.2373D-09 epsf,diff= 0.0000D+00 0.1517D-22 nap= 96
+ dans gcbd iter= 41 f= 0.6260226D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ rlbd tp= 0.2303E+14 tmax= 0.1000E+11 dh0/dt=-0.4176E-22
+ t= 0.7266E+00 h=-0.2288E-22 dh/dt=-0.2121E-22 dfh/dt=-0.3150E-22 dt 0.7E+00
+ retour mlibd indrl= 1 pas= 0.7266D+00 f= 0.6237D-20
+ gcbd. epsg,difg= 0.2220D-15 0.1259D-09 epsf,diff= 0.0000D+00 0.2288D-22 nap= 97
+ dans gcbd iter= 42 f= 0.6237341D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ redemarrage. icycl= 11
+ rlbd tp= 0.4323E+14 tmax= 0.1000E+11 dh0/dt=-0.1175E-22
+d t= 0.3894E+01 h=-0.3634E-24 dh/dt= 0.1157E-22 dfh/dt=-0.9333E-25 dt 0.4E+01
+ t= 0.1947E+01 h=-0.1153E-22 dh/dt=-0.9088E-25 dfh/dt= 0.5735E-23 dt-0.2E+01
+ retour mlibd indrl= 1 pas= 0.1947D+01 f= 0.6226D-20
+ gcbd. epsg,difg= 0.2220D-15 0.8448D-10 epsf,diff= 0.0000D+00 0.1153D-22 nap= 99
+ dans gcbd iter= 43 f= 0.6225811D-20
+ relvar1. valeur de eps1= 0.0000000D+00
+ rlbd tp= 0.6434E+14 tmax= 0.1000E+11 dh0/dt=-0.5291E-23
+ t= 0.4359E+01 h=-0.1174E-22 dh/dt=-0.9310E-25 dfh/dt=-0.2693E-23 dt 0.4E+01
+ retour mlibd indrl= 1 pas= 0.4359D+01 f= 0.6214D-20
+ gcbd max appels simul
+ gcbd : retour avec indgc= 4
+ f,norme grad,nap,iter,indgc= 0.6214E-20 0.8448E-10 100 43 4
+Optim stops: maximum number of calls to f is reached.
+
+//
+// 6. Test "sd", "si", "td", "ti" options
+[f,x,g,td]=optim(rosenbrock,x0,'sd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g,ti]=optim(rosenbrock,x0,'si');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g,ti,td]=optim(rosenbrock,x0,'si','sd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g,ti,td]=optim(rosenbrock,x0,"ti",[2 2 2],"td",[1.1 1.1 1.1],'si','sd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
diff --git a/modules/optimization/tests/unit_tests/optim_scilabscript.tst b/modules/optimization/tests/unit_tests/optim_scilabscript.tst
new file mode 100755
index 000000000..072266c7b
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_scilabscript.tst
@@ -0,0 +1,193 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK REF -->
+//
+// Do not check ref, because imp option create output messages
+// which contains lots of floating point values which may
+// be slightly different across platforms, without being bugs.
+//
+// optim_script.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is a Scilab function.
+// The expected solution is x=(1,...,1) where f(x)=0
+//
+
+
+Leps=1.e-3;
+bs=[5 5];
+bi=-bs;
+x0=[-1.2 1];
+xopt=[1 1];
+fopt = 0.0;
+gopt = [0.0 0.0];
+function [ f , g , ind ] = rosenbrock ( x , ind )
+ if ind == 2 | ind == 4 then
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ end
+ if ind == 2 | ind == 4 then
+ g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(2) = 200. * ( x(2) - x(1)**2 )
+ end
+endfunction
+//
+// Configure the test so that verbose message do not interrupt the test.
+lines(0);
+//
+// 1. Test unconstrained BFGS
+// Test without arguments
+[f,x,g,tr]=optim(rosenbrock,x0);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,x0,'qn','ar',50);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with hot-restart array tr
+[f,x,g,tr]=optim(rosenbrock,x0,'qn','ar',50);
+[f,x,g]=optim(rosenbrock,x0,tr);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,x0,'qn','ar', 50 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=0);
+// imp = 1 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=1);
+// imp = 2 : one line by iteration
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=2);
+// imp = 3 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=3);
+// Negative imp : call back the cost function with ind = 0 each -imp iteration
+[f,x,g]=optim(rosenbrock,x0,'qn',imp=-5);
+//
+// 2. Test unconstrained Limited Memory BFGS
+[f,x,g]=optim(rosenbrock,x0,'gc');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g]=optim(rosenbrock,x0,'gc','ar',50);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=1);
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=2);
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,x0,'gc',imp=3);
+//
+// 3. Test unconstrained non-differentiable method
+[f,x,g]=optim(rosenbrock,x0,'nd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,x0,'nd','ar',100);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,x0,'nd','ar', 100 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=1);
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=2);
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,x0,'nd',imp=3);
+
+//
+// 4. Test bound-constrained BFGS
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn','ar',50);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn','ar', 100 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=1);
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=2);
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'qn',imp=3);
+//
+// 5. Test bound-constrained Limited Memory BFGS
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc','ar',100);
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with maximum number of call to cost function, maximum number of iterations
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc','ar', 100 , 100 );
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+// Test with various imp levels
+// imp = 0 : No messages
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=0);
+// imp = 1,2 : one line at start, one line at end
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=1);
+// imp = 3 : one line by iteration
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=2);
+// imp = 4 : one line by iteration + one line by line search
+[f,x,g]=optim(rosenbrock,'b',bi,bs,x0,'gc',imp=3);
+//
+// 6. Test "sd", "si", "td", "ti" options
+[f,x,g,td]=optim(rosenbrock,x0,'sd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g,ti]=optim(rosenbrock,x0,'si');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g,ti,td]=optim(rosenbrock,x0,'si','sd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+[f,x,g,ti,td]=optim(rosenbrock,x0,"ti",[2 2 2],"td",[1.1 1.1 1.1],'si','sd');
+assert_checkalmostequal ( x , xopt , Leps );
+assert_checkalmostequal ( f , fopt , [] , Leps );
+assert_checkalmostequal ( g , gopt , [] , Leps );
+
+
+
diff --git a/modules/optimization/tests/unit_tests/optim_sourcec.dia.ref b/modules/optimization/tests/unit_tests/optim_sourcec.dia.ref
new file mode 100755
index 000000000..da1ee3ed8
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_sourcec.dia.ref
@@ -0,0 +1,76 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+// optim.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is provided as a Fortran
+// routine.
+// The "genros" function is defined in optimization/sci_gateway/fortran/Ex-optim.f
+//
+// This is the precision measured with experiments.
+ilib_verbose(0);
+Leps=10^12*%eps;
+// n : dimension of the problem
+n=3;
+bs=10.*ones(n,1);
+bi=-bs;
+x0=1.2*ones(n,1);
+epsx=1.e-15*x0;
+xopt=ones(n,1);
+// Move into the temporary directory to create the temporary files there
+cur_dir = pwd();
+chdir(TMPDIR);
+// External function written in C (C compiler required)
+// write down the C code (Rosenbrock problem)
+C=['#include <math.h>'
+'double sq(double x)'
+'{ return x*x;}'
+'void rosenc(int *ind, int *n, double *x, double *f, double *g, '
+' int *ti, float *tr, double *td)'
+'{'
+' double p;'
+' int i;'
+' p=td[0];'
+' if (*ind==2||*ind==4) {'
+' *f=1.0;'
+' for (i=1;i<*n;i++)'
+' *f+=p*sq(x[i]-sq(x[i-1]))+sq(1.0-x[i]);'
+' }'
+' if (*ind==3||*ind==4) {'
+' g[0]=-4.0*p*(x[1]-sq(x[0]))*x[0];'
+' for (i=1;i<*n-1;i++)'
+' g[i]=2.0*p*(x[i]-sq(x[i-1]))-4.0*p*(x[i+1]-sq(x[i]))*x[i]-2.0*(1.0-x[i]);'
+' g[*n-1]=2.0*p*(x[*n-1]-sq(x[*n-2]))-2.0*(1.0-x[*n-1]);'
+' }'
+'}'];
+mputl(C,'rosenc.c');
+// compile the C code
+libpath=ilib_for_link('rosenc','rosenc.c',[],'c');
+// incremental linking
+exec loader.sce;
+chdir(cur_dir);
+//solve the problem
+valtd=100;
+// Test with default solver and default settings.
+[f,x,g]=optim('rosenc',x0,'td',valtd);
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+// Test with all solvers
+solverlist=["gc" "qn" "nd"];
+for solver=solverlist
+ [f,x,g]=optim('rosenc',x0,solver,'td',valtd);
+ if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+end
+// Test all verbose levels with all possible solvers
+verboselevels=[0];
+for verbose=verboselevels
+ for solver=solverlist
+ [f,x,g]=optim('rosenc',x0,solver,'td',valtd,imp=verbose);
+ if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+ end
+end
diff --git a/modules/optimization/tests/unit_tests/optim_sourcec.tst b/modules/optimization/tests/unit_tests/optim_sourcec.tst
new file mode 100755
index 000000000..1ae43f6b1
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_sourcec.tst
@@ -0,0 +1,81 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
+
+// optim.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is provided as a Fortran
+// routine.
+// The "genros" function is defined in optimization/sci_gateway/fortran/Ex-optim.f
+//
+// This is the precision measured with experiments.
+
+ilib_verbose(0);
+
+Leps=10^12*%eps;
+// n : dimension of the problem
+n=3;
+bs=10.*ones(n,1);
+bi=-bs;
+x0=1.2*ones(n,1);
+epsx=1.e-15*x0;
+xopt=ones(n,1);
+// Move into the temporary directory to create the temporary files there
+cur_dir = pwd();
+chdir(TMPDIR);
+// External function written in C (C compiler required)
+// write down the C code (Rosenbrock problem)
+C=['#include <math.h>'
+'double sq(double x)'
+'{ return x*x;}'
+'void rosenc(int *ind, int *n, double *x, double *f, double *g, '
+' int *ti, float *tr, double *td)'
+'{'
+' double p;'
+' int i;'
+' p=td[0];'
+' if (*ind==2||*ind==4) {'
+' *f=1.0;'
+' for (i=1;i<*n;i++)'
+' *f+=p*sq(x[i]-sq(x[i-1]))+sq(1.0-x[i]);'
+' }'
+' if (*ind==3||*ind==4) {'
+' g[0]=-4.0*p*(x[1]-sq(x[0]))*x[0];'
+' for (i=1;i<*n-1;i++)'
+' g[i]=2.0*p*(x[i]-sq(x[i-1]))-4.0*p*(x[i+1]-sq(x[i]))*x[i]-2.0*(1.0-x[i]);'
+' g[*n-1]=2.0*p*(x[*n-1]-sq(x[*n-2]))-2.0*(1.0-x[*n-1]);'
+' }'
+'}'];
+mputl(C,'rosenc.c');
+// compile the C code
+libpath=ilib_for_link('rosenc','rosenc.c',[],'c');
+// incremental linking
+exec loader.sce;
+chdir(cur_dir);
+//solve the problem
+valtd=100;
+// Test with default solver and default settings.
+[f,x,g]=optim('rosenc',x0,'td',valtd);
+if abs(f-1+norm(x-xopt) ) > Leps then pause,end
+// Test with all solvers
+solverlist=["gc" "qn" "nd"];
+for solver=solverlist
+ [f,x,g]=optim('rosenc',x0,solver,'td',valtd);
+ if abs(f-1+norm(x-xopt) ) > Leps then pause,end
+end
+// Test all verbose levels with all possible solvers
+verboselevels=[0];
+for verbose=verboselevels
+ for solver=solverlist
+ [f,x,g]=optim('rosenc',x0,solver,'td',valtd,imp=verbose);
+ if abs(f-1+norm(x-xopt) ) > Leps then pause,end
+ end
+end
+
diff --git a/modules/optimization/tests/unit_tests/optim_sourcefortran1.dia.ref b/modules/optimization/tests/unit_tests/optim_sourcefortran1.dia.ref
new file mode 100755
index 000000000..102b83799
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_sourcefortran1.dia.ref
@@ -0,0 +1,79 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// optim.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is provided as a Fortran
+// routine and the parameter is given as a scilab variable, using the "td" option.
+//
+// Note : the following source code was copied from optimization/sci_gateway/fortran/Ex-optim.f
+// Thus, the "genros" function from Ex-optim.f is not needed anymore.
+//
+// This is the precision measured with experiments.
+ilib_verbose(0);
+Leps = 10^12 * %eps;
+n = 3;
+xopt = ones(n, 1);
+// Move into the temporary directory to create the temporary files there
+cur_dir = pwd();
+chdir(TMPDIR);
+//
+// Define a fortran source code and compile it (fortran compiler required)
+//
+// External function written in Fortran (Fortran compiler required)
+// write down the Fortran code (Rosenbrock problem)
+F=[ ' subroutine rosenf(ind, n, x, f, g, ti, tr, td)'
+' integer ind,n,ti(*)'
+' double precision x(n),f,g(n),td(*)'
+' real tr(*)'
+'c'
+' double precision y,p'
+' p=td(1)'
+' if (ind.eq.2.or.ind.eq.4) then'
+' f=1.0d0'
+' do i=2,n'
+' f=f+p*(x(i)-x(i-1)**2)**2+(1.0d0-x(i))**2'
+' enddo'
+' endif'
+' if (ind.eq.3.or.ind.eq.4) then'
+' g(1)=-4.0d0*p*(x(2)-x(1)**2)*x(1)'
+' if(n.gt.2) then'
+' do i=2,n-1'
+' g(i)=2.0d0*p*(x(i)-x(i-1)**2)-4.0d0*p*(x(i+1)-x(i)**2)*x(i)'
+' & -2.0d0*(1.0d0-x(i))'
+' enddo'
+' endif'
+' g(n)=2.0d0*p*(x(n)-x(n-1)**2)-2.0d0*(1.0d0-x(n))'
+' endif'
+' return'
+' end'];
+mputl(F,TMPDIR + '/rosenf.f');
+// compile the Fortran code
+ilib_for_link('rosenf', 'rosenf.f', [], 'f');
+exec loader.sce;
+chdir(cur_dir);
+//solve the problem
+x0 = 1.2*ones(n, 1);
+valtd = 100;
+[f, xo, go] = optim('rosenf', x0, 'td', valtd);
+// Test with all solvers
+solverlist = ["gc" "qn" "nd"];
+for solver = solverlist
+ [f, x, g] = optim('rosenf', x0, solver, 'td', valtd);
+ if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+end
+// Test all verbose levels with all possible solvers
+verboselevels = [0];
+for verbose = verboselevels
+ for solver = solverlist
+ [f,x,g] = optim('rosenf', x0, solver, 'td', valtd, imp = verbose);
+ if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+ end
+end
+// Clean-up
+ulink();
diff --git a/modules/optimization/tests/unit_tests/optim_sourcefortran1.tst b/modules/optimization/tests/unit_tests/optim_sourcefortran1.tst
new file mode 100755
index 000000000..b653bcfd9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_sourcefortran1.tst
@@ -0,0 +1,86 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// optim.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is provided as a Fortran
+// routine and the parameter is given as a scilab variable, using the "td" option.
+//
+// Note : the following source code was copied from optimization/sci_gateway/fortran/Ex-optim.f
+// Thus, the "genros" function from Ex-optim.f is not needed anymore.
+//
+// This is the precision measured with experiments.
+
+ilib_verbose(0);
+
+Leps = 10^12 * %eps;
+n = 3;
+xopt = ones(n, 1);
+// Move into the temporary directory to create the temporary files there
+cur_dir = pwd();
+chdir(TMPDIR);
+//
+// Define a fortran source code and compile it (fortran compiler required)
+//
+// External function written in Fortran (Fortran compiler required)
+// write down the Fortran code (Rosenbrock problem)
+F=[ ' subroutine rosenf(ind, n, x, f, g, ti, tr, td)'
+' integer ind,n,ti(*)'
+' double precision x(n),f,g(n),td(*)'
+' real tr(*)'
+'c'
+' double precision y,p'
+' p=td(1)'
+' if (ind.eq.2.or.ind.eq.4) then'
+' f=1.0d0'
+' do i=2,n'
+' f=f+p*(x(i)-x(i-1)**2)**2+(1.0d0-x(i))**2'
+' enddo'
+' endif'
+' if (ind.eq.3.or.ind.eq.4) then'
+' g(1)=-4.0d0*p*(x(2)-x(1)**2)*x(1)'
+' if(n.gt.2) then'
+' do i=2,n-1'
+' g(i)=2.0d0*p*(x(i)-x(i-1)**2)-4.0d0*p*(x(i+1)-x(i)**2)*x(i)'
+' & -2.0d0*(1.0d0-x(i))'
+' enddo'
+' endif'
+' g(n)=2.0d0*p*(x(n)-x(n-1)**2)-2.0d0*(1.0d0-x(n))'
+' endif'
+' return'
+' end'];
+
+
+mputl(F,TMPDIR + '/rosenf.f');
+// compile the Fortran code
+ilib_for_link('rosenf', 'rosenf.f', [], 'f');
+exec loader.sce;
+chdir(cur_dir);
+//solve the problem
+x0 = 1.2*ones(n, 1);
+valtd = 100;
+[f, xo, go] = optim('rosenf', x0, 'td', valtd);
+// Test with all solvers
+solverlist = ["gc" "qn" "nd"];
+for solver = solverlist
+ [f, x, g] = optim('rosenf', x0, solver, 'td', valtd);
+ if abs(f - 1 + norm(x - xopt) ) > Leps then pause, end
+end
+// Test all verbose levels with all possible solvers
+verboselevels = [0];
+for verbose = verboselevels
+ for solver = solverlist
+ [f,x,g] = optim('rosenf', x0, solver, 'td', valtd, imp = verbose);
+ if abs(f - 1 + norm(x - xopt) ) > Leps then pause,end
+ end
+end
+// Clean-up
+ulink();
+
diff --git a/modules/optimization/tests/unit_tests/optim_sourcefortran2.dia.ref b/modules/optimization/tests/unit_tests/optim_sourcefortran2.dia.ref
new file mode 100755
index 000000000..af9d8786d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_sourcefortran2.dia.ref
@@ -0,0 +1,167 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// optim.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is provided as a Fortran
+// routine and use the "in" option.
+//
+// Note : the following source code was copied from optimization/sci_gateway/fortran/Ex-optim.f
+// Thus, the "genros" function from Ex-optim.f is not needed anymore.
+//
+//
+// Define a fortran source code and compile it (fortran compiler required)
+//
+ilib_verbose(0);
+// Move into the temporary directory to create the temporary files there
+cur_dir = pwd();
+chdir(TMPDIR);
+fortransource=[" subroutine rosenf(ind,n,x,f,g,izs,rzs,dzs)"
+"C -------------------------------------------"
+"c (DLL Digital Visual Fortran)"
+"c On Windows , we need to import common nird from scilab"
+"cDEC$ IF DEFINED (FORDLL)"
+"cDEC$ ATTRIBUTES DLLIMPORT:: /nird/"
+"cDEC$ ENDIF"
+"C -------------------------------------------"
+"c Example of cost function given by a subroutine"
+"c if n<=2 returns ind=0"
+"c f.bonnans, oct 86"
+" implicit double precision (a-h,o-z)"
+" real rzs(1)"
+" double precision dzs(*)"
+" dimension x(n),g(n),izs(*)"
+" common/nird/nizs,nrzs,ndzs"
+" if (n.lt.3) then"
+" ind=0"
+" return"
+" endif"
+" if(ind.eq.10) then"
+" nizs=2"
+" nrzs=1"
+" ndzs=1"
+" return"
+" endif"
+" if(ind.eq.11) then"
+" izs(1)=5"
+" izs(2)=10"
+" dzs(1)=100.0d+0"
+" return"
+" endif"
+" if(ind.eq.2)go to 5"
+" if(ind.eq.3)go to 20"
+" if(ind.eq.4)go to 5"
+" ind=-1"
+" return"
+"5 f=1.0d+0"
+" do 10 i=2,n"
+" im1=i-1"
+"10 f=f + dzs(1)*(x(i)-x(im1)**2)**2 + (1.0d+0-x(i))**2"
+" if(ind.eq.2)return"
+"20 g(1)=-4.0d+0*dzs(1)*(x(2)-x(1)**2)*x(1)"
+" nm1=n-1"
+" do 30 i=2,nm1"
+" im1=i-1"
+" ip1=i+1"
+" g(i)=2.0d+0*dzs(1)*(x(i)-x(im1)**2)"
+"30 g(i)=g(i) -4.0d+0*dzs(1)*(x(ip1)-x(i)**2)*x(i) - "
+" & 2.0d+0*(1.0d+0-x(i))"
+" g(n)=2.0d+0*dzs(1)*(x(n)-x(nm1)**2) - 2.0d+0*(1.0d+0-x(n))"
+" return"
+" end"];
+mputl(fortransource, TMPDIR + "/rosenf.f");
+ilib_for_link("rosenf", "rosenf.f", [], "f");
+exec loader.sce;
+chdir(cur_dir);
+//
+// Define some constants
+//
+Leps = 10e3 * 8.e-5;
+bs = 10.*ones(1, 5);
+bi = -bs;
+x0 = 0.12 * bs;
+epsx = 1.e-15 * x0;
+xopt = .1*bs;
+//
+// Solve the problem
+//
+[f, x, g] = optim("rosenf", x0, "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "gc", "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+//
+[f, x, g] = optim("rosenf", x0, "nd", "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "qn", 1, "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "gc", 1, 50, "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+//
+[f, x ,g] = optim("rosenf", x0, "nd", 1,50, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x1, g] =optim("rosenf", x0, "ar", 100, 6, "in");
+[f, x, g, to] = optim("rosenf", x0, "ar", 100, 3, "in");
+[f, x, g, to] = optim("rosenf", x , to, "ar", 100, 3, "in");
+if norm(x-x1)/norm(x-xopt) > 0.1 then bugmes();quit;end
+[f, x1, g] = optim("rosenf", "b", bi, bs, x0, "ar", 100, 6, "in");
+[f, x, g, to] = optim("rosenf", "b", bi, bs, x0, "ar", 100, 3, "in");
+[f, x, g] =optim("rosenf", "b", bi, bs, x, to, "ar", 100, 3, "in");
+if norm(x-x1)/norm(x-xopt) > 0.1 then bugmes();quit;end
+//
+// Test all possible stop criteria settings
+//
+[f, x, g] = optim("rosenf", x0, "ar", "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "ar", 100, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, %eps, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, %eps, %eps, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, 10.*%eps, %eps, epsx, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", x0, "gc", "ar", 100, 100, %eps, %eps, epsx, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+//
+[f, x, g] = optim("rosenf", "b", bi, bs, x0, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", "b", bi, bs, x0, "gc", "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x] = optim("rosenf", "b", bi, bs, x0, "ar", 100, 100, 1.d-8, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g] = optim("rosenf", ..
+"b", bi, bs, x0, "gc", "ar", 100, 100, %eps, %eps, epsx, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, to, td] = optim("rosenf", x0, "in", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, ti] = optim("rosenf", x0, "gc", "in", "si");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, to, ti, td] = optim("rosenf", x0, to, "in", "si", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, td] = optim("rosenf", ..
+"b", bi, bs, x0, "gc", "ar", 100, 100, %eps, %eps, epsx, "in", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, ti] = optim("rosenf", x0, "gc", "ar", 100, 100, %eps, "in", "si");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, ti, td] = optim("rosenf", ..
+x0, "gc", "ar", 100, 100, %eps, "in", "si", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then bugmes();quit;end
+[f, x, g, ti, td] = optim("rosenf", ..
+x0, "gc", "ar", 100, 100, %eps, "in", "ti", ti, "td", td, "si", "sd");
+if abs(f - 1 + norm(x - xopt) ) > Leps then bugmes();quit;end
+//
+// init ti and td
+[f, x, g, ti, td] = optim("rosenf", x0, "in", "si", "sd");
+// reuses it
+[f, x, g, ti2, td2] = optim("rosenf", x0, "ti", ti, "td", td, "si", "sd");
+assert_checkequal(ti, ti2);
+assert_checkequal(td, td2);
+// Clean-up
+ulink();
diff --git a/modules/optimization/tests/unit_tests/optim_sourcefortran2.tst b/modules/optimization/tests/unit_tests/optim_sourcefortran2.tst
new file mode 100755
index 000000000..80685cd2a
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optim_sourcefortran2.tst
@@ -0,0 +1,174 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Michael Baudin
+// Copyright (C) 2009 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// optim.tst --
+// Test the optim command with the Rosenbrock test case
+// in the case where the cost function is provided as a Fortran
+// routine and use the "in" option.
+//
+// Note : the following source code was copied from optimization/sci_gateway/fortran/Ex-optim.f
+// Thus, the "genros" function from Ex-optim.f is not needed anymore.
+//
+//
+// Define a fortran source code and compile it (fortran compiler required)
+//
+
+ilib_verbose(0);
+
+// Move into the temporary directory to create the temporary files there
+cur_dir = pwd();
+chdir(TMPDIR);
+fortransource=[" subroutine rosenf(ind,n,x,f,g,izs,rzs,dzs)"
+"C -------------------------------------------"
+"c (DLL Digital Visual Fortran)"
+"c On Windows , we need to import common nird from scilab"
+"cDEC$ IF DEFINED (FORDLL)"
+"cDEC$ ATTRIBUTES DLLIMPORT:: /nird/"
+"cDEC$ ENDIF"
+"C -------------------------------------------"
+"c Example of cost function given by a subroutine"
+"c if n<=2 returns ind=0"
+"c f.bonnans, oct 86"
+" implicit double precision (a-h,o-z)"
+" real rzs(1)"
+" double precision dzs(*)"
+" dimension x(n),g(n),izs(*)"
+" common/nird/nizs,nrzs,ndzs"
+" if (n.lt.3) then"
+" ind=0"
+" return"
+" endif"
+" if(ind.eq.10) then"
+" nizs=2"
+" nrzs=1"
+" ndzs=1"
+" return"
+" endif"
+" if(ind.eq.11) then"
+" izs(1)=5"
+" izs(2)=10"
+" dzs(1)=100.0d+0"
+" return"
+" endif"
+" if(ind.eq.2)go to 5"
+" if(ind.eq.3)go to 20"
+" if(ind.eq.4)go to 5"
+" ind=-1"
+" return"
+"5 f=1.0d+0"
+" do 10 i=2,n"
+" im1=i-1"
+"10 f=f + dzs(1)*(x(i)-x(im1)**2)**2 + (1.0d+0-x(i))**2"
+" if(ind.eq.2)return"
+"20 g(1)=-4.0d+0*dzs(1)*(x(2)-x(1)**2)*x(1)"
+" nm1=n-1"
+" do 30 i=2,nm1"
+" im1=i-1"
+" ip1=i+1"
+" g(i)=2.0d+0*dzs(1)*(x(i)-x(im1)**2)"
+"30 g(i)=g(i) -4.0d+0*dzs(1)*(x(ip1)-x(i)**2)*x(i) - "
+" & 2.0d+0*(1.0d+0-x(i))"
+" g(n)=2.0d+0*dzs(1)*(x(n)-x(nm1)**2) - 2.0d+0*(1.0d+0-x(n))"
+" return"
+" end"];
+mputl(fortransource, TMPDIR + "/rosenf.f");
+ilib_for_link("rosenf", "rosenf.f", [], "f");
+exec loader.sce;
+chdir(cur_dir);
+//
+// Define some constants
+//
+Leps = 10e3 * 8.e-5;
+bs = 10.*ones(1, 5);
+bi = -bs;
+x0 = 0.12 * bs;
+epsx = 1.e-15 * x0;
+xopt = .1*bs;
+//
+// Solve the problem
+//
+[f, x, g] = optim("rosenf", x0, "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then pause,end
+[f, x, g] = optim("rosenf", x0, "gc", "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then pause, end
+//
+[f, x, g] = optim("rosenf", x0, "nd", "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then pause, end
+
+[f, x, g] = optim("rosenf", x0, "qn", 1, "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then pause,end
+[f, x, g] = optim("rosenf", x0, "gc", 1, 50, "in");
+if abs(f - 1 + norm(x - xopt) ) > Leps then pause,end
+//
+[f, x ,g] = optim("rosenf", x0, "nd", 1,50, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause,end
+
+[f, x1, g] =optim("rosenf", x0, "ar", 100, 6, "in");
+[f, x, g, to] = optim("rosenf", x0, "ar", 100, 3, "in");
+[f, x, g, to] = optim("rosenf", x , to, "ar", 100, 3, "in");
+if norm(x-x1)/norm(x-xopt) > 0.1 then pause, end
+[f, x1, g] = optim("rosenf", "b", bi, bs, x0, "ar", 100, 6, "in");
+[f, x, g, to] = optim("rosenf", "b", bi, bs, x0, "ar", 100, 3, "in");
+[f, x, g] =optim("rosenf", "b", bi, bs, x, to, "ar", 100, 3, "in");
+if norm(x-x1)/norm(x-xopt) > 0.1 then pause, end
+//
+// Test all possible stop criteria settings
+//
+[f, x, g] = optim("rosenf", x0, "ar", "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", x0, "ar", 100, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, %eps, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, %eps, %eps, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", x0, "ar", 100, 100, 10.*%eps, %eps, epsx, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", x0, "gc", "ar", 100, 100, %eps, %eps, epsx, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+//
+[f, x, g] = optim("rosenf", "b", bi, bs, x0, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", "b", bi, bs, x0, "gc", "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x] = optim("rosenf", "b", bi, bs, x0, "ar", 100, 100, 1.d-8, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g] = optim("rosenf", ..
+"b", bi, bs, x0, "gc", "ar", 100, 100, %eps, %eps, epsx, "in");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, to, td] = optim("rosenf", x0, "in", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, ti] = optim("rosenf", x0, "gc", "in", "si");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, to, ti, td] = optim("rosenf", x0, to, "in", "si", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, td] = optim("rosenf", ..
+"b", bi, bs, x0, "gc", "ar", 100, 100, %eps, %eps, epsx, "in", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, ti] = optim("rosenf", x0, "gc", "ar", 100, 100, %eps, "in", "si");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, ti, td] = optim("rosenf", ..
+x0, "gc", "ar", 100, 100, %eps, "in", "si", "sd");
+if abs(f-1+norm(x-xopt) ) > Leps then pause, end
+[f, x, g, ti, td] = optim("rosenf", ..
+x0, "gc", "ar", 100, 100, %eps, "in", "ti", ti, "td", td, "si", "sd");
+if abs(f - 1 + norm(x - xopt) ) > Leps then pause, end
+//
+// init ti and td
+[f, x, g, ti, td] = optim("rosenf", x0, "in", "si", "sd");
+// reuses it
+[f, x, g, ti2, td2] = optim("rosenf", x0, "ti", ti, "td", td, "si", "sd");
+assert_checkequal(ti, ti2);
+assert_checkequal(td, td2);
+// Clean-up
+ulink();
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.dia.ref
new file mode 100755
index 000000000..e6cf8b9ce
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.dia.ref
@@ -0,0 +1,40 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test optimbase_checkbounds method
+//
+//
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+// The bounds are consistent
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+opt = optimbase_checkbounds ( opt );
+// The min bound does not have a consistent size
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0 10.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+instr = "opt = optimbase_checkbounds ( opt );";
+lclmsg = gettext("%s: The number of variables %d does not match the number of min bounds: %d.\n");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkbounds",2,3);
+// The max bound does not have a consistent size
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0 10.0] );
+instr = "opt = optimbase_checkbounds ( opt );";
+lclmsg = gettext("%s: The number of variables %d does not match the number of max bounds: %d.\n");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkbounds",2,3);
+// The bounds are not consistent
+opt = optimbase_configure ( opt , "-boundsmin" , [5.0 5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [-5.0 -5.0] );
+instr = "opt = optimbase_checkbounds ( opt );";
+lclmsg = gettext("%s: The max bound %s for variable #%d is lower than the min bound %s.\n");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkbounds","-5",1,"5");
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.tst
new file mode 100755
index 000000000..5906d98f0
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkbounds.tst
@@ -0,0 +1,46 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+//
+// Test optimbase_checkbounds method
+//
+//
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+// The bounds are consistent
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+opt = optimbase_checkbounds ( opt );
+// The min bound does not have a consistent size
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0 10.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+instr = "opt = optimbase_checkbounds ( opt );";
+lclmsg = gettext("%s: The number of variables %d does not match the number of min bounds: %d.\n");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkbounds",2,3);
+// The max bound does not have a consistent size
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0 10.0] );
+instr = "opt = optimbase_checkbounds ( opt );";
+lclmsg = gettext("%s: The number of variables %d does not match the number of max bounds: %d.\n");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkbounds",2,3);
+// The bounds are not consistent
+opt = optimbase_configure ( opt , "-boundsmin" , [5.0 5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [-5.0 -5.0] );
+instr = "opt = optimbase_checkbounds ( opt );";
+lclmsg = gettext("%s: The max bound %s for variable #%d is lower than the min bound %s.\n");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkbounds","-5",1,"5");
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.dia.ref
new file mode 100755
index 000000000..283f278d1
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.dia.ref
@@ -0,0 +1,231 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Here, the cost function is OK
+//
+function [ y , index ] = rosenbrockOk ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-x0",[1.1 1.1]');
+opt = optimbase_configure(opt,"-function",rosenbrockOk);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+//
+// Here, the cost function is not callable
+//
+function [ y , index ] = rosenbrock2 ( x , index )
+ y = fdsmklqfjdsf;
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-x0",[1.1 1.1]');
+opt = optimbase_configure(opt,"-function",rosenbrock2);
+cmd = "opt = optimbase_checkcostfun(opt);";
+lclmsg = "%s: Cannot evaluate cost function with ""%s"": %s";
+scimsg = msprintf(_("Undefined variable: %s\n"), "fdsmklqfjdsf");
+assert_checkerror(cmd,lclmsg,[],"optimbase_checkcostfun","[f,index]=costf(x0,1)", scimsg);
+opt = optimbase_destroy(opt);
+//
+// Here, the cost function is callable, but returns a matrix,
+// instead of a scalar.
+//
+function [ y , index ] = rosenbrock3 ( x , index )
+ y = ones(10,10);
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-x0",[1.1 1.1]');
+opt = optimbase_configure(opt,"-function",rosenbrock3);
+cmd = "opt = optimbase_checkcostfun(opt);";
+assert_checkerror(cmd,"%s: The matrix %s from costf(x0,%d) has %d rows, instead of %d.",[],"optimbase_checkcostfun","f",2,10,1);
+opt = optimbase_destroy(opt);
+//
+// Test with good non linear constraints
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+//
+// Test a wrong configuration: we forgot to configure "-nbineqconst"
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+cmd="opt = optimbase_checkcostfun(opt)";
+errmsg = "%s: The matrix %s from costf(x0,%d) has %d rows, instead of %d.";
+assert_checkerror(cmd,errmsg,[], "optimbase_checkcostfun" , "index" , 1 , 0 , 1);
+opt = optimbase_destroy(opt);
+//
+// Test with wrong non linear constraints f(x0,2) is not a row vector
+// The cost function transposes the column vector.
+//
+function [ f , c , index ] = optimtestcase2 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3].'
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase2);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+//
+// Test with wrong non linear constraints f(x0,2) is a row vector with 5 components instead of 3
+//
+function [ f , c , index ] = optimtestcase3 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3 0.0 0.0]
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase3);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+cmd = "opt = optimbase_checkcostfun(opt);";
+assert_checkerror(cmd,"%s: The matrix %s from costf(x0,%d) has %d columns, instead of %d.",[],"optimbase_checkcostfun","c",5,5,3);
+opt = optimbase_destroy(opt);
+//
+// Test with wrong non linear constraints f(x0,3) is a column vector
+// The cost function transposes the column vector.
+//
+function [ f , c , index ] = optimtestcase4 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3].'
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase4);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+//
+// Test with wrong non linear constraints f(x0,3) is a row vector with 5 columns instead of 4
+//
+function [ f , c , index ] = optimtestcase5 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3 0.0]
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase5);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+cmd = "opt = optimbase_checkcostfun(opt);";
+assert_checkerror(cmd,"%s: The matrix %s from costf(x0,%d) has %d columns, instead of %d.",[],"optimbase_checkcostfun","c",5,4,3);
+opt = optimbase_destroy(opt);
+//
+// Test with correct rosenbrock function
+//
+function [ f , g , index ] = rosenbrock ( x , index )
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ g(1,1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(1,2) = 200. * ( x(2) - x(1)**2 )
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function", rosenbrock );
+opt = optimbase_configure(opt,"-withderivatives",%t);
+opt = optimbase_configure(opt,"-x0",[-1.2 1.0].');
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+//
+// Test with not correct rosenbrock function : g is a column vector instead of row vector
+// The cost function transposes the column vector.
+function [ f , g , index ] = rosenbrock4 ( x , index )
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(2) = 200. * ( x(2) - x(1)**2 )
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function", rosenbrock4 );
+opt = optimbase_configure(opt,"-withderivatives",%t);
+opt = optimbase_configure(opt,"-x0",[-1.2 1.0].');
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.tst
new file mode 100755
index 000000000..3dc5686e6
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkcostfun.tst
@@ -0,0 +1,246 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Here, the cost function is OK
+//
+function [ y , index ] = rosenbrockOk ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-x0",[1.1 1.1]');
+opt = optimbase_configure(opt,"-function",rosenbrockOk);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+
+//
+// Here, the cost function is not callable
+//
+function [ y , index ] = rosenbrock2 ( x , index )
+ y = fdsmklqfjdsf;
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-x0",[1.1 1.1]');
+opt = optimbase_configure(opt,"-function",rosenbrock2);
+cmd = "opt = optimbase_checkcostfun(opt);";
+lclmsg = "%s: Cannot evaluate cost function with ""%s"": %s";
+scimsg = msprintf(_("Undefined variable: %s\n"), "fdsmklqfjdsf");
+assert_checkerror(cmd,lclmsg,[],"optimbase_checkcostfun","[f,index]=costf(x0,1)", scimsg);
+opt = optimbase_destroy(opt);
+
+//
+// Here, the cost function is callable, but returns a matrix,
+// instead of a scalar.
+//
+function [ y , index ] = rosenbrock3 ( x , index )
+ y = ones(10,10);
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-x0",[1.1 1.1]');
+opt = optimbase_configure(opt,"-function",rosenbrock3);
+cmd = "opt = optimbase_checkcostfun(opt);";
+assert_checkerror(cmd,"%s: The matrix %s from costf(x0,%d) has %d rows, instead of %d.",[],"optimbase_checkcostfun","f",2,10,1);
+opt = optimbase_destroy(opt);
+
+//
+// Test with good non linear constraints
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+
+//
+// Test a wrong configuration: we forgot to configure "-nbineqconst"
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+cmd="opt = optimbase_checkcostfun(opt)";
+errmsg = "%s: The matrix %s from costf(x0,%d) has %d rows, instead of %d.";
+assert_checkerror(cmd,errmsg,[], "optimbase_checkcostfun" , "index" , 1 , 0 , 1);
+opt = optimbase_destroy(opt);
+
+//
+// Test with wrong non linear constraints f(x0,2) is not a row vector
+// The cost function transposes the column vector.
+//
+function [ f , c , index ] = optimtestcase2 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3].'
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase2);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+
+//
+// Test with wrong non linear constraints f(x0,2) is a row vector with 5 components instead of 3
+//
+function [ f , c , index ] = optimtestcase3 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3 0.0 0.0]
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase3);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+cmd = "opt = optimbase_checkcostfun(opt);";
+assert_checkerror(cmd,"%s: The matrix %s from costf(x0,%d) has %d columns, instead of %d.",[],"optimbase_checkcostfun","c",5,5,3);
+opt = optimbase_destroy(opt);
+
+//
+// Test with wrong non linear constraints f(x0,3) is a column vector
+// The cost function transposes the column vector.
+//
+function [ f , c , index ] = optimtestcase4 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3].'
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase4);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+
+//
+// Test with wrong non linear constraints f(x0,3) is a row vector with 5 columns instead of 4
+//
+function [ f , c , index ] = optimtestcase5 ( x , index )
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3 0.0]
+ end
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt = optimbase_configure(opt,"-function",optimtestcase5);
+opt = optimbase_configure(opt,"-x0",[0.0 0.0 0.0 0.0]');
+opt = optimbase_configure(opt,"-nbineqconst",3);
+cmd = "opt = optimbase_checkcostfun(opt);";
+assert_checkerror(cmd,"%s: The matrix %s from costf(x0,%d) has %d columns, instead of %d.",[],"optimbase_checkcostfun","c",5,4,3);
+opt = optimbase_destroy(opt);
+
+
+//
+// Test with correct rosenbrock function
+//
+function [ f , g , index ] = rosenbrock ( x , index )
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ g(1,1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(1,2) = 200. * ( x(2) - x(1)**2 )
+endfunction
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function", rosenbrock );
+opt = optimbase_configure(opt,"-withderivatives",%t);
+opt = optimbase_configure(opt,"-x0",[-1.2 1.0].');
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+//
+// Test with not correct rosenbrock function : g is a column vector instead of row vector
+// The cost function transposes the column vector.
+function [ f , g , index ] = rosenbrock4 ( x , index )
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(2) = 200. * ( x(2) - x(1)**2 )
+endfunction
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function", rosenbrock4 );
+opt = optimbase_configure(opt,"-withderivatives",%t);
+opt = optimbase_configure(opt,"-x0",[-1.2 1.0].');
+opt = optimbase_checkcostfun(opt);
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.dia.ref
new file mode 100755
index 000000000..97e204e0f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.dia.ref
@@ -0,0 +1,98 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #0, the value of the cost function
+// at index #1 to the end is the list of the values of the nonlinear
+// constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function [ f , c , index ] = gouldnonconvex ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// Test optimbase_checkx0 method
+//
+// Test without anything
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_checkx0 ( opt );
+opt = optimbase_destroy(opt);
+//
+// Test with satisfied/unsatisfied bounds constraints
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+opt = optimbase_configure ( opt , "-x0", [1.0 1.0]' );
+opt = optimbase_checkx0 ( opt );
+opt = optimbase_configure ( opt , "-x0",[-6.0 1.0]');
+instr = "opt = optimbase_checkx0 ( opt )";
+lclmsg = gettext("%s: Initial guess is not feasible.");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkx0" );
+Component #1/2 of x is lower than min bound -5
+opt = optimbase_destroy(opt);
+//
+// Test with satisfied/unsatisfied nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+opt = optimbase_configure ( opt , "-x0" , [ 14.0950013 , 0.8429636 ]');
+opt = optimbase_checkx0 ( opt );
+Function Evaluation #1, index=5, x= [14.095001 0.8429636]
+opt = optimbase_configure ( opt , "-x0" , [ 14.0950013 , 0.0 ]');
+instr = "opt = optimbase_checkx0 ( opt )";
+lclmsg = gettext("%s: Initial guess is not feasible.");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkx0" );
+Function Evaluation #2, index=5, x= [14.095001 0]
+Inequality constraint #3/4 is not satisfied for x
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.tst
new file mode 100755
index 000000000..e1bada0a8
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_checkx0.tst
@@ -0,0 +1,98 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #0, the value of the cost function
+// at index #1 to the end is the list of the values of the nonlinear
+// constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function [ f , c , index ] = gouldnonconvex ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// Test optimbase_checkx0 method
+//
+// Test without anything
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_checkx0 ( opt );
+opt = optimbase_destroy(opt);
+//
+// Test with satisfied/unsatisfied bounds constraints
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+opt = optimbase_configure ( opt , "-x0", [1.0 1.0]' );
+opt = optimbase_checkx0 ( opt );
+opt = optimbase_configure ( opt , "-x0",[-6.0 1.0]');
+instr = "opt = optimbase_checkx0 ( opt )";
+lclmsg = gettext("%s: Initial guess is not feasible.");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkx0" );
+opt = optimbase_destroy(opt);
+//
+// Test with satisfied/unsatisfied nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+opt = optimbase_configure ( opt , "-x0" , [ 14.0950013 , 0.8429636 ]');
+opt = optimbase_checkx0 ( opt );
+opt = optimbase_configure ( opt , "-x0" , [ 14.0950013 , 0.0 ]');
+instr = "opt = optimbase_checkx0 ( opt )";
+lclmsg = gettext("%s: Initial guess is not feasible.");
+assert_checkerror(instr,lclmsg,[],"optimbase_checkx0" );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_function.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_function.dia.ref
new file mode 100755
index 000000000..cbe6f563c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_function.dia.ref
@@ -0,0 +1,328 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test the call to the cost function
+//
+// Test when there is no cost function
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+cmd = "[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );";
+assert_checkerror(cmd,"%s: Empty function (use -function option).",[],"optimbase_function");
+opt = optimbase_destroy(opt);
+// Test simple case
+function [ y , index ] = rosenbrock ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock", 2);
+ error(errmsg)
+ end
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+opt = optimbase_new ();
+funevals = optimbase_get ( opt , "-funevals" );
+assert_checkequal ( funevals , 0 );
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",rosenbrock);
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+assert_checkequal ( index , 1 );
+funevals = optimbase_get ( opt , "-funevals" );
+assert_checkequal ( funevals , 1 );
+opt = optimbase_destroy(opt);
+// Test simple case where the index is changed
+function [ y , index ] = rosenbrock0 ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock0", 2);
+ error(errmsg)
+ end
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ index = 0;
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",rosenbrock0);
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+assert_checkequal ( index , 0 );
+opt = optimbase_destroy(opt);
+//
+// Test with an additional argument
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ y , index ] = rosenbrock2 ( x , index , mydata )
+ [lhs,rhs]=argn();
+ if ( rhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock2", 3);
+ error(errmsg)
+ end
+ a = mydata.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+endfunction
+mystuff = tlist(["T_MYSTUFF","a"]);
+mystuff.a = 12.0;
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",list(rosenbrock2,mystuff));
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );
+assert_checkalmostequal ( f , 144. , %eps );
+assert_checkequal ( index , 1 );
+opt = optimbase_destroy(opt);
+//
+// Test with non linear constraints : there is an index
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+// Note
+// The following protocol is used
+// * if index=2, returns f, the value of the cost
+// function
+// * if index=5, returns c, the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=6, returns f and c
+// The inequality constraints are expected to be positive.
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "optimtestcase", 2);
+ error(errmsg)
+ end
+ if ( lhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "optimtestcase", 3);
+ error(errmsg)
+ end
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+x0 = [0.0 0.0 0.0 0.0].';
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt= optimbase_configure(opt,"-function",optimtestcase);
+opt= optimbase_configure(opt,"-nbineqconst",3);
+[this,f,c,index] = optimbase_function ( opt , x0 , 2 );
+assert_checkequal ( index , 2 );
+assert_checkalmostequal ( f , 0. , %eps );
+assert_checkequal ( c , [] );
+[this,f,c,index] = optimbase_function ( opt , x0 , 5 );
+assert_checkequal ( index , 5 );
+assert_checkequal ( f , [] );
+assert_checkalmostequal ( c , [8. 10. 5.] , %eps );
+[this,f,c,index] = optimbase_function ( opt , x0 , 6 );
+assert_checkequal ( index , 6 );
+assert_checkalmostequal ( f , 0. , %eps );
+assert_checkalmostequal ( c , [8. 10. 5.] , %eps );
+opt = optimbase_destroy(opt);
+//
+// Test when there are both nonlinear constraints and a customized data
+// boxproblemA --
+// Computes the Box problem A cost function and
+// inequality constraints.
+//
+// Arguments
+// x: the point where to compute the function
+// index : what to compute
+// if index=2, returns f
+// if index=5, returns c
+// if index=6, returns f and c
+// data : the parameters of Box cost function
+// Note
+// The inequality constraints are expected to be positive.
+//
+function [ f , c , index ] = boxproblemA ( x , index , data )
+ [lhs,rhs]=argn();
+ if ( rhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "boxproblemA", 3);
+ error(errmsg)
+ end
+ if ( lhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "boxproblemA", 3);
+ error(errmsg)
+ end
+ f = []
+ c = []
+ b = x(2) + 0.01 * x(3)
+ x6 = (data.k1 + data.k2 * x(2) ...
+ + data.k3 * x(3) + data.k4 * x(4) + data.k5 * x(5)) * x(1)
+ y1 = data.k6 + data.k7 * x(2) + data.k8 * x(3) ...
+ + data.k9 * x(4) + data.k10 * x(5)
+ y2 = data.k11 + data.k12 * x(2) + data.k13 * x(3) ...
+ + data.k14 * x(4) + data.k15 * x(5)
+ y3 = data.k16 + data.k17 * x(2) + data.k18 * x(3) ...
+ + data.k19 * x(4) + data.k20 * x(5)
+ y4 = data.k21 + data.k22 * x(2) + data.k23 * x(3) ...
+ + data.k24 * x(4) + data.k25 * x(5)
+ x7 = ( y1 + y2 + y3 ) * x(1)
+ x8 = (data.k26 + data.k27 * x(2) + data.k28 * x(3) ...
+ + data.k29 * x(4) ...
+ + data.k30 * x(5) ) * x(1) + x6 + x7
+ if ( index==2 | index==6 ) then
+ f = (data.a2 * y1 + data.a3 * y2 + data.a4 * y3 + data.a5 * y4 ...
+ + 7840 * data.a6 - 100000 * data.a0 ...
+ - 50800 * b * data.a7 + data.k31 + data.k32 * x(2) + data.k33 * x(3) ...
+ + data.k34 * x(4) + data.k35 * x(5)) * x(1) ...
+ - 24345 + data.a1 * x6
+ f = -f
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x6
+ c2 = 294000 - x6
+ c3 = x7
+ c4 = 294000 - x7
+ c5 = x8
+ c6 = 277200 - x8
+ c = [c1 c2 c3 c4 c5 c6]
+ end
+endfunction
+boxparams = struct();
+boxparams.a0 = 9;
+boxparams.a1 = 15;
+boxparams.a2 = 50;
+boxparams.a3 = 9.583;
+boxparams.a4 = 20;
+boxparams.a5 = 15;
+boxparams.a6 = 6;
+boxparams.a7 = 0.75;
+boxparams.k1 = -145421.402;
+boxparams.k2 = 2931.1506;
+boxparams.k3 = -40.427932;
+boxparams.k4 = 5106.192;
+boxparams.k5 = 15711.36;
+boxparams.k6 = -161622.577;
+boxparams.k7 = 4176.15328;
+boxparams.k8 = 2.8260078;
+boxparams.k9 = 9200.476;
+boxparams.k10 = 13160.295;
+boxparams.k11 = -21686.9194;
+boxparams.k12 = 123.56928;
+boxparams.k13 = -21.1188894;
+boxparams.k14 = 706.834;
+boxparams.k15 = 2898.573;
+boxparams.k16 = 28298.388;
+boxparams.k17 = 60.81096;
+boxparams.k18 = 31.242116;
+boxparams.k19 = 329.574;
+boxparams.k20 = -2882.082;
+boxparams.k21 = 74095.3845;
+boxparams.k22 = -306.262544;
+boxparams.k23 = 16.243649;
+boxparams.k24 = -3094.252;
+boxparams.k25 = -5566.2628;
+boxparams.k26 = -26237.0;
+boxparams.k27 = 99.0;
+boxparams.k28 = -0.42;
+boxparams.k29 = 1300.0;
+boxparams.k30 = 2100.0;
+boxparams.k31 = 925548.252;
+boxparams.k32 = -61968.8432;
+boxparams.k33 = 23.3088196;
+boxparams.k34 = -27097.648;
+boxparams.k35 = -50843.766;
+x0 = [2.52 2.0 37.5 9.25 6.8].';
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",5);
+opt= optimbase_configure(opt,"-function",list(boxproblemA,boxparams));
+opt = optimbase_configure(opt,"-nbineqconst",6);
+[this,f,c,index] = optimbase_function ( opt , x0 , 2 );
+assert_checkequal ( index , 2 );
+assert_checkalmostequal ( f , -2351243.5 , 1.e-7 );
+assert_checkequal ( c , [] );
+[this,f,c,index] = optimbase_function ( opt , x0 , 5 );
+assert_checkequal ( index , 5 );
+assert_checkequal ( f , [] );
+assert_checkalmostequal ( c , [32745.827 261254.17 96991.969 197008.03 130368.43 146831.57] , 1.e-7 );
+[this,f,c,index] = optimbase_function ( opt , x0 , 6 );
+assert_checkequal ( index , 6 );
+assert_checkalmostequal ( f , -2351243.5 , 1.e-7 );
+assert_checkalmostequal ( c , [ 32745.827 261254.17 96991.969 197008.03 130368.43 146831.57] , 1.e-7 );
+opt = optimbase_destroy(opt);
+//
+// Test with an additional argument.
+//
+function [ y , index ] = rosenbrock3 ( x , index , mydata )
+ [lhs,rhs]=argn();
+ if ( rhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock3", 3);
+ error(errmsg)
+ end
+ if ( lhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "rosenbrock3", 2);
+ error(errmsg)
+ end
+ y = 100*(x(2)-x(1)^2)^2 + ( 1.0 - x(1))^2;
+endfunction
+mystuff = tlist(["T_MYSTUFF","n"]);
+mystuff.n = 0;
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",list(rosenbrock3,mystuff));
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 2 );
+assert_checkequal ( index , 2 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+opt = optimbase_destroy(opt);
+//
+// rosenbrock --
+// Defines the Rosenbrock test function.
+// Arguments
+// x : the current point
+// index : a flag which indicates what to compute
+// if index=1, output a message
+// if index=2, compute f
+// if index=3, compute g
+// if index=4, compute f and g
+// Note :
+// This function could be accepted by optim, hence the test.
+//
+function [ f , g , index ] = rosenbrock4 ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock4", 2);
+ error(errmsg)
+ end
+ if ( lhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "rosenbrock4", 3);
+ error(errmsg)
+ end
+ if index == 1 then
+ mprintf ( "index = %d, x = [%f %f]\n" , index , x(1) , x(2) );
+ end
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(2) = 200. * ( x(2) - x(1)**2 )
+endfunction
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt= optimbase_configure(opt,"-function", rosenbrock4 );
+opt = optimbase_configure(opt,"-withderivatives",%t);
+[ opt , f , g , index ] = optimbase_function ( opt , [-1.2 1.0] , 4 );
+assert_checkequal ( index , 4 );
+assert_checkalmostequal ( f , 24.2 , %eps );
+assert_checkalmostequal ( g , [-215.6 -88.0].' , %eps );
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_function.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_function.tst
new file mode 100755
index 000000000..9b383af17
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_function.tst
@@ -0,0 +1,351 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Test the call to the cost function
+//
+
+
+// Test when there is no cost function
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+cmd = "[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );";
+assert_checkerror(cmd,"%s: Empty function (use -function option).",[],"optimbase_function");
+opt = optimbase_destroy(opt);
+
+// Test simple case
+function [ y , index ] = rosenbrock ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock", 2);
+ error(errmsg)
+ end
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+opt = optimbase_new ();
+funevals = optimbase_get ( opt , "-funevals" );
+assert_checkequal ( funevals , 0 );
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",rosenbrock);
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+assert_checkequal ( index , 1 );
+funevals = optimbase_get ( opt , "-funevals" );
+assert_checkequal ( funevals , 1 );
+opt = optimbase_destroy(opt);
+
+// Test simple case where the index is changed
+function [ y , index ] = rosenbrock0 ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock0", 2);
+ error(errmsg)
+ end
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ index = 0;
+endfunction
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",rosenbrock0);
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+assert_checkequal ( index , 0 );
+opt = optimbase_destroy(opt);
+
+
+//
+// Test with an additional argument
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ y , index ] = rosenbrock2 ( x , index , mydata )
+ [lhs,rhs]=argn();
+ if ( rhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock2", 3);
+ error(errmsg)
+ end
+ a = mydata.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+endfunction
+
+mystuff = tlist(["T_MYSTUFF","a"]);
+mystuff.a = 12.0;
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",list(rosenbrock2,mystuff));
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 1 );
+assert_checkalmostequal ( f , 144. , %eps );
+assert_checkequal ( index , 1 );
+opt = optimbase_destroy(opt);
+
+//
+// Test with non linear constraints : there is an index
+// optimtestcase --
+// Non linear inequality constraints are positive.
+//
+// Arguments
+// x: the point where to compute the function
+// index : the stuff to compute
+// Note
+// The following protocol is used
+// * if index=2, returns f, the value of the cost
+// function
+// * if index=5, returns c, the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=6, returns f and c
+// The inequality constraints are expected to be positive.
+//
+function [ f , c , index ] = optimtestcase ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "optimtestcase", 2);
+ error(errmsg)
+ end
+ if ( lhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "optimtestcase", 3);
+ error(errmsg)
+ end
+ f = []
+ c = []
+ if ( index == 2 | index == 6 ) then
+ f = x(1)^2 + x(2)^2 + 2.0 * x(3)^2 + x(4)^2 ...
+ - 5.0 * x(1) - 5.0 * x(2) - 21.0 * x(3) + 7.0 * x(4)
+ end
+ if ( index == 5 | index == 6 ) then
+ c1 = - x(1)^2 - x(2)^2 - x(3)^2 - x(4)^2 ...
+ - x(1) + x(2) - x(3) + x(4) + 8
+ c2 = - x(1)^2 - 2.0 * x(2)^2 - x(3)^2 - 2.0 * x(4)^2 ...
+ + x(1) + x(4) + 10.0
+ c3 = - 2.0 * x(1)^2 - x(2)^2 - x(3)^2 - 2.0 * x(1) ...
+ + x(2) + x(4) + 5.0
+ c = [c1 c2 c3]
+ end
+endfunction
+x0 = [0.0 0.0 0.0 0.0].';
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",4);
+opt= optimbase_configure(opt,"-function",optimtestcase);
+opt= optimbase_configure(opt,"-nbineqconst",3);
+[this,f,c,index] = optimbase_function ( opt , x0 , 2 );
+assert_checkequal ( index , 2 );
+assert_checkalmostequal ( f , 0. , %eps );
+assert_checkequal ( c , [] );
+[this,f,c,index] = optimbase_function ( opt , x0 , 5 );
+assert_checkequal ( index , 5 );
+assert_checkequal ( f , [] );
+assert_checkalmostequal ( c , [8. 10. 5.] , %eps );
+[this,f,c,index] = optimbase_function ( opt , x0 , 6 );
+assert_checkequal ( index , 6 );
+assert_checkalmostequal ( f , 0. , %eps );
+assert_checkalmostequal ( c , [8. 10. 5.] , %eps );
+opt = optimbase_destroy(opt);
+
+
+//
+// Test when there are both nonlinear constraints and a customized data
+// boxproblemA --
+// Computes the Box problem A cost function and
+// inequality constraints.
+//
+// Arguments
+// x: the point where to compute the function
+// index : what to compute
+// if index=2, returns f
+// if index=5, returns c
+// if index=6, returns f and c
+// data : the parameters of Box cost function
+// Note
+// The inequality constraints are expected to be positive.
+//
+function [ f , c , index ] = boxproblemA ( x , index , data )
+ [lhs,rhs]=argn();
+ if ( rhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "boxproblemA", 3);
+ error(errmsg)
+ end
+ if ( lhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "boxproblemA", 3);
+ error(errmsg)
+ end
+ f = []
+ c = []
+ b = x(2) + 0.01 * x(3)
+ x6 = (data.k1 + data.k2 * x(2) ...
+ + data.k3 * x(3) + data.k4 * x(4) + data.k5 * x(5)) * x(1)
+ y1 = data.k6 + data.k7 * x(2) + data.k8 * x(3) ...
+ + data.k9 * x(4) + data.k10 * x(5)
+ y2 = data.k11 + data.k12 * x(2) + data.k13 * x(3) ...
+ + data.k14 * x(4) + data.k15 * x(5)
+ y3 = data.k16 + data.k17 * x(2) + data.k18 * x(3) ...
+ + data.k19 * x(4) + data.k20 * x(5)
+ y4 = data.k21 + data.k22 * x(2) + data.k23 * x(3) ...
+ + data.k24 * x(4) + data.k25 * x(5)
+ x7 = ( y1 + y2 + y3 ) * x(1)
+ x8 = (data.k26 + data.k27 * x(2) + data.k28 * x(3) ...
+ + data.k29 * x(4) ...
+ + data.k30 * x(5) ) * x(1) + x6 + x7
+ if ( index==2 | index==6 ) then
+ f = (data.a2 * y1 + data.a3 * y2 + data.a4 * y3 + data.a5 * y4 ...
+ + 7840 * data.a6 - 100000 * data.a0 ...
+ - 50800 * b * data.a7 + data.k31 + data.k32 * x(2) + data.k33 * x(3) ...
+ + data.k34 * x(4) + data.k35 * x(5)) * x(1) ...
+ - 24345 + data.a1 * x6
+ f = -f
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x6
+ c2 = 294000 - x6
+ c3 = x7
+ c4 = 294000 - x7
+ c5 = x8
+ c6 = 277200 - x8
+ c = [c1 c2 c3 c4 c5 c6]
+ end
+endfunction
+
+boxparams = struct();
+boxparams.a0 = 9;
+boxparams.a1 = 15;
+boxparams.a2 = 50;
+boxparams.a3 = 9.583;
+boxparams.a4 = 20;
+boxparams.a5 = 15;
+boxparams.a6 = 6;
+boxparams.a7 = 0.75;
+boxparams.k1 = -145421.402;
+boxparams.k2 = 2931.1506;
+boxparams.k3 = -40.427932;
+boxparams.k4 = 5106.192;
+boxparams.k5 = 15711.36;
+boxparams.k6 = -161622.577;
+boxparams.k7 = 4176.15328;
+boxparams.k8 = 2.8260078;
+boxparams.k9 = 9200.476;
+boxparams.k10 = 13160.295;
+boxparams.k11 = -21686.9194;
+boxparams.k12 = 123.56928;
+boxparams.k13 = -21.1188894;
+boxparams.k14 = 706.834;
+boxparams.k15 = 2898.573;
+boxparams.k16 = 28298.388;
+boxparams.k17 = 60.81096;
+boxparams.k18 = 31.242116;
+boxparams.k19 = 329.574;
+boxparams.k20 = -2882.082;
+boxparams.k21 = 74095.3845;
+boxparams.k22 = -306.262544;
+boxparams.k23 = 16.243649;
+boxparams.k24 = -3094.252;
+boxparams.k25 = -5566.2628;
+boxparams.k26 = -26237.0;
+boxparams.k27 = 99.0;
+boxparams.k28 = -0.42;
+boxparams.k29 = 1300.0;
+boxparams.k30 = 2100.0;
+boxparams.k31 = 925548.252;
+boxparams.k32 = -61968.8432;
+boxparams.k33 = 23.3088196;
+boxparams.k34 = -27097.648;
+boxparams.k35 = -50843.766;
+x0 = [2.52 2.0 37.5 9.25 6.8].';
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",5);
+opt= optimbase_configure(opt,"-function",list(boxproblemA,boxparams));
+opt = optimbase_configure(opt,"-nbineqconst",6);
+[this,f,c,index] = optimbase_function ( opt , x0 , 2 );
+assert_checkequal ( index , 2 );
+assert_checkalmostequal ( f , -2351243.5 , 1.e-7 );
+assert_checkequal ( c , [] );
+[this,f,c,index] = optimbase_function ( opt , x0 , 5 );
+assert_checkequal ( index , 5 );
+assert_checkequal ( f , [] );
+assert_checkalmostequal ( c , [32745.827 261254.17 96991.969 197008.03 130368.43 146831.57] , 1.e-7 );
+[this,f,c,index] = optimbase_function ( opt , x0 , 6 );
+assert_checkequal ( index , 6 );
+assert_checkalmostequal ( f , -2351243.5 , 1.e-7 );
+assert_checkalmostequal ( c , [ 32745.827 261254.17 96991.969 197008.03 130368.43 146831.57] , 1.e-7 );
+opt = optimbase_destroy(opt);
+
+//
+// Test with an additional argument.
+//
+function [ y , index ] = rosenbrock3 ( x , index , mydata )
+ [lhs,rhs]=argn();
+ if ( rhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock3", 3);
+ error(errmsg)
+ end
+ if ( lhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "rosenbrock3", 2);
+ error(errmsg)
+ end
+ y = 100*(x(2)-x(1)^2)^2 + ( 1.0 - x(1))^2;
+endfunction
+
+mystuff = tlist(["T_MYSTUFF","n"]);
+mystuff.n = 0;
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-function",list(rosenbrock3,mystuff));
+[ opt , f , index ] = optimbase_function ( opt , [0.0 0.0] , 2 );
+assert_checkequal ( index , 2 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+opt = optimbase_destroy(opt);
+
+//
+// rosenbrock --
+// Defines the Rosenbrock test function.
+// Arguments
+// x : the current point
+// index : a flag which indicates what to compute
+// if index=1, output a message
+// if index=2, compute f
+// if index=3, compute g
+// if index=4, compute f and g
+// Note :
+// This function could be accepted by optim, hence the test.
+//
+function [ f , g , index ] = rosenbrock4 ( x , index )
+ [lhs,rhs]=argn();
+ if ( rhs <> 2 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "rosenbrock4", 2);
+ error(errmsg)
+ end
+ if ( lhs <> 3 ) then
+ errmsg = msprintf(gettext("%s: Wrong number of output argument: %d expected.\n"), "rosenbrock4", 3);
+ error(errmsg)
+ end
+ if index == 1 then
+ mprintf ( "index = %d, x = [%f %f]\n" , index , x(1) , x(2) );
+ end
+ f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
+ g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
+ g(2) = 200. * ( x(2) - x(1)**2 )
+endfunction
+
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt= optimbase_configure(opt,"-function", rosenbrock4 );
+opt = optimbase_configure(opt,"-withderivatives",%t);
+[ opt , f , g , index ] = optimbase_function ( opt , [-1.2 1.0] , 4 );
+assert_checkequal ( index , 4 );
+assert_checkalmostequal ( f , 24.2 , %eps );
+assert_checkalmostequal ( g , [-215.6 -88.0].' , %eps );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.dia.ref
new file mode 100755
index 000000000..25b4048e1
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.dia.ref
@@ -0,0 +1,26 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test hasbounds method
+//
+// Case where there is no bound
+opt = optimbase_new ();
+[ opt , hasbounds ] = optimbase_hasbounds ( opt );
+assert_checkequal ( hasbounds , %F );
+opt = optimbase_destroy( opt );
+// Case where there are bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , hasbounds ] = optimbase_hasbounds ( opt );
+assert_checkequal ( hasbounds , %T );
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.tst
new file mode 100755
index 000000000..46f2d6cd9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_hasbounds.tst
@@ -0,0 +1,30 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+//
+// Test hasbounds method
+//
+// Case where there is no bound
+opt = optimbase_new ();
+[ opt , hasbounds ] = optimbase_hasbounds ( opt );
+assert_checkequal ( hasbounds , %F );
+opt = optimbase_destroy( opt );
+// Case where there are bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , hasbounds ] = optimbase_hasbounds ( opt );
+assert_checkequal ( hasbounds , %T );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.dia.ref
new file mode 100755
index 000000000..c7c28003d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.dia.ref
@@ -0,0 +1,135 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #1, the value of the cost function
+// at index #2 to the end is the list of the values of the nonlinear
+// inequality constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function [ f , c , index ] = gouldnonconvex ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// The same cost function as before, with an
+// additional argument, which contains parameters of the
+// cost function and constraints.
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ f , c , index , mydata ] = gouldnonconvex2 ( x , index , mydata )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - mydata.f1 )^3 + ( x(2) - mydata.f2 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - mydata.a1
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - mydata.a2
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + mydata.a3
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// Test optimbase_isfeasible method
+//
+// Test with bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [0.0 0.0] );
+assert_checkequal ( isfeasible , 1 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [-6.0 0.0] );
+Component #1/2 of x is lower than min bound -5
+assert_checkequal ( isfeasible , 0 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [0.0 6.0] );
+Component #2/2 of x is greater than max bound 5
+assert_checkequal ( isfeasible , 0 );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure(opt,"-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.8429636 ] );
+Function Evaluation #1, index=5, x= [14.095001 0.8429636]
+assert_checkequal ( isfeasible , 1 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.0 ] );
+Function Evaluation #2, index=5, x= [14.095001 0]
+Inequality constraint #3/4 is not satisfied for x
+assert_checkequal ( isfeasible , -1 );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints and additional argument in cost function
+// Set verbose to 1 to check that verbose mode is operationnal.
+mystuff = struct();
+mystuff.f1 = 10.0;
+mystuff.f2 = 20.0;
+mystuff.a1 = 13.0;
+mystuff.a2 = 100.0;
+mystuff.a3 = 82.81;
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , list(gouldnonconvex2,mystuff) );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.8429636 ] );
+Function Evaluation #1, index=5, x= [14.095001 0.8429636]
+assert_checkequal ( isfeasible , 1 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.0 ] );
+Function Evaluation #2, index=5, x= [14.095001 0]
+Inequality constraint #3/4 is not satisfied for x
+assert_checkequal ( isfeasible , -1 );
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.tst
new file mode 100755
index 000000000..7fa541ac9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_isfeasible.tst
@@ -0,0 +1,133 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #1, the value of the cost function
+// at index #2 to the end is the list of the values of the nonlinear
+// inequality constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function [ f , c , index ] = gouldnonconvex ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// The same cost function as before, with an
+// additional argument, which contains parameters of the
+// cost function and constraints.
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ f , c , index , mydata ] = gouldnonconvex2 ( x , index , mydata )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - mydata.f1 )^3 + ( x(2) - mydata.f2 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - mydata.a1
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - mydata.a2
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + mydata.a3
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// Test optimbase_isfeasible method
+//
+// Test with bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [0.0 0.0] );
+assert_checkequal ( isfeasible , 1 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [-6.0 0.0] );
+assert_checkequal ( isfeasible , 0 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [0.0 6.0] );
+assert_checkequal ( isfeasible , 0 );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure(opt,"-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , 1 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , -1 );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints and additional argument in cost function
+// Set verbose to 1 to check that verbose mode is operationnal.
+mystuff = struct();
+mystuff.f1 = 10.0;
+mystuff.f2 = 20.0;
+mystuff.a1 = 13.0;
+mystuff.a2 = 100.0;
+mystuff.a3 = 82.81;
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , list(gouldnonconvex2,mystuff) );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , 1 );
+[ opt , isfeasible ] = optimbase_isfeasible ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , -1 );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.dia.ref
new file mode 100755
index 000000000..b4766e84a
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.dia.ref
@@ -0,0 +1,156 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #1, the value of the cost function
+// at index #2 to the end is the list of the values of the nonlinear
+// inequality constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function result = gouldnonconvex ( x , index )
+ if (~isdef("index","local")) then
+ index = 1
+ end
+ if ( index==1 | index==3 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==2 | index==3 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ end
+ select index
+ case 1 then
+ result = f
+ mprintf( "Computed f = %e\n", f);
+ case 2
+ result = [c1 c2 c3 c4]
+ mprintf( "Computed constraints = %e %e %e %e\n", c1 , c2 , c3 , c4);
+ case 3
+ result = [f c1 c2 c3 c4]
+ mprintf( "Computed f = %e and constraints = %e %e %e %e\n", f , c1 , c2 , c3 , c4);
+ else
+ errmsg = sprintf("Unknown index %d", index )
+ error(errmsg)
+ end
+endfunction
+//
+// The same cost function as before, with an
+// additional argument, which contains parameters of the
+// cost function and constraints.
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function result = gouldnonconvex2 ( x , index , mydata )
+ if (~isdef("index","local")) then
+ index = 1
+ end
+ if ( index==1 | index==3 ) then
+ f = (x(1) - mydata.f1 )^3 + ( x(2) - mydata.f2 ) ^ 3
+ end
+ if ( index==2 | index==3 ) then
+ c1 = x(1) - mydata.a1
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - mydata.a2
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + mydata.a3
+ c4 = x(2)
+ end
+ select index
+ case 1 then
+ result = f
+ mprintf( "Computed f = %e\n", f);
+ case 2
+ result = [c1 c2 c3 c4]
+ mprintf( "Computed constraints = %e %e %e %e\n", c1 , c2 , c3 , c4);
+ case 3
+ result = [f c1 c2 c3 c4]
+ mprintf( "Computed f = %e and constraints = %e %e %e %e\n", f , c1 , c2 , c3 , c4);
+ else
+ errmsg = sprintf("Unknown index %d", index )
+ error(errmsg)
+ end
+endfunction
+//
+// Test optimbase_isfeasible method
+//
+// Test with bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [0.0 0.0] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [-6.0 0.0] );
+Component #1/2 of x is lower than min bound -5
+assert_checkequal ( isfeasible , %f );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [0.0 6.0] );
+Component #2/2 of x is greater than max bound 5
+assert_checkequal ( isfeasible , %f );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure(opt,"-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , %t );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints and additional argument in cost function
+mystuff = struct();
+mystuff.f1 = 10.0;
+mystuff.f2 = 20.0;
+mystuff.a1 = 13.0;
+mystuff.a2 = 100.0;
+mystuff.a3 = 82.81;
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , list(gouldnonconvex2,mystuff) );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , %t );
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.tst
new file mode 100755
index 000000000..0f4d4d32c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinbounds.tst
@@ -0,0 +1,160 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #1, the value of the cost function
+// at index #2 to the end is the list of the values of the nonlinear
+// inequality constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function result = gouldnonconvex ( x , index )
+ if (~isdef("index","local")) then
+ index = 1
+ end
+ if ( index==1 | index==3 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==2 | index==3 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ end
+ select index
+ case 1 then
+ result = f
+ mprintf( "Computed f = %e\n", f);
+ case 2
+ result = [c1 c2 c3 c4]
+ mprintf( "Computed constraints = %e %e %e %e\n", c1 , c2 , c3 , c4);
+ case 3
+ result = [f c1 c2 c3 c4]
+ mprintf( "Computed f = %e and constraints = %e %e %e %e\n", f , c1 , c2 , c3 , c4);
+ else
+ errmsg = sprintf("Unknown index %d", index )
+ error(errmsg)
+ end
+endfunction
+//
+// The same cost function as before, with an
+// additional argument, which contains parameters of the
+// cost function and constraints.
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function result = gouldnonconvex2 ( x , index , mydata )
+ if (~isdef("index","local")) then
+ index = 1
+ end
+ if ( index==1 | index==3 ) then
+ f = (x(1) - mydata.f1 )^3 + ( x(2) - mydata.f2 ) ^ 3
+ end
+ if ( index==2 | index==3 ) then
+ c1 = x(1) - mydata.a1
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - mydata.a2
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + mydata.a3
+ c4 = x(2)
+ end
+ select index
+ case 1 then
+ result = f
+ mprintf( "Computed f = %e\n", f);
+ case 2
+ result = [c1 c2 c3 c4]
+ mprintf( "Computed constraints = %e %e %e %e\n", c1 , c2 , c3 , c4);
+ case 3
+ result = [f c1 c2 c3 c4]
+ mprintf( "Computed f = %e and constraints = %e %e %e %e\n", f , c1 , c2 , c3 , c4);
+ else
+ errmsg = sprintf("Unknown index %d", index )
+ error(errmsg)
+ end
+endfunction
+//
+// Test optimbase_isfeasible method
+//
+// Test with bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [0.0 0.0] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [-6.0 0.0] );
+assert_checkequal ( isfeasible , %f );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [0.0 6.0] );
+assert_checkequal ( isfeasible , %f );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure(opt,"-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , %t );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints and additional argument in cost function
+mystuff = struct();
+mystuff.f1 = 10.0;
+mystuff.f2 = 20.0;
+mystuff.a1 = 13.0;
+mystuff.a2 = 100.0;
+mystuff.a3 = 82.81;
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , list(gouldnonconvex2,mystuff) );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinbounds ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , %t );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.dia.ref
new file mode 100755
index 000000000..1b3420e85
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.dia.ref
@@ -0,0 +1,132 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #1, the value of the cost function
+// at index #2 to the end is the list of the values of the nonlinear
+// inequality constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function [ f , c , index ] = gouldnonconvex ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// The same cost function as before, with an
+// additional argument, which contains parameters of the
+// cost function and constraints.
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ f , c , index , mystuff ] = gouldnonconvex2 ( x , index , mydata )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - mydata.f1 )^3 + ( x(2) - mydata.f2 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - mydata.a1
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - mydata.a2
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + mydata.a3
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// Test optimbase_isfeasible method
+//
+// Test with bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [0.0 0.0] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [-6.0 0.0] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [0.0 6.0] );
+assert_checkequal ( isfeasible , %t );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure(opt,"-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.8429636 ] );
+Function Evaluation #1, index=5, x= [14.095001 0.8429636]
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.0 ] );
+Function Evaluation #2, index=5, x= [14.095001 0]
+Inequality constraint #3/4 is not satisfied for x
+assert_checkequal ( isfeasible , %f );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints and additional argument in cost function
+mystuff = struct();
+mystuff.f1 = 10.0;
+mystuff.f2 = 20.0;
+mystuff.a1 = 13.0;
+mystuff.a2 = 100.0;
+mystuff.a3 = 82.81;
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , list(gouldnonconvex2,mystuff) );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.8429636 ] );
+Function Evaluation #1, index=5, x= [14.095001 0.8429636]
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.0 ] );
+Function Evaluation #2, index=5, x= [14.095001 0]
+Inequality constraint #3/4 is not satisfied for x
+assert_checkequal ( isfeasible , %f );
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.tst
new file mode 100755
index 000000000..b463938c4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_isinnonlincons.tst
@@ -0,0 +1,132 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+//
+// gould.nonconvex --
+// The Gould test case with additional inequality constraints.
+// Arguments
+// x : the point where to compute the cost
+// index : a flag which states what is to compute
+// * if index=1, or no index, returns the value of the cost
+// function (default case)
+// * if index=2, returns the value of the nonlinear inequality
+// constraints, as a row array
+// * if index=3, returns an array which contains
+// at index #1, the value of the cost function
+// at index #2 to the end is the list of the values of the nonlinear
+// inequality constraints
+// Discussion:
+// The problem is to minimize a cost function with 4 non linear constraints.
+// This is Problem 4.1 in Subrahmanyam, extracted from Gould.
+// Non convex.
+// The constraint region is a narrow winding (half-moon shaped) valley.
+// Solution showed with tolerance 1.e-8.
+//
+// Reference:
+// An extension of the simplex method to constrained
+// nonlinear optimization
+// M.B. Subrahmanyam
+// Journal of optimization theory and applications
+// Vol. 62, August 1989
+//
+// Gould F.J.
+// Nonlinear Tolerance Programming
+// Numerical methods for Nonlinear optimization
+// Edited by F.A. Lootsma, pp 349-366, 1972
+//
+function [ f , c , index ] = gouldnonconvex ( x , index )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - 10.0 )^3 + ( x(2) - 20.0 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - 13.0
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - 100.0
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + 82.81
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// The same cost function as before, with an
+// additional argument, which contains parameters of the
+// cost function and constraints.
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ f , c , index , mystuff ] = gouldnonconvex2 ( x , index , mydata )
+ f = []
+ c = []
+ if ( index==2 | index==6 ) then
+ f = (x(1) - mydata.f1 )^3 + ( x(2) - mydata.f2 ) ^ 3
+ end
+ if ( index==5 | index==6 ) then
+ c1 = x(1) - mydata.a1
+ c2 = ( x(1) - 5.0 )^2 + (x(2) - 5.0 )^2 - mydata.a2
+ c3 = -( x(1) - 6.0 )^2 - (x(2) - 5.0 )^2 + mydata.a3
+ c4 = x(2)
+ c = [c1 c2 c3 c4]
+ end
+endfunction
+//
+// Test optimbase_isfeasible method
+//
+// Test with bounds
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [0.0 0.0] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [-6.0 0.0] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [0.0 6.0] );
+assert_checkequal ( isfeasible , %t );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure(opt,"-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , gouldnonconvex );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , %f );
+opt = optimbase_destroy(opt);
+//
+// Test with nonlinear inequality constraints and additional argument in cost function
+mystuff = struct();
+mystuff.f1 = 10.0;
+mystuff.f2 = 20.0;
+mystuff.a1 = 13.0;
+mystuff.a2 = 100.0;
+mystuff.a3 = 82.81;
+opt = optimbase_new ();
+opt = optimbase_configure ( opt , "-numberofvariables",2);
+opt = optimbase_configure ( opt , "-verbose",1);
+opt = optimbase_configure ( opt , "-nbineqconst",4);
+opt = optimbase_configure ( opt , "-function" , list(gouldnonconvex2,mystuff) );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.8429636 ] );
+assert_checkequal ( isfeasible , %t );
+[ opt , isfeasible ] = optimbase_isinnonlincons ( opt , [ 14.0950013 , 0.0 ] );
+assert_checkequal ( isfeasible , %f );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_log.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_log.dia.ref
new file mode 100755
index 000000000..75948569c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_log.dia.ref
@@ -0,0 +1,60 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test basic verbose
+//
+opt = optimbase_new ();
+computed = optimbase_cget(opt,"-verbose");
+assert_checkequal ( computed , 0 );
+opt = optimbase_configure(opt,"-verbose",1);
+computed = optimbase_cget(opt,"-verbose");
+assert_checkequal ( computed , 1 );
+optimbase_log ( opt , "My interesting message" );
+My interesting message
+opt = optimbase_configure(opt,"-verbose",0);
+// Log a message relative to the stopping rule
+computed = optimbase_cget(opt,"-verbosetermination");
+assert_checkequal ( computed , 0 );
+opt = optimbase_configure(opt,"-verbosetermination",1);
+computed = optimbase_cget(opt,"-verbosetermination");
+assert_checkequal ( computed , 1 );
+opt = optimbase_stoplog ( opt , "My interesting stop message" );
+opt = optimbase_configure(opt,"-verbosetermination",0);
+opt = optimbase_destroy(opt);
+//
+// Test logging into a file
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-verbose",1);
+computed = optimbase_cget(opt,"-logfile");
+assert_checkequal ( computed , "" );
+opt = optimbase_configure(opt,"-logfile",fullfile(TMPDIR,"mylogfile.txt"));
+computed = optimbase_cget(opt,"-logfile");
+assert_checkequal ( computed , fullfile(TMPDIR,"mylogfile.txt") );
+opt = optimbase_log ( opt , "My interesting message" );
+opt = optimbase_configure(opt,"-verbose",0);
+opt = optimbase_log ( opt , "My NOT interesting message" );
+opt = optimbase_destroy(opt);
+computed = fileinfo ( fullfile(TMPDIR,"mylogfile.txt") );
+assert_checkequal ( ( computed <> [] ) , %t );
+// Check content
+fd = mopen( fullfile(TMPDIR,"mylogfile.txt") , "r" );
+computed = mgetl ( fd , 1 ); // The date is not checked
+computed = mgetl ( fd , 1 );
+assert_checkequal ( computed , "My interesting message" );
+computed = meof ( fd );
+assert_checkequal ( computed , 0 );
+mclose ( fd );
+computed = deletefile ( fullfile(TMPDIR,"mylogfile.txt") );
+assert_checkequal ( computed , %t );
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_log.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_log.tst
new file mode 100755
index 000000000..f69cca15f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_log.tst
@@ -0,0 +1,68 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test basic verbose
+//
+opt = optimbase_new ();
+computed = optimbase_cget(opt,"-verbose");
+assert_checkequal ( computed , 0 );
+opt = optimbase_configure(opt,"-verbose",1);
+computed = optimbase_cget(opt,"-verbose");
+assert_checkequal ( computed , 1 );
+optimbase_log ( opt , "My interesting message" );
+opt = optimbase_configure(opt,"-verbose",0);
+// Log a message relative to the stopping rule
+computed = optimbase_cget(opt,"-verbosetermination");
+assert_checkequal ( computed , 0 );
+opt = optimbase_configure(opt,"-verbosetermination",1);
+computed = optimbase_cget(opt,"-verbosetermination");
+assert_checkequal ( computed , 1 );
+opt = optimbase_stoplog ( opt , "My interesting stop message" );
+opt = optimbase_configure(opt,"-verbosetermination",0);
+opt = optimbase_destroy(opt);
+
+//
+// Test logging into a file
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-verbose",1);
+computed = optimbase_cget(opt,"-logfile");
+assert_checkequal ( computed , "" );
+opt = optimbase_configure(opt,"-logfile",fullfile(TMPDIR,"mylogfile.txt"));
+computed = optimbase_cget(opt,"-logfile");
+assert_checkequal ( computed , fullfile(TMPDIR,"mylogfile.txt") );
+opt = optimbase_log ( opt , "My interesting message" );
+opt = optimbase_configure(opt,"-verbose",0);
+opt = optimbase_log ( opt , "My NOT interesting message" );
+opt = optimbase_destroy(opt);
+computed = fileinfo ( fullfile(TMPDIR,"mylogfile.txt") );
+assert_checkequal ( ( computed <> [] ) , %t );
+// Check content
+fd = mopen( fullfile(TMPDIR,"mylogfile.txt") , "r" );
+computed = mgetl ( fd , 1 ); // The date is not checked
+computed = mgetl ( fd , 1 );
+assert_checkequal ( computed , "My interesting message" );
+computed = meof ( fd );
+assert_checkequal ( computed , 0 );
+mclose ( fd );
+computed = deletefile ( fullfile(TMPDIR,"mylogfile.txt") );
+assert_checkequal ( computed , %t );
+
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.dia.ref
new file mode 100755
index 000000000..0d1cc3704
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.dia.ref
@@ -0,0 +1,361 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// myoutputcmd --
+// This command is called back by the Optimization
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// stop : set to %f to interrupt algorithm
+//
+function stop = myoutputcmd ( state , data )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ _OUTPUCMDFLAG_ = 1
+ stop = %f
+endfunction
+global _OUTPUCMDFLAG_
+_OUTPUCMDFLAG_ = 0
+ _OUTPUCMDFLAG_ =
+
+ 0.
+//
+// myoutputcmd2 --
+// This command is called back by the Optimization
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// myobj : a user-defined data structure
+// stop : set to %f to interrupt algorithm
+//
+function stop = myoutputcmd2 ( state , data , myobj )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ _OUTPUCMDFLAG_ = myobj.myarg
+ stop = %f
+endfunction
+global _OUTPUCMDFLAG_
+_OUTPUCMDFLAG_ = 0
+ _OUTPUCMDFLAG_ =
+
+ 0.
+myobj = tlist(["T_MYSTUFF","myarg"]);
+myobj.myarg = 12;
+//
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ y , index ] = rosenbrock2 ( x , index , mydata )
+ a = mydata.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+endfunction
+//
+// Test with an additional argument
+//
+mystuff = tlist(["T_MYSTUFF","a"]);
+mystuff.a = 12.0;
+//
+// Test nearly all features of the optimization "abstract" class
+//
+opt = optimbase_new ();
+// Check number of variables
+opt = optimbase_configure(opt,"-numberofvariables",2);
+nbvar = optimbase_cget(opt,"-numberofvariables");
+assert_checkequal ( nbvar , 2 );
+// Check cost function without additional argument
+opt = optimbase_configure(opt,"-function",rosenbrock);
+[this,f , index ] = optimbase_function ( opt , [0.0 0.0] , 2 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+// Check cost function with additional argument
+opt = optimbase_configure(opt,"-function",list(rosenbrock2,mystuff));
+[this,f, index ] = optimbase_function ( opt , [0.0 0.0] , 2 );
+assert_checkalmostequal ( f , 144.0 , %eps );
+// Check initial guess
+opt = optimbase_configure(opt,"-x0",[-1.2 1.0]');
+x0 = optimbase_cget(opt,"-x0");
+assert_checkalmostequal ( x0 , [-1.2 1.0]' , %eps);
+// Check maxiter
+opt = optimbase_configure(opt,"-maxiter",200);
+maxiter = optimbase_cget(opt,"-maxiter");
+assert_checkequal ( maxiter , 200);
+// Check maxfunevals
+opt = optimbase_configure(opt,"-maxfunevals",200);
+maxfunevals = optimbase_cget(opt,"-maxfunevals");
+assert_checkequal ( maxfunevals , 200);
+// Check tolfunrelative
+opt = optimbase_configure(opt,"-tolfunrelative",10*%eps);
+tolfunrelative = optimbase_cget(opt,"-tolfunrelative");
+assert_checkequal ( tolfunrelative , 10*%eps );
+// Check tolxrelative
+opt = optimbase_configure(opt,"-tolxrelative",10*%eps);
+tolxrelative = optimbase_cget(opt,"-tolxrelative");
+assert_checkequal ( tolxrelative , 10*%eps );
+// Check verbose
+opt = optimbase_configure(opt,"-verbose",1);
+verbose = optimbase_cget(opt,"-verbose");
+assert_checkequal ( verbose , 1 );
+opt = optimbase_configure(opt,"-verbose",0);
+// Check verbose termination
+opt = optimbase_configure(opt,"-verbosetermination",1);
+verbosetermination = optimbase_cget(opt,"-verbosetermination");
+assert_checkequal ( verbosetermination , 1 );
+opt = optimbase_configure(opt,"-verbosetermination",0);
+// Check optimum
+opt = optimbase_set(opt,"-xopt",[1.0 1.0]);
+xopt = optimbase_get(opt,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0], %eps );
+// Check function value at optimum
+opt = optimbase_set(opt,"-fopt",1.0);
+fopt = optimbase_get(opt,"-fopt");
+assert_checkalmostequal ( fopt , 1.0 , %eps );
+// Check status
+opt = optimbase_set(opt,"-status","maxiter");
+status = optimbase_get(opt,"-status");
+assert_checkequal ( status , "maxiter" );
+// Log a message
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_log ( opt , "My interesting message" );
+My interesting message
+opt = optimbase_configure(opt,"-verbose",0);
+// Log a message relative to the stopping rule
+opt = optimbase_configure(opt,"-verbosetermination",1);
+opt = optimbase_stoplog ( opt , "My interesting stop message" );
+opt = optimbase_configure(opt,"-verbosetermination",0);
+// Check output command without additional argument
+opt = optimbase_configure(opt,"-outputcommand",myoutputcmd);
+brutedata = optimbase_outstruct ( opt );
+mydata = tlist(["T_MYDATA",...
+ "x","fval","iteration","funccount",...
+ "myspecialdata"]);
+mydata.x = brutedata.x;
+mydata.fval = brutedata.fval;
+mydata.iteration = brutedata.iteration;
+mydata.funccount = brutedata.funccount;
+mydata.myspecialdata = "yahoo !";
+optimbase_outputcmd ( opt , "init" , mydata );
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+// Check output command with additional argument
+opt = optimbase_configure(opt,"-outputcommand",list(myoutputcmd2,myobj));
+brutedata = optimbase_outstruct ( opt );
+mydata = tlist(["T_MYDATA",...
+ "x","fval","iteration","funccount",...
+ "myspecialdata"]);
+mydata.x = brutedata.x;
+mydata.fval = brutedata.fval;
+mydata.iteration = brutedata.iteration;
+mydata.funccount = brutedata.funccount;
+mydata.myspecialdata = "yahoo !";
+optimbase_outputcmd ( opt , "init" , mydata );
+assert_checkequal ( _OUTPUCMDFLAG_ , 12. );
+// Check incriter
+opt = optimbase_incriter ( opt );
+iter = optimbase_get ( opt , "-iterations");
+assert_checkequal ( iter , 1 );
+// Check history storing with xopt
+opt = optimbase_configure ( opt , "-storehistory" , %t );
+opt = optimbase_histset ( opt , 1 , "-xopt" , [1.0 1.0]' );
+x0 = optimbase_histget ( opt , 1 , "-xopt" );
+assert_checkalmostequal ( x0 , [1.0 1.0]', %eps );
+// Check history storing with fopt
+opt = optimbase_configure ( opt , "-storehistory" , %t );
+opt = optimbase_histset ( opt , 1 , "-fopt" , 1.0 );
+f0 = optimbase_histget ( opt , 1 , "-fopt" );
+assert_checkalmostequal ( f0 , 1.0, %eps );
+// Check the boundsmin, boundsmax and nbineqconst
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+boundsmin = optimbase_cget ( opt , "-boundsmin" );
+assert_checkequal ( boundsmin , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+boundsmax = optimbase_cget ( opt , "-boundsmax" );
+assert_checkequal ( boundsmax , [5.0 5.0] );
+opt = optimbase_configure ( opt , "-nbineqconst" , 3 );
+nbineqconst = optimbase_cget ( opt , "-nbineqconst" );
+assert_checkequal ( nbineqconst , 3 );
+// Cleanup
+opt = optimbase_destroy(opt);
+//
+// Test error cases
+//
+opt = optimbase_new ();
+//
+// Test wrong initial guess
+//
+cmd = "optimbase_configure(opt,''-x0'',[-1.2 1.0; -1.0 1.2])";
+assert_checkerror(cmd,"%s: Wrong size for x0 argument: A vector expected.", [], "optimbase_configure");
+//
+// Test wrong -tolxmethod
+//
+cmd = "optimbase_configure(opt,''-tolxmethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"optimbase_typeboolean","value",3,"string");
+//
+// Test wrong -tolfunmethod
+//
+cmd = "optimbase_configure(opt,''-tolfunmethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"optimbase_typeboolean","value",3,"string");
+opt = optimbase_destroy(opt);
+//
+// Test outstruct when no -outputcommand is defined
+//
+opt = optimbase_new ();
+cmd = "data = optimbase_outstruct ( opt )";
+assert_checkerror(cmd,"%s: No output command is defined.",[], "optimbase_outstruct");
+opt = optimbase_destroy(opt);
+//
+// Test optimbase_cget with unknown key
+//
+opt = optimbase_new ();
+cmd = "value = optimbase_cget (opt,''foo'')";
+assert_checkerror(cmd,"%s: Unknown key %s",[],"optimbase_cget" , "foo");
+opt = optimbase_destroy(opt);
+//
+// Test optimbase_get with unknown key
+//
+opt = optimbase_new ();
+cmd = "value = optimbase_get (opt,''foo'')";
+assert_checkerror(cmd,"%s: Unknown key %s",[],"optimbase_get" , "foo");
+opt = optimbase_destroy(opt);
+//
+// Test various errors
+//
+opt = optimbase_new ();
+// Test -historyxopt when there is no history
+cmd = "value = optimbase_get (opt,''-historyxopt'')";
+assert_checkerror(cmd,"%s: History disabled ; enable -storehistory option.",[],"optimbase_get");
+// Test -historyfopt when there is no history
+cmd = "value = optimbase_get (opt,''-historyfopt'')";
+assert_checkerror(cmd,"%s: History disabled ; enable -storehistory option.",[],"optimbase_get");
+// Test optimbase_function when there is no function
+cmd = "[ opt , f , index ] = optimbase_function ( opt , [] , %t )";
+assert_checkerror(cmd,"%s: Empty function (use -function option).",[],"optimbase_function");
+// Test optimbase_histget ( this , iter , key ) when there is no history
+cmd = "optimbase_histget ( opt , 1 , ''-xopt'' )";
+assert_checkerror(cmd,"%s: History disabled ; turn on -storehistory option.",[],"optimbase_histget");
+// Test optimbase_histget ( this , iter , key ) with negative iteration
+opt = optimbase_configure ( opt , "-storehistory" , %t );
+cmd = "optimbase_histget ( opt , -1 , ''-xopt'' )";
+assert_checkerror(cmd,"%s: Negative iteration index %d is not allowed.",[],"optimbase_histget",-1);
+// Cleanup
+opt = optimbase_destroy(opt);
+//
+// Test the printing system
+//
+opt = optimbase_new ();
+string(opt)
+ ans =
+
+!Optim Base Object: !
+! !
+!================== !
+! !
+!Number of variables : 0 !
+! !
+!Initial Guess : [] !
+! !
+!Initial Function Value : !
+! !
+!Number of Inequality Constraints :0 !
+! !
+!Bounds Mininimum : [] !
+! !
+!Bounds Maxinimum :[] !
+! !
+!Optimum Parameters : [0] !
+! !
+!Optimum Function Value :0 !
+! !
+!Number of iterations : 0 !
+! !
+!Maximum number of iterations : 100 !
+! !
+!Number function evaluations : 0 !
+! !
+!Maximum number of function evaluations : 100 !
+! !
+!Termination Method on function value : F !
+! !
+!Termination Absolute Tolerance on function value : 0 !
+! !
+!Termination Relative Tolerance on function value : 2.220D-16 !
+! !
+!Termination Method on x : T !
+! !
+!Termination Absolute Tolerance on x : 0 !
+! !
+!Termination Relative Tolerance on x : 1.490D-08 !
+! !
+!Optimization Status : !
+! !
+!Verbose logging : 0 !
+! !
+!Verbose Termination : 0 !
+! !
+!Verbose Log File : !
+! !
+!Verbose Log File Startup Up: F !
+! !
+!Store History : F !
+opt
+ opt =
+
+Optim Base Object:
+==================
+Number of variables : 0
+Initial Guess : []
+Initial Function Value :
+Number of Inequality Constraints :0
+Bounds Mininimum : []
+Bounds Maxinimum :[]
+Optimum Parameters : [0]
+Optimum Function Value :0
+Number of iterations : 0
+Maximum number of iterations : 100
+Number function evaluations : 0
+Maximum number of function evaluations : 100
+Termination Method on function value : F
+Termination Absolute Tolerance on function value : 0
+Termination Relative Tolerance on function value : 2.220D-16
+Termination Method on x : T
+Termination Absolute Tolerance on x : 0
+Termination Relative Tolerance on x : 1.490D-08
+Optimization Status :
+Verbose logging : 0
+Verbose Termination : 0
+Verbose Log File :
+Verbose Log File Startup Up: F
+Store History : F
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.tst
new file mode 100755
index 000000000..e529f02f8
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_newdestroy.tst
@@ -0,0 +1,292 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function [ y , index ] = rosenbrock ( x , index )
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// myoutputcmd --
+// This command is called back by the Optimization
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// stop : set to %f to interrupt algorithm
+//
+function stop = myoutputcmd ( state , data )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ _OUTPUCMDFLAG_ = 1
+ stop = %f
+endfunction
+
+global _OUTPUCMDFLAG_
+_OUTPUCMDFLAG_ = 0
+
+//
+// myoutputcmd2 --
+// This command is called back by the Optimization
+// algorithm.
+// Arguments
+// state : the current state of the algorithm
+// "init", "iter", "done"
+// data : the data at the current state
+// This is a tlist with the following entries:
+// * x : the optimal vector of parameters
+// * fval : the minimum function value
+// * iteration : the number of iterations performed
+// * funccount : the number of function evaluations
+// myobj : a user-defined data structure
+// stop : set to %f to interrupt algorithm
+//
+function stop = myoutputcmd2 ( state , data , myobj )
+ global _OUTPUCMDFLAG_
+ // Unload the array, just to make sure that the minimum is there
+ iter = data.iteration
+ fc = data.funccount
+ fval = data.fval
+ x = data.x
+ _OUTPUCMDFLAG_ = myobj.myarg
+ stop = %f
+endfunction
+
+
+global _OUTPUCMDFLAG_
+_OUTPUCMDFLAG_ = 0
+
+myobj = tlist(["T_MYSTUFF","myarg"]);
+myobj.myarg = 12;
+
+//
+// In this case, the mydata variable is passed
+// explicitely by the optimization class.
+// So the actual name "mydata" does not matter
+// and whatever variable name can be used.
+//
+function [ y , index ] = rosenbrock2 ( x , index , mydata )
+ a = mydata.a
+ y = 100*(x(2)-x(1)^2)^2 + ( a - x(1))^2;
+endfunction
+
+//
+// Test with an additional argument
+//
+mystuff = tlist(["T_MYSTUFF","a"]);
+mystuff.a = 12.0;
+
+//
+// Test nearly all features of the optimization "abstract" class
+//
+
+opt = optimbase_new ();
+// Check number of variables
+opt = optimbase_configure(opt,"-numberofvariables",2);
+nbvar = optimbase_cget(opt,"-numberofvariables");
+assert_checkequal ( nbvar , 2 );
+// Check cost function without additional argument
+opt = optimbase_configure(opt,"-function",rosenbrock);
+[this,f , index ] = optimbase_function ( opt , [0.0 0.0] , 2 );
+assert_checkalmostequal ( f , 1.0 , %eps );
+// Check cost function with additional argument
+opt = optimbase_configure(opt,"-function",list(rosenbrock2,mystuff));
+[this,f, index ] = optimbase_function ( opt , [0.0 0.0] , 2 );
+assert_checkalmostequal ( f , 144.0 , %eps );
+// Check initial guess
+opt = optimbase_configure(opt,"-x0",[-1.2 1.0]');
+x0 = optimbase_cget(opt,"-x0");
+assert_checkalmostequal ( x0 , [-1.2 1.0]' , %eps);
+// Check maxiter
+opt = optimbase_configure(opt,"-maxiter",200);
+maxiter = optimbase_cget(opt,"-maxiter");
+assert_checkequal ( maxiter , 200);
+// Check maxfunevals
+opt = optimbase_configure(opt,"-maxfunevals",200);
+maxfunevals = optimbase_cget(opt,"-maxfunevals");
+assert_checkequal ( maxfunevals , 200);
+// Check tolfunrelative
+opt = optimbase_configure(opt,"-tolfunrelative",10*%eps);
+tolfunrelative = optimbase_cget(opt,"-tolfunrelative");
+assert_checkequal ( tolfunrelative , 10*%eps );
+// Check tolxrelative
+opt = optimbase_configure(opt,"-tolxrelative",10*%eps);
+tolxrelative = optimbase_cget(opt,"-tolxrelative");
+assert_checkequal ( tolxrelative , 10*%eps );
+// Check verbose
+opt = optimbase_configure(opt,"-verbose",1);
+verbose = optimbase_cget(opt,"-verbose");
+assert_checkequal ( verbose , 1 );
+opt = optimbase_configure(opt,"-verbose",0);
+// Check verbose termination
+opt = optimbase_configure(opt,"-verbosetermination",1);
+verbosetermination = optimbase_cget(opt,"-verbosetermination");
+assert_checkequal ( verbosetermination , 1 );
+opt = optimbase_configure(opt,"-verbosetermination",0);
+// Check optimum
+opt = optimbase_set(opt,"-xopt",[1.0 1.0]);
+xopt = optimbase_get(opt,"-xopt");
+assert_checkalmostequal ( xopt , [1.0 1.0], %eps );
+// Check function value at optimum
+opt = optimbase_set(opt,"-fopt",1.0);
+fopt = optimbase_get(opt,"-fopt");
+assert_checkalmostequal ( fopt , 1.0 , %eps );
+// Check status
+opt = optimbase_set(opt,"-status","maxiter");
+status = optimbase_get(opt,"-status");
+assert_checkequal ( status , "maxiter" );
+// Log a message
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_log ( opt , "My interesting message" );
+opt = optimbase_configure(opt,"-verbose",0);
+// Log a message relative to the stopping rule
+opt = optimbase_configure(opt,"-verbosetermination",1);
+opt = optimbase_stoplog ( opt , "My interesting stop message" );
+opt = optimbase_configure(opt,"-verbosetermination",0);
+// Check output command without additional argument
+opt = optimbase_configure(opt,"-outputcommand",myoutputcmd);
+brutedata = optimbase_outstruct ( opt );
+mydata = tlist(["T_MYDATA",...
+"x","fval","iteration","funccount",...
+"myspecialdata"]);
+mydata.x = brutedata.x;
+mydata.fval = brutedata.fval;
+mydata.iteration = brutedata.iteration;
+mydata.funccount = brutedata.funccount;
+mydata.myspecialdata = "yahoo !";
+optimbase_outputcmd ( opt , "init" , mydata );
+assert_checkequal ( _OUTPUCMDFLAG_ , 1 );
+// Check output command with additional argument
+opt = optimbase_configure(opt,"-outputcommand",list(myoutputcmd2,myobj));
+brutedata = optimbase_outstruct ( opt );
+mydata = tlist(["T_MYDATA",...
+"x","fval","iteration","funccount",...
+"myspecialdata"]);
+mydata.x = brutedata.x;
+mydata.fval = brutedata.fval;
+mydata.iteration = brutedata.iteration;
+mydata.funccount = brutedata.funccount;
+mydata.myspecialdata = "yahoo !";
+optimbase_outputcmd ( opt , "init" , mydata );
+assert_checkequal ( _OUTPUCMDFLAG_ , 12. );
+// Check incriter
+opt = optimbase_incriter ( opt );
+iter = optimbase_get ( opt , "-iterations");
+assert_checkequal ( iter , 1 );
+// Check history storing with xopt
+opt = optimbase_configure ( opt , "-storehistory" , %t );
+opt = optimbase_histset ( opt , 1 , "-xopt" , [1.0 1.0]' );
+x0 = optimbase_histget ( opt , 1 , "-xopt" );
+assert_checkalmostequal ( x0 , [1.0 1.0]', %eps );
+// Check history storing with fopt
+opt = optimbase_configure ( opt , "-storehistory" , %t );
+opt = optimbase_histset ( opt , 1 , "-fopt" , 1.0 );
+f0 = optimbase_histget ( opt , 1 , "-fopt" );
+assert_checkalmostequal ( f0 , 1.0, %eps );
+// Check the boundsmin, boundsmax and nbineqconst
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+boundsmin = optimbase_cget ( opt , "-boundsmin" );
+assert_checkequal ( boundsmin , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+boundsmax = optimbase_cget ( opt , "-boundsmax" );
+assert_checkequal ( boundsmax , [5.0 5.0] );
+opt = optimbase_configure ( opt , "-nbineqconst" , 3 );
+nbineqconst = optimbase_cget ( opt , "-nbineqconst" );
+assert_checkequal ( nbineqconst , 3 );
+// Cleanup
+opt = optimbase_destroy(opt);
+
+//
+// Test error cases
+//
+opt = optimbase_new ();
+//
+// Test wrong initial guess
+//
+cmd = "optimbase_configure(opt,''-x0'',[-1.2 1.0; -1.0 1.2])";
+assert_checkerror(cmd,"%s: Wrong size for x0 argument: A vector expected.", [], "optimbase_configure");
+//
+// Test wrong -tolxmethod
+//
+cmd = "optimbase_configure(opt,''-tolxmethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"optimbase_typeboolean","value",3,"string");
+//
+// Test wrong -tolfunmethod
+//
+cmd = "optimbase_configure(opt,''-tolfunmethod'',''foo'')";
+assert_checkerror(cmd,"%s: Expected boolean but for variable %s at input #%d, got %s instead.",[],"optimbase_typeboolean","value",3,"string");
+opt = optimbase_destroy(opt);
+
+//
+// Test outstruct when no -outputcommand is defined
+//
+opt = optimbase_new ();
+cmd = "data = optimbase_outstruct ( opt )";
+assert_checkerror(cmd,"%s: No output command is defined.",[], "optimbase_outstruct");
+opt = optimbase_destroy(opt);
+
+//
+// Test optimbase_cget with unknown key
+//
+opt = optimbase_new ();
+cmd = "value = optimbase_cget (opt,''foo'')";
+assert_checkerror(cmd,"%s: Unknown key %s",[],"optimbase_cget" , "foo");
+opt = optimbase_destroy(opt);
+
+//
+// Test optimbase_get with unknown key
+//
+opt = optimbase_new ();
+cmd = "value = optimbase_get (opt,''foo'')";
+assert_checkerror(cmd,"%s: Unknown key %s",[],"optimbase_get" , "foo");
+opt = optimbase_destroy(opt);
+
+//
+// Test various errors
+//
+opt = optimbase_new ();
+// Test -historyxopt when there is no history
+cmd = "value = optimbase_get (opt,''-historyxopt'')";
+assert_checkerror(cmd,"%s: History disabled ; enable -storehistory option.",[],"optimbase_get");
+// Test -historyfopt when there is no history
+cmd = "value = optimbase_get (opt,''-historyfopt'')";
+assert_checkerror(cmd,"%s: History disabled ; enable -storehistory option.",[],"optimbase_get");
+// Test optimbase_function when there is no function
+cmd = "[ opt , f , index ] = optimbase_function ( opt , [] , %t )";
+assert_checkerror(cmd,"%s: Empty function (use -function option).",[],"optimbase_function");
+// Test optimbase_histget ( this , iter , key ) when there is no history
+cmd = "optimbase_histget ( opt , 1 , ''-xopt'' )";
+assert_checkerror(cmd,"%s: History disabled ; turn on -storehistory option.",[],"optimbase_histget");
+// Test optimbase_histget ( this , iter , key ) with negative iteration
+opt = optimbase_configure ( opt , "-storehistory" , %t );
+cmd = "optimbase_histget ( opt , -1 , ''-xopt'' )";
+assert_checkerror(cmd,"%s: Negative iteration index %d is not allowed.",[],"optimbase_histget",-1);
+// Cleanup
+opt = optimbase_destroy(opt);
+
+//
+// Test the printing system
+//
+opt = optimbase_new ();
+string(opt)
+opt
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.dia.ref b/modules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.dia.ref
new file mode 100755
index 000000000..c36bccb2c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.dia.ref
@@ -0,0 +1,37 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test proj2bnds method
+//
+//
+// Test with bounds
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , p ] = optimbase_proj2bnds ( opt , [0.0 0.0] );
+assert_checkequal ( p , [0.0 0.0] );
+[ opt , p ] = optimbase_proj2bnds ( opt , [-6.0 6.0] );
+Projecting p(1) = -6 on min bound -5
+Projecting p(2) = 6 on max bound 5
+assert_checkequal ( p , [-5.0 5.0] );
+opt = optimbase_destroy(opt);
+//
+// Test without bounds
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+[ opt , p ] = optimbase_proj2bnds ( opt , [0.0 0.0] );
+assert_checkequal ( p , [0.0 0.0] );
+opt = optimbase_destroy(opt);
diff --git a/modules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.tst b/modules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.tst
new file mode 100755
index 000000000..d4ddf9245
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimbase/optimbase_proj2bnds.tst
@@ -0,0 +1,40 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+//
+// Test proj2bnds method
+//
+//
+// Test with bounds
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+opt = optimbase_configure ( opt , "-boundsmin" , [-5.0 -5.0] );
+opt = optimbase_configure ( opt , "-boundsmax" , [5.0 5.0] );
+[ opt , p ] = optimbase_proj2bnds ( opt , [0.0 0.0] );
+assert_checkequal ( p , [0.0 0.0] );
+[ opt , p ] = optimbase_proj2bnds ( opt , [-6.0 6.0] );
+assert_checkequal ( p , [-5.0 5.0] );
+opt = optimbase_destroy(opt);
+//
+// Test without bounds
+//
+opt = optimbase_new ();
+opt = optimbase_configure(opt,"-numberofvariables",2);
+opt = optimbase_configure(opt,"-verbose",1);
+[ opt , p ] = optimbase_proj2bnds ( opt , [0.0 0.0] );
+assert_checkequal ( p , [0.0 0.0] );
+opt = optimbase_destroy(opt);
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.dia.ref
new file mode 100755
index 000000000..6bb278a02
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.dia.ref
@@ -0,0 +1,94 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test with x0 only
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 0. -1.2 1.
+ 0. -0.2 1.
+ 0. -1.2 2.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with function only
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 93.6 -0.2 1.
+ 36.2 -1.2 2.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with a scalar length
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] , rosenbrock , 2.0 );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 13. 0.8 1.
+ 248.2 -1.2 3.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with a vector length
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] , rosenbrock , [1.0 2.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.
+93.6 -0.2 1.
+248.2 -1.2 3.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with a scalar length and an additional object
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+[ s1 , myobj ] = optimsimplex_new ( "axes" , [-1.2 1.0] , mycostf , 1.0, myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+assert_checkequal ( myobj.nb , 3 );
+nbve = optimsimplex_getnbve ( s1 );
+assert_checkequal ( nbve , 3 );
+s1 = optimsimplex_destroy ( s1 );
+// Test with a unconsistent x0 and len
+cmd = "newobj = optimsimplex_new ( ""axes"" , [1 2] , rosenbrock , [1 2 3] )";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror(cmd, instr, [],"optimsimplex_new", 4, 1, 2);
+// Test with a unconsistent x0
+cmd = "newobj = optimsimplex_new ( ""axes"" , [1 2;3 4] , rosenbrock )";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror(cmd,instr,[],"optimsimplex_new",2,1,2);
+// Test with a unconsistent len
+cmd = "newobj = optimsimplex_new ( ""axes"" , [1 2] , rosenbrock , ""foo"" )";
+instr = "%s: Expected real variable for variable %s at input #%d, but got %s instead.";
+assert_checkerror(cmd,instr,[],"assert_typereal", "len" , 1 , "string" );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.tst
new file mode 100755
index 000000000..60d74bf8e
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_axes.tst
@@ -0,0 +1,104 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test with x0 only
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+0. -1.2 1.
+0. -0.2 1.
+0. -1.2 2.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test with function only
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.
+93.6 -0.2 1.
+36.2 -1.2 2.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test with a scalar length
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] , rosenbrock , 2.0 );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.
+13. 0.8 1.
+248.2 -1.2 3.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test with a vector length
+//
+s1 = optimsimplex_new ( "axes" , [-1.2 1.0] , rosenbrock , [1.0 2.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.
+93.6 -0.2 1.
+248.2 -1.2 3.
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test with a scalar length and an additional object
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+[ s1 , myobj ] = optimsimplex_new ( "axes" , [-1.2 1.0] , mycostf , 1.0, myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+assert_checkalmostequal ( computed , expected , 10*%eps );
+assert_checkequal ( myobj.nb , 3 );
+nbve = optimsimplex_getnbve ( s1 );
+assert_checkequal ( nbve , 3 );
+s1 = optimsimplex_destroy ( s1 );
+
+// Test with a unconsistent x0 and len
+cmd = "newobj = optimsimplex_new ( ""axes"" , [1 2] , rosenbrock , [1 2 3] )";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror(cmd, instr, [],"optimsimplex_new", 4, 1, 2);
+
+// Test with a unconsistent x0
+cmd = "newobj = optimsimplex_new ( ""axes"" , [1 2;3 4] , rosenbrock )";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror(cmd,instr,[],"optimsimplex_new",2,1,2);
+
+// Test with a unconsistent len
+cmd = "newobj = optimsimplex_new ( ""axes"" , [1 2] , rosenbrock , ""foo"" )";
+instr = "%s: Expected real variable for variable %s at input #%d, but got %s instead.";
+assert_checkerror(cmd,instr,[],"assert_typereal", "len" , 1 , "string" );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.dia.ref
new file mode 100755
index 000000000..3107295f2
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.dia.ref
@@ -0,0 +1,25 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Check behaviour with default settings.
+//
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+coords = [...
+ 0. 0.
+ 3. 0.
+ 0. 6.
+];
+s1 = optimsimplex_new ( coords );
+sicenter = optimsimplex_center ( s1 );
+assert_checkalmostequal ( sicenter , [1.0 2.0], %eps );
+s1 = optimsimplex_destroy(s1);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.tst
new file mode 100755
index 000000000..5a793ac87
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_center.tst
@@ -0,0 +1,31 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Check behaviour with default settings.
+//
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+coords = [...
+ 0. 0.
+ 3. 0.
+ 0. 6.
+];
+s1 = optimsimplex_new ( coords );
+sicenter = optimsimplex_center ( s1 );
+assert_checkalmostequal ( sicenter , [1.0 2.0], %eps );
+s1 = optimsimplex_destroy(s1);
+
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.dia.ref
new file mode 100755
index 000000000..c601d25d7
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.dia.ref
@@ -0,0 +1,169 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_check.
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0]' );
+optimsimplex_check ( s1 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test with empty simplex
+//
+s1 = optimsimplex_new ();
+optimsimplex_check ( s1 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+ 7. 8.
+ 9. 10.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0]' );
+optimsimplex_check ( s1 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of function values does not match number of vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setnbve(s1,5);
+cmd = "s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0]'' );";
+assert_checkerror ( cmd , "%s: The number of rows in the function value array is %d, while expected %d.",[], "optimsimplex_setallfv" , 4 , 5);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of columns does not match number of vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+ 7. 8.
+];
+cmd = "s1 = optimsimplex_setallx ( s1 , newsimplex );";
+assert_checkerror(cmd,"%s: The number of rows in x is %d, while expected %d.", [],"optimsimplex_setallx" , 4 , 5 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of columns does not match dimension
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+1.0
+3.0
+5.0
+7.0
+8.0
+];
+cmd = "s1 = optimsimplex_setallx ( s1 , newsimplex );";
+assert_checkerror(cmd,"%s: The number of columns in x is %d, while expected %d.", [], "optimsimplex_setallx" , 1 , 2);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : dimension in the x array does not match the value of n
+// because of unconsistent configurations
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 1.
+ 3. 3.
+ 5. 5.
+ 7. 7.
+ 8. 8.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setnbve(s1,6);
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0 8.0]' );
+cmd = "optimsimplex_check ( s1 );";
+assert_checkerror(cmd,"%s: Number of rows of x is %d, which is different from number of vertices = %d.",[],"optimsimplex_check" , 5 , 6);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of vertices in the fv array does not match nbve
+// because of unconsistent configurations
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setnbve(s1,6);
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0 8.0]' );
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 1.
+ 3. 3.
+ 5. 5.
+ 7. 7.
+ 8. 8.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+cmd = "optimsimplex_check ( s1 );";
+assert_checkerror(cmd,"%s: Number of rows of fv is %d, which is different from number of vertices = %d.",[],"optimsimplex_check" , 6 , 5);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : unconsistent number of columns in the fv array
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setnbve(s1,6);
+fv = [
+3.0 3.0
+4.0 4.0
+5.0 5.0
+6.0 6.0
+7.0 7.0
+8.0 8.0
+];
+cmd = "s1 = optimsimplex_setallfv ( s1 , fv );";
+assert_checkerror(cmd,"%s: The number of columns in the function value array is %d, while expected 1.", [],"optimsimplex_setallfv" , 2);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of vertices in the x array does not match nbve
+// because of unconsistent configurations
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0]' );
+newsimplex = [
+ 1. 1.
+ 3. 3.
+ 5. 5.
+ 7. 7.
+ 8. 8.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setn(s1,3);
+cmd = "optimsimplex_check ( s1 );";
+assert_checkerror(cmd,"%s: Number of columns of x is %d, which is different from dimension = %d.",[],"optimsimplex_check" , 2 , 3);
+s1 = optimsimplex_destroy(s1);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.tst
new file mode 100755
index 000000000..526772d71
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_check.tst
@@ -0,0 +1,174 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_check.
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0]' );
+optimsimplex_check ( s1 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test with empty simplex
+//
+s1 = optimsimplex_new ();
+optimsimplex_check ( s1 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+ 7. 8.
+ 9. 10.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0]' );
+optimsimplex_check ( s1 );
+s1 = optimsimplex_destroy(s1);
+
+//
+// Test error case : number of function values does not match number of vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setnbve(s1,5);
+cmd = "s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0]'' );";
+assert_checkerror ( cmd , "%s: The number of rows in the function value array is %d, while expected %d.",[], "optimsimplex_setallfv" , 4 , 5);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of columns does not match number of vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+ 7. 8.
+];
+cmd = "s1 = optimsimplex_setallx ( s1 , newsimplex );";
+assert_checkerror(cmd,"%s: The number of rows in x is %d, while expected %d.", [],"optimsimplex_setallx" , 4 , 5 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of columns does not match dimension
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+1.0
+3.0
+5.0
+7.0
+8.0
+];
+cmd = "s1 = optimsimplex_setallx ( s1 , newsimplex );";
+assert_checkerror(cmd,"%s: The number of columns in x is %d, while expected %d.", [], "optimsimplex_setallx" , 1 , 2);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : dimension in the x array does not match the value of n
+// because of unconsistent configurations
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 1.
+ 3. 3.
+ 5. 5.
+ 7. 7.
+ 8. 8.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setnbve(s1,6);
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0 8.0]' );
+cmd = "optimsimplex_check ( s1 );";
+assert_checkerror(cmd,"%s: Number of rows of x is %d, which is different from number of vertices = %d.",[],"optimsimplex_check" , 5 , 6);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of vertices in the fv array does not match nbve
+// because of unconsistent configurations
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setnbve(s1,6);
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0 8.0]' );
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+newsimplex = [
+ 1. 1.
+ 3. 3.
+ 5. 5.
+ 7. 7.
+ 8. 8.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+cmd = "optimsimplex_check ( s1 );";
+assert_checkerror(cmd,"%s: Number of rows of fv is %d, which is different from number of vertices = %d.",[],"optimsimplex_check" , 6 , 5);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : unconsistent number of columns in the fv array
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setnbve(s1,6);
+fv = [
+3.0 3.0
+4.0 4.0
+5.0 5.0
+6.0 6.0
+7.0 7.0
+8.0 8.0
+];
+cmd = "s1 = optimsimplex_setallfv ( s1 , fv );";
+assert_checkerror(cmd,"%s: The number of columns in the function value array is %d, while expected 1.", [],"optimsimplex_setallfv" , 2);
+s1 = optimsimplex_destroy(s1);
+//
+// Test error case : number of vertices in the x array does not match nbve
+// because of unconsistent configurations
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0]' );
+newsimplex = [
+ 1. 1.
+ 3. 3.
+ 5. 5.
+ 7. 7.
+ 8. 8.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setn(s1,3);
+cmd = "optimsimplex_check ( s1 );";
+assert_checkerror(cmd,"%s: Number of columns of x is %d, which is different from dimension = %d.",[],"optimsimplex_check" , 2 , 3);
+s1 = optimsimplex_destroy(s1);
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.dia.ref
new file mode 100755
index 000000000..7387fa853
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.dia.ref
@@ -0,0 +1,87 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_computefv
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+s1 = optimsimplex_computefv ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is re-computed, as expected.
+expected = [
+1. 0. 0.
+100. 1. 0.
+101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+simplex = [
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+[ s1 , myobj ] = optimsimplex_computefv ( s1 , mycostf , myobj );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is re-computed, as expected.
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 1.0
+12.0 1.0 1.0
+12.0 2.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+s1 = optimsimplex_computefv ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is re-computed, as expected.
+expected = [
+1. 0. 0.
+100. 1. 0.
+101. 0. 1.
+0. 1. 1.
+401. 2. 2.
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.tst
new file mode 100755
index 000000000..8e6221fda
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_computefv.tst
@@ -0,0 +1,93 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_computefv
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+s1 = optimsimplex_computefv ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is re-computed, as expected.
+expected = [
+1. 0. 0.
+100. 1. 0.
+101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+simplex = [
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+[ s1 , myobj ] = optimsimplex_computefv ( s1 , mycostf , myobj );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is re-computed, as expected.
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 1.0
+12.0 1.0 1.0
+12.0 2.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+s1 = optimsimplex_computefv ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is re-computed, as expected.
+expected = [
+1. 0. 0.
+100. 1. 0.
+101. 0. 1.
+0. 1. 1.
+401. 2. 2.
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
+
+
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.dia.ref
new file mode 100755
index 000000000..3df4ce61c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.dia.ref
@@ -0,0 +1,41 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test optimsimplex_deltafv
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+df = optimsimplex_deltafv ( s1 );
+assert_checkalmostequal ( df , [3.0 6.0]' , %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+9. -3.0 2.0
+11. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+df = optimsimplex_deltafv ( s1 );
+assert_checkalmostequal ( df , [3.0 6.0 8.0 10.0]' , %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.tst
new file mode 100755
index 000000000..786709897
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafv.tst
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Test optimsimplex_deltafv
+//
+
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+df = optimsimplex_deltafv ( s1 );
+assert_checkalmostequal ( df , [3.0 6.0]' , %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+9. -3.0 2.0
+11. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+df = optimsimplex_deltafv ( s1 );
+assert_checkalmostequal ( df , [3.0 6.0 8.0 10.0]' , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.dia.ref
new file mode 100755
index 000000000..de6319449
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.dia.ref
@@ -0,0 +1,41 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// optimsimplex_deltafvmax
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+dfm = optimsimplex_deltafvmax ( s1 );
+assert_checkalmostequal ( dfm , 6.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+9. -3.0 2.0
+11. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+dfm = optimsimplex_deltafvmax ( s1 );
+assert_checkalmostequal ( dfm , 10.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.tst
new file mode 100755
index 000000000..94b1b6144
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_deltafvmax.tst
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// optimsimplex_deltafvmax
+//
+
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+dfm = optimsimplex_deltafvmax ( s1 );
+assert_checkalmostequal ( dfm , 6.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+9. -3.0 2.0
+11. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+dfm = optimsimplex_deltafvmax ( s1 );
+assert_checkalmostequal ( dfm , 10.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.dia.ref
new file mode 100755
index 000000000..845f7f0dd
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.dia.ref
@@ -0,0 +1,38 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// Test optimsimplex_dirmat
+// Test with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_dirmat ( s1 );
+assert_checkalmostequal ( m , [1. -1.;2. 1.], %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Test with 5 vertices
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+9. -5.0 3.0
+11. -7.0 4.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_dirmat ( s1 );
+assert_checkalmostequal ( m , [
+1. -1. -3. -5.0
+2. 1. 2.0 3.0
+], %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.tst
new file mode 100755
index 000000000..ac5132329
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_dirmat.tst
@@ -0,0 +1,43 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+// Test optimsimplex_dirmat
+
+// Test with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_dirmat ( s1 );
+assert_checkalmostequal ( m , [1. -1.;2. 1.], %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+// Test with 5 vertices
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+9. -5.0 3.0
+11. -7.0 4.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_dirmat ( s1 );
+assert_checkalmostequal ( m , [
+1. -1. -3. -5.0
+2. 1. 2.0 3.0
+], %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.dia.ref
new file mode 100755
index 000000000..9762cca2f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.dia.ref
@@ -0,0 +1,35 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// Test optimsimplex_fvmean
+// Test with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_fvmean ( s1 );
+assert_checkalmostequal ( m , 51.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Test with 5 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+37. -3.0 2.0
+38. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_fvmean ( s1 );
+assert_checkalmostequal ( m , 45.6 , %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.tst
new file mode 100755
index 000000000..e34b537be
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvmean.tst
@@ -0,0 +1,40 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+// Test optimsimplex_fvmean
+
+// Test with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_fvmean ( s1 );
+assert_checkalmostequal ( m , 51.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+// Test with 5 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+37. -3.0 2.0
+38. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+m = optimsimplex_fvmean ( s1 );
+assert_checkalmostequal ( m , 45.6 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.dia.ref
new file mode 100755
index 000000000..1f8eb06c9
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.dia.ref
@@ -0,0 +1,34 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// Test optimsimplex_fvstdev with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+sd = optimsimplex_fvstdev ( s1 );
+assert_checkalmostequal ( sd , 3.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Test optimsimplex_fvstdev with 5 vertices
+s1 = optimsimplex_new ();
+simplex = [
+4. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+10. -3.0 2.0
+10. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+sd = optimsimplex_fvstdev ( s1 );
+assert_checkalmostequal ( sd , 3.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.tst
new file mode 100755
index 000000000..2c6c1652f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvstdev.tst
@@ -0,0 +1,38 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+// Test optimsimplex_fvstdev with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+sd = optimsimplex_fvstdev ( s1 );
+assert_checkalmostequal ( sd , 3.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+// Test optimsimplex_fvstdev with 5 vertices
+s1 = optimsimplex_new ();
+simplex = [
+4. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+10. -3.0 2.0
+10. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+sd = optimsimplex_fvstdev ( s1 );
+assert_checkalmostequal ( sd , 3.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.dia.ref
new file mode 100755
index 000000000..db1d36fb7
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.dia.ref
@@ -0,0 +1,23 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+computed = optimsimplex_fvvariance ( s1 );
+assert_checkalmostequal ( computed , 9.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.tst
new file mode 100755
index 000000000..0d24e7ea6
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_fvvariance.tst
@@ -0,0 +1,27 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+computed = optimsimplex_fvvariance ( s1 );
+assert_checkalmostequal ( computed , 9.0 , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.dia.ref
new file mode 100755
index 000000000..40cf98193
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.dia.ref
@@ -0,0 +1,256 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_new, optimsimplex_destroy, optimsimplex_setn, optimsimplex_setx, optimsimplex_setfv,
+// optimsimplex_getn, optimsimplex_getx, optimsimplex_getfv
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setx(s1,1,[0.0 0.0]);
+s1 = optimsimplex_setfv(s1,1,12.0);
+s1 = optimsimplex_setx(s1,2,[1.0 0.0]);
+s1 = optimsimplex_setfv(s1,2,13.0);
+s1 = optimsimplex_setx(s1,3,[0.0 2.0]);
+s1 = optimsimplex_setfv(s1,3,14.0);
+// Now check the data
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getx( s1 , 1);
+assert_checkequal ( computed , [0.0 0.0] );
+computed = optimsimplex_getx( s1 , 2);
+assert_checkequal ( computed , [1.0 0.0] );
+computed = optimsimplex_getx( s1 , 3);
+assert_checkequal ( computed , [0.0 2.0] );
+computed = optimsimplex_getfv( s1 , 1);
+assert_checkequal ( computed , 12.0 );
+computed = optimsimplex_getfv( s1 , 2);
+assert_checkequal ( computed , 13.0 );
+computed = optimsimplex_getfv( s1 , 3);
+assert_checkequal ( computed , 14.0 );
+// Print the simplex
+disp ( s1 );
+
+Optim Simplex Object:
+=====================
+nbve: 3
+n: 2
+x: 3-by-2 matrix
+fv: 3-by-1 matrix
+// We are done !
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_setallx, optimsimplex_setallfv, optimsimplex_getallx, optimsimplex_getallfv.
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setx(s1,1,[0.0 0.0]);
+s1 = optimsimplex_setfv(s1,1,12.0);
+s1 = optimsimplex_setx(s1,2,[1.0 0.0]);
+s1 = optimsimplex_setfv(s1,2,13.0);
+s1 = optimsimplex_setx(s1,3,[0.0 2.0]);
+s1 = optimsimplex_setfv(s1,3,14.0);
+// Now check the data
+computed = optimsimplex_getallx (s1);
+expected = [
+0.0 0.0
+1.0 0.0
+0.0 2.0];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [12.0 13.0 14.0]' );
+// setallx, setallfv
+newsimplex = [
+1.0 2.0
+3.0 4.0
+5.0 6.0];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+computed = optimsimplex_getallx (s1);
+assert_checkequal ( computed , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0]' );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [3.0 4.0 5.0]' );
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_setve, optimsimplex_getve
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setve ( s1 , 1 , 13.0 , [0.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 2 , 14.0 , [1.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 3 , 15.0 , [0.0 2.0] );
+computed = optimsimplex_getallx ( s1 );
+expected = [
+0.0 0.0
+1.0 0.0
+0.0 2.0];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getallfv ( s1 );
+assert_checkequal ( computed , [13.0 14.0 15.0]' );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [0.0 0.0] );
+assert_checkequal ( ve1.fv , 13.0 );
+ve2 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve2.n , 2 );
+assert_checkequal ( ve2.x , [1.0 0.0] );
+assert_checkequal ( ve2.fv , 14.0 );
+ve3 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve3.n , 2 );
+assert_checkequal ( ve3.x , [0.0 2.0] );
+assert_checkequal ( ve3.fv , 15.0 );
+s1 = optimsimplex_destroy(s1);
+//
+// optimsimplex_getall, optimsimplex_setall
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setve ( s1 , 1 , 13.0 , [0.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 2 , 14.0 , [1.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 3 , 15.0 , [0.0 2.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 13. 0. 0.
+ 14. 1. 0.
+ 15. 0. 2.
+];
+assert_checkequal ( computed , expected );
+simplex = [
+10.0 1.0 2.0
+11.0 3.0 4.0
+12.0 5.0 6.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [1.0 2.0] );
+assert_checkequal ( ve1.fv , 10.0 );
+ve1 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [3.0 4.0] );
+assert_checkequal ( ve1.fv , 11.0 );
+ve1 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [5.0 6.0] );
+assert_checkequal ( ve1.fv , 12.0 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test setall with wrong simplex :
+// there are 3 parameters => 4 columns
+// but there is only 3 vertices, while the minimum would be 4.
+//
+s1 = optimsimplex_new ();
+simplex = [
+10.0 1.0 2.0 12.0
+11.0 3.0 4.0 12.0
+12.0 5.0 6.0 12.0
+];
+cmd = "s1 = optimsimplex_setall ( s1 , simplex );";
+assert_checkerror ( cmd , "%s: The number of vertices (i.e. the number of rows) is %d which is smaller than the number of columns %d (i.e. n+1)." , [], "optimsimplex_setall",3,4);
+s1 = optimsimplex_destroy(s1);
+//
+// optimsimplex_getall, optimsimplex_setall with 5 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve(s1, 5 );
+s1 = optimsimplex_setve ( s1 , 1 , 13.0 , [0.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 2 , 14.0 , [1.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 3 , 15.0 , [0.0 2.0] );
+s1 = optimsimplex_setve ( s1 , 4 , 16.0 , [1.0 3.0] );
+s1 = optimsimplex_setve ( s1 , 5 , 17.0 , [2.0 4.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 13. 0. 0.
+ 14. 1. 0.
+ 15. 0. 2.
+ 16. 1. 3.
+ 17. 2. 4.
+];
+assert_checkequal ( computed , expected );
+simplex = [
+10.0 1.0 2.0
+11.0 3.0 4.0
+12.0 5.0 6.0
+13.0 6.0 7.0
+14.0 7.0 8.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [1.0 2.0] );
+assert_checkequal ( ve1.fv , 10.0 );
+ve1 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [3.0 4.0] );
+assert_checkequal ( ve1.fv , 11.0 );
+ve1 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [5.0 6.0] );
+assert_checkequal ( ve1.fv , 12.0 );
+ve1 = optimsimplex_getve ( s1 , 4 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [6.0 7.0] );
+assert_checkequal ( ve1.fv , 13.0 );
+ve1 = optimsimplex_getve ( s1 , 5 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [7.0 8.0] );
+assert_checkequal ( ve1.fv , 14.0 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_setallx, optimsimplex_setallfv, optimsimplex_getallx, optimsimplex_getallfv with 5 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+s1 = optimsimplex_setx ( s1 , 1 , [0.0 0.0]);
+s1 = optimsimplex_setfv ( s1 , 1 , 12.0);
+s1 = optimsimplex_setx ( s1 , 2 , [1.0 0.0]);
+s1 = optimsimplex_setfv ( s1 , 2 , 13.0);
+s1 = optimsimplex_setx ( s1 , 3 , [0.0 2.0]);
+s1 = optimsimplex_setfv ( s1 , 3 , 14.0);
+s1 = optimsimplex_setx ( s1 , 4 , [1.0 3.0]);
+s1 = optimsimplex_setfv ( s1 , 4 , 15.0);
+s1 = optimsimplex_setx ( s1 , 5 , [2.0 4.0]);
+s1 = optimsimplex_setfv ( s1 , 5 , 16.0);
+// Now check the data
+computed = optimsimplex_getallx (s1);
+expected = [
+ 0. 0.
+ 1. 0.
+ 0. 2.
+ 1. 3.
+ 2. 4.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [12.0 13.0 14.0 15.0 16.0]' );
+// setallx, setallfv
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+ 7. 8.
+ 9. 10.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+computed = optimsimplex_getallx (s1);
+assert_checkequal ( computed , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0]' );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [3.0 4.0 5.0 6.0 7.0]' );
+s1 = optimsimplex_destroy(s1);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.tst
new file mode 100755
index 000000000..a6f39ab12
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_getset.tst
@@ -0,0 +1,256 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_new, optimsimplex_destroy, optimsimplex_setn, optimsimplex_setx, optimsimplex_setfv,
+// optimsimplex_getn, optimsimplex_getx, optimsimplex_getfv
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setx(s1,1,[0.0 0.0]);
+s1 = optimsimplex_setfv(s1,1,12.0);
+s1 = optimsimplex_setx(s1,2,[1.0 0.0]);
+s1 = optimsimplex_setfv(s1,2,13.0);
+s1 = optimsimplex_setx(s1,3,[0.0 2.0]);
+s1 = optimsimplex_setfv(s1,3,14.0);
+// Now check the data
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getx( s1 , 1);
+assert_checkequal ( computed , [0.0 0.0] );
+computed = optimsimplex_getx( s1 , 2);
+assert_checkequal ( computed , [1.0 0.0] );
+computed = optimsimplex_getx( s1 , 3);
+assert_checkequal ( computed , [0.0 2.0] );
+computed = optimsimplex_getfv( s1 , 1);
+assert_checkequal ( computed , 12.0 );
+computed = optimsimplex_getfv( s1 , 2);
+assert_checkequal ( computed , 13.0 );
+computed = optimsimplex_getfv( s1 , 3);
+assert_checkequal ( computed , 14.0 );
+// Print the simplex
+disp ( s1 );
+// We are done !
+s1 = optimsimplex_destroy(s1);
+
+//
+// Test optimsimplex_setallx, optimsimplex_setallfv, optimsimplex_getallx, optimsimplex_getallfv.
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setx(s1,1,[0.0 0.0]);
+s1 = optimsimplex_setfv(s1,1,12.0);
+s1 = optimsimplex_setx(s1,2,[1.0 0.0]);
+s1 = optimsimplex_setfv(s1,2,13.0);
+s1 = optimsimplex_setx(s1,3,[0.0 2.0]);
+s1 = optimsimplex_setfv(s1,3,14.0);
+// Now check the data
+computed = optimsimplex_getallx (s1);
+expected = [
+0.0 0.0
+1.0 0.0
+0.0 2.0];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [12.0 13.0 14.0]' );
+// setallx, setallfv
+newsimplex = [
+1.0 2.0
+3.0 4.0
+5.0 6.0];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+computed = optimsimplex_getallx (s1);
+assert_checkequal ( computed , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0]' );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [3.0 4.0 5.0]' );
+s1 = optimsimplex_destroy(s1);
+
+//
+// Test optimsimplex_setve, optimsimplex_getve
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setve ( s1 , 1 , 13.0 , [0.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 2 , 14.0 , [1.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 3 , 15.0 , [0.0 2.0] );
+computed = optimsimplex_getallx ( s1 );
+expected = [
+0.0 0.0
+1.0 0.0
+0.0 2.0];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getallfv ( s1 );
+assert_checkequal ( computed , [13.0 14.0 15.0]' );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [0.0 0.0] );
+assert_checkequal ( ve1.fv , 13.0 );
+ve2 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve2.n , 2 );
+assert_checkequal ( ve2.x , [1.0 0.0] );
+assert_checkequal ( ve2.fv , 14.0 );
+ve3 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve3.n , 2 );
+assert_checkequal ( ve3.x , [0.0 2.0] );
+assert_checkequal ( ve3.fv , 15.0 );
+s1 = optimsimplex_destroy(s1);
+//
+// optimsimplex_getall, optimsimplex_setall
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve(s1,3);
+s1 = optimsimplex_setve ( s1 , 1 , 13.0 , [0.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 2 , 14.0 , [1.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 3 , 15.0 , [0.0 2.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 13. 0. 0.
+ 14. 1. 0.
+ 15. 0. 2.
+];
+assert_checkequal ( computed , expected );
+simplex = [
+10.0 1.0 2.0
+11.0 3.0 4.0
+12.0 5.0 6.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [1.0 2.0] );
+assert_checkequal ( ve1.fv , 10.0 );
+ve1 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [3.0 4.0] );
+assert_checkequal ( ve1.fv , 11.0 );
+ve1 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [5.0 6.0] );
+assert_checkequal ( ve1.fv , 12.0 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test setall with wrong simplex :
+// there are 3 parameters => 4 columns
+// but there is only 3 vertices, while the minimum would be 4.
+//
+s1 = optimsimplex_new ();
+simplex = [
+10.0 1.0 2.0 12.0
+11.0 3.0 4.0 12.0
+12.0 5.0 6.0 12.0
+];
+cmd = "s1 = optimsimplex_setall ( s1 , simplex );";
+assert_checkerror ( cmd , "%s: The number of vertices (i.e. the number of rows) is %d which is smaller than the number of columns %d (i.e. n+1)." , [], "optimsimplex_setall",3,4);
+s1 = optimsimplex_destroy(s1);
+
+//
+// optimsimplex_getall, optimsimplex_setall with 5 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve(s1, 5 );
+s1 = optimsimplex_setve ( s1 , 1 , 13.0 , [0.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 2 , 14.0 , [1.0 0.0] );
+s1 = optimsimplex_setve ( s1 , 3 , 15.0 , [0.0 2.0] );
+s1 = optimsimplex_setve ( s1 , 4 , 16.0 , [1.0 3.0] );
+s1 = optimsimplex_setve ( s1 , 5 , 17.0 , [2.0 4.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 13. 0. 0.
+ 14. 1. 0.
+ 15. 0. 2.
+ 16. 1. 3.
+ 17. 2. 4.
+];
+assert_checkequal ( computed , expected );
+simplex = [
+10.0 1.0 2.0
+11.0 3.0 4.0
+12.0 5.0 6.0
+13.0 6.0 7.0
+14.0 7.0 8.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [1.0 2.0] );
+assert_checkequal ( ve1.fv , 10.0 );
+ve1 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [3.0 4.0] );
+assert_checkequal ( ve1.fv , 11.0 );
+ve1 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [5.0 6.0] );
+assert_checkequal ( ve1.fv , 12.0 );
+ve1 = optimsimplex_getve ( s1 , 4 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [6.0 7.0] );
+assert_checkequal ( ve1.fv , 13.0 );
+ve1 = optimsimplex_getve ( s1 , 5 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [7.0 8.0] );
+assert_checkequal ( ve1.fv , 14.0 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_setallx, optimsimplex_setallfv, optimsimplex_getallx, optimsimplex_getallfv with 5 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,5);
+s1 = optimsimplex_setx ( s1 , 1 , [0.0 0.0]);
+s1 = optimsimplex_setfv ( s1 , 1 , 12.0);
+s1 = optimsimplex_setx ( s1 , 2 , [1.0 0.0]);
+s1 = optimsimplex_setfv ( s1 , 2 , 13.0);
+s1 = optimsimplex_setx ( s1 , 3 , [0.0 2.0]);
+s1 = optimsimplex_setfv ( s1 , 3 , 14.0);
+s1 = optimsimplex_setx ( s1 , 4 , [1.0 3.0]);
+s1 = optimsimplex_setfv ( s1 , 4 , 15.0);
+s1 = optimsimplex_setx ( s1 , 5 , [2.0 4.0]);
+s1 = optimsimplex_setfv ( s1 , 5 , 16.0);
+// Now check the data
+computed = optimsimplex_getallx (s1);
+expected = [
+ 0. 0.
+ 1. 0.
+ 0. 2.
+ 1. 3.
+ 2. 4.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [12.0 13.0 14.0 15.0 16.0]' );
+// setallx, setallfv
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+ 7. 8.
+ 9. 10.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+computed = optimsimplex_getallx (s1);
+assert_checkequal ( computed , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [3.0 4.0 5.0 6.0 7.0]' );
+computed = optimsimplex_getallfv (s1);
+assert_checkequal ( computed , [3.0 4.0 5.0 6.0 7.0]' );
+s1 = optimsimplex_destroy(s1);
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.dia.ref
new file mode 100755
index 000000000..b3b43302d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.dia.ref
@@ -0,0 +1,53 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+// Forward
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+computed = optimsimplex_gradientfv ( s1 );
+assert_checkalmostequal ( computed , [-3.0 3.0]' , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Centered
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+computed = optimsimplex_gradientfv ( s1 , method = "centered" , fun = rosenbrock );
+assert_checkalmostequal ( computed , [-1636.3333333333333 -1684.8333333333333]' , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Centered with additional arguments
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+[ computed , myobj ] = optimsimplex_gradientfv ( s1 , method = "centered" , fun = mycostf , data = myobj );
+assert_checkalmostequal ( computed , [-1636.3333333333333 -1684.8333333333333]' , 10 * %eps );
+assert_checkequal ( myobj.nb , 2 );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.tst
new file mode 100755
index 000000000..92a26967b
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_gradientfv.tst
@@ -0,0 +1,57 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+// Forward
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+computed = optimsimplex_gradientfv ( s1 );
+assert_checkalmostequal ( computed , [-3.0 3.0]' , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Centered
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+computed = optimsimplex_gradientfv ( s1 , method = "centered" , fun = rosenbrock );
+assert_checkalmostequal ( computed , [-1636.3333333333333 -1684.8333333333333]' , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Centered with additional arguments
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+simplex = [
+1. -2.0 1.0
+4. -1.0 3.0
+7. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+[ computed , myobj ] = optimsimplex_gradientfv ( s1 , method = "centered" , fun = mycostf , data = myobj );
+assert_checkalmostequal ( computed , [-1636.3333333333333 -1684.8333333333333]' , 10 * %eps );
+assert_checkequal ( myobj.nb , 2 );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.dia.ref
new file mode 100755
index 000000000..903bb3c55
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.dia.ref
@@ -0,0 +1,185 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_new with a matrix of coordinates
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+s1 = optimsimplex_new ( coords );
+computed = optimsimplex_getallx ( s1 );
+expected = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 3 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_new with a matrix of coordinates and
+// a function
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+s1 = optimsimplex_new ( coords , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 3 );
+s1 = optimsimplex_destroy(s1);
+//
+// Test with a function which has an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+[ s1 , myobj ] = optimsimplex_new ( coords , mycostf , myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+assert_checkequal ( myobj.nb , 3 );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 3 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test optimsimplex_new with a matrix of coordinates made of k=5 vertices
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+ 0. 1. 1.
+ 401. 2. 2.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 5 );
+s1 = optimsimplex_destroy(s1);
+// Check printing system
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords , rosenbrock );
+string(s1)
+ ans =
+
+!Optim Simplex Object: !
+! !
+!===================== !
+! !
+!nbve: 5 !
+! !
+!n: 2 !
+! !
+!x: 5-by-2 matrix !
+! !
+!fv: 5-by-1 matrix !
+s1
+ s1 =
+
+Optim Simplex Object:
+=====================
+nbve: 5
+n: 2
+x: 5-by-2 matrix
+fv: 5-by-1 matrix
+s1 = optimsimplex_destroy(s1);
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords );
+s1
+ s1 =
+
+Optim Simplex Object:
+=====================
+nbve: 5
+n: 2
+x: 5-by-2 matrix
+fv: [] matrix
+s1 = optimsimplex_destroy(s1);
+// Check with empty function
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords , [] )
+ s1 =
+
+Optim Simplex Object:
+=====================
+nbve: 5
+n: 2
+x: 5-by-2 matrix
+fv: [] matrix
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 5 );
+computed = optimsimplex_getallx(s1);
+assert_checkequal ( computed , coords );
+s1 = optimsimplex_destroy(s1);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.tst
new file mode 100755
index 000000000..c7c0daeee
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_new.tst
@@ -0,0 +1,157 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+// <-- CLI SHELL MODE -->
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_new with a matrix of coordinates
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+s1 = optimsimplex_new ( coords );
+computed = optimsimplex_getallx ( s1 );
+expected = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 3 );
+s1 = optimsimplex_destroy(s1);
+
+//
+// Test optimsimplex_new with a matrix of coordinates and
+// a function
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+s1 = optimsimplex_new ( coords , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 3 );
+s1 = optimsimplex_destroy(s1);
+
+//
+// Test with a function which has an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+[ s1 , myobj ] = optimsimplex_new ( coords , mycostf , myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+];
+assert_checkequal ( computed , expected );
+assert_checkequal ( myobj.nb , 3 );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 3 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test optimsimplex_new with a matrix of coordinates made of k=5 vertices
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 1. 0. 0.
+ 100. 1. 0.
+ 101. 0. 1.
+ 0. 1. 1.
+ 401. 2. 2.
+];
+assert_checkequal ( computed , expected );
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 5 );
+s1 = optimsimplex_destroy(s1);
+
+// Check printing system
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords , rosenbrock );
+string(s1)
+s1
+s1 = optimsimplex_destroy(s1);
+//
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords );
+s1
+s1 = optimsimplex_destroy(s1);
+
+// Check with empty function
+coords = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+ 1. 1.
+ 2. 2.
+];
+s1 = optimsimplex_new ( coords , [] )
+computed = optimsimplex_getn(s1);
+assert_checkequal ( computed , 2 );
+computed = optimsimplex_getnbve (s1);
+assert_checkequal ( computed , 5 );
+computed = optimsimplex_getallx(s1);
+assert_checkequal ( computed , coords );
+s1 = optimsimplex_destroy(s1);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.dia.ref
new file mode 100755
index 000000000..bcf0b6225
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.dia.ref
@@ -0,0 +1,76 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+// With base simplex and no function
+simplex = [...
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+s2 = optimsimplex_new ( "oriented" , s1 );
+computed = optimsimplex_getall ( s2 );
+expected = [...
+24.2 -1.2 1.0
+0.0 -1.7 1.0
+0.0 -1.2 0.5
+];
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy(s1);
+s2 = optimsimplex_destroy(s2);
+// With basic function
+simplex = [...
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+s2 = optimsimplex_new ( "oriented" , s1 , rosenbrock );
+computed = optimsimplex_getall ( s2 );
+expected = [...
+24.2 -1.2 1.0
+364.5 -1.7 1.0
+93.2 -1.2 0.5
+];
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy(s1);
+s2 = optimsimplex_destroy(s2);
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+simplex = [...
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+[s2,myobj] = optimsimplex_new ( "oriented" , s1 , mycostf , myobj );
+computed = optimsimplex_getall ( s2 );
+expected = [...
+24.2 -1.2 1.0
+364.5 -1.7 1.0
+93.2 -1.2 0.5
+];
+assert_checkalmostequal ( computed , expected , %eps );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy(s1);
+s2 = optimsimplex_destroy(s2);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.tst
new file mode 100755
index 000000000..495ac93fb
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_oriented.tst
@@ -0,0 +1,82 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+// With base simplex and no function
+simplex = [...
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+s2 = optimsimplex_new ( "oriented" , s1 );
+computed = optimsimplex_getall ( s2 );
+expected = [...
+24.2 -1.2 1.0
+0.0 -1.7 1.0
+0.0 -1.2 0.5
+];
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy(s1);
+s2 = optimsimplex_destroy(s2);
+
+// With basic function
+simplex = [...
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+s2 = optimsimplex_new ( "oriented" , s1 , rosenbrock );
+computed = optimsimplex_getall ( s2 );
+expected = [...
+24.2 -1.2 1.0
+364.5 -1.7 1.0
+93.2 -1.2 0.5
+];
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy(s1);
+s2 = optimsimplex_destroy(s2);
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+simplex = [...
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+[s2,myobj] = optimsimplex_new ( "oriented" , s1 , mycostf , myobj );
+computed = optimsimplex_getall ( s2 );
+expected = [...
+24.2 -1.2 1.0
+364.5 -1.7 1.0
+93.2 -1.2 0.5
+];
+assert_checkalmostequal ( computed , expected , %eps );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy(s1);
+s2 = optimsimplex_destroy(s2);
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.dia.ref
new file mode 100755
index 000000000..583dafb60
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.dia.ref
@@ -0,0 +1,68 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Pfeffer, case with x0 only
+//
+s1 = optimsimplex_new ( "pfeffer" , [-1.2 0.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 0.0 -1.2 0.
+ 0.0 -1.26 0.
+ 0.0 -1.2 0.0075
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Pfeffer, case with x0 and function
+//
+s1 = optimsimplex_new ( "pfeffer" , [-1.2 0.0] , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 212.2 -1.2 0.
+ 257.15498 -1.26 0.
+ 210.04562 -1.2 0.0075
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Pfeffer, case with specified deltas
+//
+s1 = optimsimplex_new ( "pfeffer" , [-1.2 0.0] , rosenbrock , 0.1 , 0.01 );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 212.2 -1.2 0.
+ 308.97818 -1.32 0.
+ 209.33 -1.2 0.01
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Case with additional object
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+[ s1 , myobj ] = optimsimplex_new ( "pfeffer" , [-1.2 1.0] , mycostf , 0.05 , 0.0075 , myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 39.634976 -1.26 1.
+ 20.05 -1.2 1.05
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.tst
new file mode 100755
index 000000000..8738a8acc
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_pfeffer.tst
@@ -0,0 +1,77 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Pfeffer, case with x0 only
+//
+s1 = optimsimplex_new ( "pfeffer" , [-1.2 0.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+0.0 -1.2 0.
+0.0 -1.26 0.
+0.0 -1.2 0.0075
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Pfeffer, case with x0 and function
+//
+s1 = optimsimplex_new ( "pfeffer" , [-1.2 0.0] , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+212.2 -1.2 0.
+257.15498 -1.26 0.
+210.04562 -1.2 0.0075
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Pfeffer, case with specified deltas
+//
+s1 = optimsimplex_new ( "pfeffer" , [-1.2 0.0] , rosenbrock , 0.1 , 0.01 );
+computed = optimsimplex_getall ( s1 );
+expected = [
+212.2 -1.2 0.
+308.97818 -1.32 0.
+209.33 -1.2 0.01
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Case with additional object
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+[ s1 , myobj ] = optimsimplex_new ( "pfeffer" , [-1.2 1.0] , mycostf , 0.05 , 0.0075 , myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.2 -1.2 1.
+39.634976 -1.26 1.
+20.05 -1.2 1.05
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy ( s1 );
+
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.dia.ref
new file mode 100755
index 000000000..4a00fe303
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.dia.ref
@@ -0,0 +1,95 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test randbounds with default number of vertices
+//
+rand("seed" , 0)
+s1 = optimsimplex_new ( "randbounds" , [-1.2 1.0], rosenbrock, ...
+ [-5.0 -5.0] , [5.0 5.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.19999999999999573674 -1.1999999999999999555911 1.
+ 3347.7382596240795464837 -2.8867513453587889671326 2.5604385416954755783081
+ 71189.511402687028748915 -4.9977886537089943885803 -1.69672908261418342590
+]
+ expected =
+
+ 24.2 - 1.2 1.
+ 3347.7383 - 2.8867513 2.5604385
+ 71189.511 - 4.9977887 - 1.6967291
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test randbounds with 5 vertices
+//
+rand("seed" , 0)
+s1 = optimsimplex_new ( "randbounds" , [-1.2 1.0], rosenbrock, ...
+ [-5.0 -5.0] , [5.0 5.0], 5 );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.19999999999999573674 -1.1999999999999999555911 1.
+ 3347.7382596240795464837 -2.8867513453587889671326 2.5604385416954755783081
+ 71189.511402687028748915 -4.9977886537089943885803 -1.69672908261418342590
+ 211.01779965627284241236 1.6538110421970486640930 1.2839178834110498428345
+ 10770.01508687966997968 3.497452358715236186981 1.857310198247432708740
+];
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test optimsimplex_randbounds
+//
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+//
+// Test randbounds with additional object
+//
+mydude = tlist(["T_MYSTUFF","nb"]);
+mydude.nb = 0;
+s1 = optimsimplex_new ();
+rand("seed" , 0)
+[ s1 , mydude ] = optimsimplex_new ( "randbounds" , [-1.2 1.0], mycostf, ...
+ [-5.0 -5.0] , [5.0 5.0], 5 , mydude );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.19999999999999573674 -1.1999999999999999555911 1.
+ 3347.7382596240795464837 -2.8867513453587889671326 2.5604385416954755783081
+ 71189.511402687028748915 -4.9977886537089943885803 -1.69672908261418342590
+ 211.01779965627284241236 1.6538110421970486640930 1.2839178834110498428345
+ 10770.01508687966997968 3.497452358715236186981 1.857310198247432708740
+]
+ expected =
+
+ 24.2 - 1.2 1.
+ 3347.7383 - 2.8867513 2.5604385
+ 71189.511 - 4.9977887 - 1.6967291
+ 211.0178 1.653811 1.2839179
+ 10770.015 3.4974524 1.8573102
+assert_checkequal ( mydude.nb , 5 );
+s1 = optimsimplex_destroy ( s1 );
+// Test unconsistent size of boundsmin
+x0 = [1 2];
+boundsmin = [-5 -5 -5];
+boundsmax = [5 5];
+cmd = "newobj = optimsimplex_new ( ""randbounds"" , x0 , rosenbrock , boundsmin , boundsmax );";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror ( cmd , instr,[],"optimsimplex_new",4,1,2);
+// Test unconsistent size of boundsmax
+x0 = [1 2];
+boundsmin = [-5 -5];
+boundsmax = [5 5 5];
+cmd = "newobj = optimsimplex_new ( ""randbounds"" , x0 , rosenbrock , boundsmin , boundsmax );";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror ( cmd , instr,[],"optimsimplex_new",5,1,2);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.tst
new file mode 100755
index 000000000..38c614b13
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.tst
@@ -0,0 +1,92 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test randbounds with default number of vertices
+//
+rand("seed" , 0)
+s1 = optimsimplex_new ( "randbounds" , [-1.2 1.0], rosenbrock, ...
+[-5.0 -5.0] , [5.0 5.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.19999999999999573674 -1.1999999999999999555911 1.
+3347.7382596240795464837 -2.8867513453587889671326 2.5604385416954755783081
+71189.511402687028748915 -4.9977886537089943885803 -1.69672908261418342590
+]
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test randbounds with 5 vertices
+//
+rand("seed" , 0)
+s1 = optimsimplex_new ( "randbounds" , [-1.2 1.0], rosenbrock, ...
+[-5.0 -5.0] , [5.0 5.0], 5 );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.19999999999999573674 -1.1999999999999999555911 1.
+3347.7382596240795464837 -2.8867513453587889671326 2.5604385416954755783081
+71189.511402687028748915 -4.9977886537089943885803 -1.69672908261418342590
+211.01779965627284241236 1.6538110421970486640930 1.2839178834110498428345
+10770.01508687966997968 3.497452358715236186981 1.857310198247432708740
+];
+assert_checkalmostequal ( computed , expected , %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test optimsimplex_randbounds
+//
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+
+//
+// Test randbounds with additional object
+//
+mydude = tlist(["T_MYSTUFF","nb"]);
+mydude.nb = 0;
+s1 = optimsimplex_new ();
+rand("seed" , 0)
+[ s1 , mydude ] = optimsimplex_new ( "randbounds" , [-1.2 1.0], mycostf, ...
+[-5.0 -5.0] , [5.0 5.0], 5 , mydude );
+computed = optimsimplex_getall ( s1 );
+expected = [
+24.19999999999999573674 -1.1999999999999999555911 1.
+3347.7382596240795464837 -2.8867513453587889671326 2.5604385416954755783081
+71189.511402687028748915 -4.9977886537089943885803 -1.69672908261418342590
+211.01779965627284241236 1.6538110421970486640930 1.2839178834110498428345
+10770.01508687966997968 3.497452358715236186981 1.857310198247432708740
+]
+assert_checkequal ( mydude.nb , 5 );
+s1 = optimsimplex_destroy ( s1 );
+
+// Test unconsistent size of boundsmin
+x0 = [1 2];
+boundsmin = [-5 -5 -5];
+boundsmax = [5 5];
+cmd = "newobj = optimsimplex_new ( ""randbounds"" , x0 , rosenbrock , boundsmin , boundsmax );";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror ( cmd , instr,[],"optimsimplex_new",4,1,2);
+
+// Test unconsistent size of boundsmax
+x0 = [1 2];
+boundsmin = [-5 -5];
+boundsmax = [5 5 5];
+cmd = "newobj = optimsimplex_new ( ""randbounds"" , x0 , rosenbrock , boundsmin , boundsmax );";
+instr = "%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n";
+assert_checkerror ( cmd , instr,[],"optimsimplex_new",5,1,2);
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.dia.ref
new file mode 100755
index 000000000..c6ab8d649
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.dia.ref
@@ -0,0 +1,87 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_reflect
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+r = optimsimplex_reflect ( s1 , rosenbrock );
+computed = optimsimplex_getall ( r );
+expected = [
+24.2 -1.2 1.0
+1484.8 -2.2 1.0
+212.2 -1.2 0.0
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+r = optimsimplex_destroy ( r );
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+[ r , myobj ] = optimsimplex_reflect ( s1 , mycostf , myobj );
+computed = optimsimplex_getall ( r );
+expected = [
+24.2 -1.2 1.0
+1484.8 -2.2 1.0
+212.2 -1.2 0.0
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+assert_checkequal ( myobj.nb , 2 );
+s1 = optimsimplex_destroy ( s1 );
+r = optimsimplex_destroy ( r );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+12.0 -2.0 -2.0
+24.0 -4.0 4.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+r = optimsimplex_reflect ( s1 , rosenbrock );
+computed = optimsimplex_getall ( r );
+expected = [
+ 24.2 -1.2 1.
+ 1484.8 -2.2 1.
+ 212.2 -1.2 0.
+ 1476.52 -0.4 4.
+ 2079.72 1.6 -2.
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+r = optimsimplex_destroy ( r );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.tst
new file mode 100755
index 000000000..648d660be
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_reflect.tst
@@ -0,0 +1,95 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_reflect
+//
+
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+r = optimsimplex_reflect ( s1 , rosenbrock );
+computed = optimsimplex_getall ( r );
+expected = [
+24.2 -1.2 1.0
+1484.8 -2.2 1.0
+212.2 -1.2 0.0
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+r = optimsimplex_destroy ( r );
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+[ r , myobj ] = optimsimplex_reflect ( s1 , mycostf , myobj );
+computed = optimsimplex_getall ( r );
+expected = [
+24.2 -1.2 1.0
+1484.8 -2.2 1.0
+212.2 -1.2 0.0
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+assert_checkequal ( myobj.nb , 2 );
+s1 = optimsimplex_destroy ( s1 );
+r = optimsimplex_destroy ( r );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+93.6 -0.2 1.0
+36.2 -1.2 2.0
+12.0 -2.0 -2.0
+24.0 -4.0 4.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+r = optimsimplex_reflect ( s1 , rosenbrock );
+computed = optimsimplex_getall ( r );
+expected = [
+ 24.2 -1.2 1.
+ 1484.8 -2.2 1.
+ 212.2 -1.2 0.
+ 1476.52 -0.4 4.
+ 2079.72 1.6 -2.
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+r = optimsimplex_destroy ( r );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.dia.ref
new file mode 100755
index 000000000..af0eb4678
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.dia.ref
@@ -0,0 +1,90 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_shrink
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+newsimplex = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [-12.0 0.0 0.0]' );
+s1 = optimsimplex_shrink ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is not re-computed, as expected.
+expected = [
+ -12. 0. 0.
+ 6.5 0.5 0.
+ 26. 0. 0.5
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+newsimplex = [
+-12.0 0.0 0.0
+6.0 1.0 0.0
+7.0 0.0 1.0
+];
+s1 = optimsimplex_setall ( s1 , newsimplex );
+[ s1 , myobj ] = optimsimplex_shrink ( s1 , mycostf , data=myobj );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is not re-computed, as expected.
+expected = [
+ -12. 0. 0.
+ 6.5 0.5 0.
+ 26. 0. 0.5
+];
+assert_checkequal ( computed , expected );
+assert_checkequal ( myobj.nb , 2 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+newsimplex = [
+12.0 0.0 0.0
+12.0 1.0 0.0
+12.0 0.0 1.0
+12.0 1.0 1.0
+12.0 2.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , newsimplex );
+s1 = optimsimplex_shrink ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is not re-computed, as expected.
+expected = [
+ 12. 0. 0.
+ 6.5 0.5 0.
+ 26. 0. 0.5
+ 6.5 0.5 0.5
+ 0. 1. 1.
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.tst
new file mode 100755
index 000000000..5c917650d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_shrink.tst
@@ -0,0 +1,97 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_shrink
+//
+//
+// Test with 3 vertices
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+newsimplex = [
+ 0. 0.
+ 1. 0.
+ 0. 1.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [-12.0 0.0 0.0]' );
+s1 = optimsimplex_shrink ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is not re-computed, as expected.
+expected = [
+ -12. 0. 0.
+ 6.5 0.5 0.
+ 26. 0. 0.5
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with an additional argument
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+newsimplex = [
+-12.0 0.0 0.0
+6.0 1.0 0.0
+7.0 0.0 1.0
+];
+s1 = optimsimplex_setall ( s1 , newsimplex );
+[ s1 , myobj ] = optimsimplex_shrink ( s1 , mycostf , data=myobj );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is not re-computed, as expected.
+expected = [
+ -12. 0. 0.
+ 6.5 0.5 0.
+ 26. 0. 0.5
+];
+assert_checkequal ( computed , expected );
+assert_checkequal ( myobj.nb , 2 );
+s1 = optimsimplex_destroy ( s1 );
+
+
+//
+// Test with 5 vertices
+//
+s1 = optimsimplex_new ();
+newsimplex = [
+12.0 0.0 0.0
+12.0 1.0 0.0
+12.0 0.0 1.0
+12.0 1.0 1.0
+12.0 2.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , newsimplex );
+s1 = optimsimplex_shrink ( s1 , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+// The function value at vertex #1 is not re-computed, as expected.
+expected = [
+ 12. 0. 0.
+ 6.5 0.5 0.
+ 26. 0. 0.5
+ 6.5 0.5 0.5
+ 0. 1. 1.
+];
+assert_checkequal ( computed , expected );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.dia.ref
new file mode 100755
index 000000000..b30b42932
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.dia.ref
@@ -0,0 +1,63 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+//
+// Check behaviour with default settings.
+//
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_size with 3 vertices
+//
+simplex = [...
+ 0. 0.
+ 1. 0.
+ 0. 2.
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve ( s1 , 3 );
+s1 = optimsimplex_setallx ( s1 , simplex );
+ssize = optimsimplex_size ( s1 , "Nash" );
+assert_checkalmostequal ( ssize , 3.0, %eps );
+ssize = optimsimplex_size ( s1 , "diameter" );
+assert_checkalmostequal ( ssize , sqrt(5), %eps );
+ssize = optimsimplex_size ( s1 , "sigmaplus" );
+assert_checkalmostequal ( ssize , 2.0, %eps );
+ssize = optimsimplex_size ( s1 , "sigmaminus" );
+assert_checkalmostequal ( ssize , 1.0, %eps );
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_size with 5 vertices
+//
+simplex = [...
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 2.0
+0.0 1.0 2.0
+0.0 2.0 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+ssize = optimsimplex_size ( s1 , "Nash" );
+assert_checkalmostequal ( ssize , 10.0 , %eps );
+ssize = optimsimplex_size ( s1 , "diameter" );
+assert_checkalmostequal ( ssize , 2.8284271247461902909492 , %eps );
+ssize = optimsimplex_size ( s1 , "sigmaplus" );
+assert_checkalmostequal ( ssize , 2.8284271247461902909492 , %eps );
+ssize = optimsimplex_size ( s1 , "sigmaminus" );
+assert_checkalmostequal ( ssize , 1.0 , %eps );
+s1 = optimsimplex_destroy(s1);
+// Test unknown size method
+s1 = optimsimplex_new();
+cmd = "optimsimplex_size ( s1 , ''foo'' )";
+assert_checkerror(cmd,"%s: Unknown simplex size method %s" , [],"optimsimplex_size","foo");
+s1 = optimsimplex_destroy(s1);
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.tst
new file mode 100755
index 000000000..6d78313c4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_size.tst
@@ -0,0 +1,69 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+//
+// Check behaviour with default settings.
+//
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_size with 3 vertices
+//
+simplex = [...
+ 0. 0.
+ 1. 0.
+ 0. 2.
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setn ( s1 , 2 );
+s1 = optimsimplex_setnbve ( s1 , 3 );
+s1 = optimsimplex_setallx ( s1 , simplex );
+ssize = optimsimplex_size ( s1 , "Nash" );
+assert_checkalmostequal ( ssize , 3.0, %eps );
+ssize = optimsimplex_size ( s1 , "diameter" );
+assert_checkalmostequal ( ssize , sqrt(5), %eps );
+ssize = optimsimplex_size ( s1 , "sigmaplus" );
+assert_checkalmostequal ( ssize , 2.0, %eps );
+ssize = optimsimplex_size ( s1 , "sigmaminus" );
+assert_checkalmostequal ( ssize , 1.0, %eps );
+s1 = optimsimplex_destroy(s1);
+//
+// Test optimsimplex_size with 5 vertices
+//
+simplex = [...
+0.0 0.0 0.0
+0.0 1.0 0.0
+0.0 0.0 2.0
+0.0 1.0 2.0
+0.0 2.0 2.0
+];
+s1 = optimsimplex_new();
+s1 = optimsimplex_setall ( s1 , simplex );
+ssize = optimsimplex_size ( s1 , "Nash" );
+assert_checkalmostequal ( ssize , 10.0 , %eps );
+ssize = optimsimplex_size ( s1 , "diameter" );
+assert_checkalmostequal ( ssize , 2.8284271247461902909492 , %eps );
+ssize = optimsimplex_size ( s1 , "sigmaplus" );
+assert_checkalmostequal ( ssize , 2.8284271247461902909492 , %eps );
+ssize = optimsimplex_size ( s1 , "sigmaminus" );
+assert_checkalmostequal ( ssize , 1.0 , %eps );
+s1 = optimsimplex_destroy(s1);
+
+// Test unknown size method
+s1 = optimsimplex_new();
+cmd = "optimsimplex_size ( s1 , ''foo'' )";
+assert_checkerror(cmd,"%s: Unknown simplex size method %s" , [],"optimsimplex_size","foo");
+s1 = optimsimplex_destroy(s1);
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.dia.ref
new file mode 100755
index 000000000..376a5e5fc
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.dia.ref
@@ -0,0 +1,40 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Test optimsimplex_sort
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [5.0 2.0 1.0]' );
+s1 = optimsimplex_sort ( s1 );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [5.0 6.0] );
+assert_checkequal ( ve1.fv , 1.0 );
+ve1 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [3.0 4.0] );
+assert_checkequal ( ve1.fv , 2.0 );
+ve1 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [1.0 2.0] );
+assert_checkequal ( ve1.fv , 5.0 );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.tst
new file mode 100755
index 000000000..408643065
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_sort.tst
@@ -0,0 +1,45 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Test optimsimplex_sort
+//
+s1 = optimsimplex_new ();
+s1 = optimsimplex_setn(s1,2);
+s1 = optimsimplex_setnbve(s1,3);
+newsimplex = [
+ 1. 2.
+ 3. 4.
+ 5. 6.
+];
+s1 = optimsimplex_setallx ( s1 , newsimplex );
+s1 = optimsimplex_setallfv ( s1 , [5.0 2.0 1.0]' );
+s1 = optimsimplex_sort ( s1 );
+ve1 = optimsimplex_getve ( s1 , 1 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [5.0 6.0] );
+assert_checkequal ( ve1.fv , 1.0 );
+ve1 = optimsimplex_getve ( s1 , 2 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [3.0 4.0] );
+assert_checkequal ( ve1.fv , 2.0 );
+ve1 = optimsimplex_getve ( s1 , 3 );
+assert_checkequal ( ve1.n , 2 );
+assert_checkequal ( ve1.x , [1.0 2.0] );
+assert_checkequal ( ve1.fv , 5.0 );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.dia.ref
new file mode 100755
index 000000000..32a0b8433
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.dia.ref
@@ -0,0 +1,57 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+//
+// Spendley basic case
+//
+s1 = optimsimplex_new ( "spendley" , [-1.2 1.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 0.0 -1.2 1.
+ 0.0 -0.2340741737109317543997 1.2588190451025207394764
+ 0.0 -0.9411809548974792161147 1.9659258262890682011914
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Spendley basic case
+//
+s1 = optimsimplex_new ( "spendley" , [-1.2 1.0] , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 146.4913601204771680386 -0.2340741737109317543997 1.2588190451025207394764
+ 120.43069965448485447723 -0.9411809548974792161147 1.9659258262890682011914
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Spendley, case with object
+//
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+[ s1 , myobj ] = optimsimplex_new ( "spendley" , [-1.2 1.0] , mycostf , 1.0 , myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 146.4913601204771680386 -0.2340741737109317543997 1.2588190451025207394764
+ 120.43069965448485447723 -0.9411809548974792161147 1.9659258262890682011914
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.tst
new file mode 100755
index 000000000..be2ba13fe
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_spendley.tst
@@ -0,0 +1,67 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+
+function y = rosenbrock (x)
+ y = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
+endfunction
+
+//
+// Spendley basic case
+//
+s1 = optimsimplex_new ( "spendley" , [-1.2 1.0] );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 0.0 -1.2 1.
+ 0.0 -0.2340741737109317543997 1.2588190451025207394764
+ 0.0 -0.9411809548974792161147 1.9659258262890682011914
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Spendley basic case
+//
+s1 = optimsimplex_new ( "spendley" , [-1.2 1.0] , rosenbrock );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 146.4913601204771680386 -0.2340741737109317543997 1.2588190451025207394764
+ 120.43069965448485447723 -0.9411809548974792161147 1.9659258262890682011914
+];
+assert_checkalmostequal ( computed , expected , 1.e-6 );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Spendley, case with object
+//
+
+myobj = tlist(["T_MYSTUFF","nb"]);
+myobj.nb = 0;
+function [ y , myobj ] = mycostf ( x , myobj )
+ y = rosenbrock(x);
+ myobj.nb = myobj.nb + 1
+endfunction
+s1 = optimsimplex_new ();
+[ s1 , myobj ] = optimsimplex_new ( "spendley" , [-1.2 1.0] , mycostf , 1.0 , myobj );
+computed = optimsimplex_getall ( s1 );
+expected = [
+ 24.2 -1.2 1.
+ 146.4913601204771680386 -0.2340741737109317543997 1.2588190451025207394764
+ 120.43069965448485447723 -0.9411809548974792161147 1.9659258262890682011914
+];
+assert_checkalmostequal ( computed , expected , 10 * %eps );
+assert_checkequal ( myobj.nb , 3 );
+s1 = optimsimplex_destroy ( s1 );
+
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.dia.ref
new file mode 100755
index 000000000..493b7b7c5
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.dia.ref
@@ -0,0 +1,49 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// Test with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+str = string ( s1 );
+expected = [
+"Optim Simplex Object:"
+"====================="
+"nbve: 3"
+"n: 2"
+"x: 3-by-2 matrix"
+"fv: 3-by-1 matrix"
+];
+assert_checkequal ( str , expected );
+s1 = optimsimplex_destroy ( s1 );
+// Test with 4 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+36. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+str = string ( s1 );
+expected = [
+"Optim Simplex Object:"
+"====================="
+"nbve: 4"
+"n: 2"
+"x: 4-by-2 matrix"
+"fv: 4-by-1 matrix"
+];
+assert_checkequal ( str , expected );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.tst
new file mode 100755
index 000000000..583246be0
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_tostring.tst
@@ -0,0 +1,54 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+
+// Test with 3 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+str = string ( s1 );
+expected = [
+"Optim Simplex Object:"
+"====================="
+"nbve: 3"
+"n: 2"
+"x: 3-by-2 matrix"
+"fv: 3-by-1 matrix"
+];
+assert_checkequal ( str , expected );
+s1 = optimsimplex_destroy ( s1 );
+
+// Test with 4 vertices
+s1 = optimsimplex_new ();
+simplex = [
+24. -2.0 1.0
+93. -1.0 3.0
+36. -3.0 2.0
+36. -3.0 2.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+str = string ( s1 );
+expected = [
+"Optim Simplex Object:"
+"====================="
+"nbve: 4"
+"n: 2"
+"x: 4-by-2 matrix"
+"fv: 4-by-1 matrix"
+];
+assert_checkequal ( str , expected );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.dia.ref b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.dia.ref
new file mode 100755
index 000000000..f234c98e3
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.dia.ref
@@ -0,0 +1,73 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+// <-- CLI SHELL MODE -->
+// iexcl by default
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 );
+assert_checkalmostequal ( cen , [-1.2 1.5], %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Case iexcl = 2
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 , 2 );
+assert_checkalmostequal ( cen , [-0.7 1.0], %eps );
+s1 = optimsimplex_destroy ( s1 );
+// Case iexcl = 2:3
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 , 2:3 );
+assert_checkalmostequal ( cen , [-1.2 1.0], %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices and default exclusion
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+93.6 0.0 0.0
+93.6 10.0 10.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 );
+assert_checkalmostequal ( cen , [-0.65 1.0], %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices and several exclusions
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+93.6 0.0 0.0
+93.6 10.0 10.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 , [1 3 5]);
+assert_checkalmostequal ( cen , [-0.6 1.0], 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
diff --git a/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.tst b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.tst
new file mode 100755
index 000000000..66ca51d2d
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_xbar.tst
@@ -0,0 +1,79 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008-2009 - INRIA - Michael Baudin
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// <-- CLI SHELL MODE -->
+
+// iexcl by default
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 );
+assert_checkalmostequal ( cen , [-1.2 1.5], %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+// Case iexcl = 2
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 , 2 );
+assert_checkalmostequal ( cen , [-0.7 1.0], %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+// Case iexcl = 2:3
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 , 2:3 );
+assert_checkalmostequal ( cen , [-1.2 1.0], %eps );
+s1 = optimsimplex_destroy ( s1 );
+//
+// Test with 5 vertices and default exclusion
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+93.6 0.0 0.0
+93.6 10.0 10.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 );
+assert_checkalmostequal ( cen , [-0.65 1.0], %eps );
+s1 = optimsimplex_destroy ( s1 );
+
+//
+// Test with 5 vertices and several exclusions
+//
+s1 = optimsimplex_new ();
+simplex = [
+24.2 -1.2 1.0
+36.2 -1.2 2.0
+93.6 -0.2 1.0
+93.6 0.0 0.0
+93.6 10.0 10.0
+];
+s1 = optimsimplex_setall ( s1 , simplex );
+cen = optimsimplex_xbar ( s1 , [1 3 5]);
+assert_checkalmostequal ( cen , [-0.6 1.0], 10 * %eps );
+s1 = optimsimplex_destroy ( s1 );
+
diff --git a/modules/optimization/tests/unit_tests/pack.dia.ref b/modules/optimization/tests/unit_tests/pack.dia.ref
new file mode 100755
index 000000000..7fdb52d28
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/pack.dia.ref
@@ -0,0 +1,82 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+Z = [
+1 2 0 0 0 0
+2 3 0 0 0 0
+0 0 4 5 6 0
+0 0 5 7 8 0
+0 0 6 8 9 0
+0 0 0 0 0 10
+];
+blocksizes=[2,3,1];
+Z1 = Z(1:2,1:2);
+Z2 = Z(3:5,3:5);
+Z3 = Z(6,6);
+A = list2vec(list(Z1,Z2,Z3));
+[CA,sel] = pack(A,blocksizes);
+CA_expected = [
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+];
+sel_expected = [1,2,4,5,6,7,9,10,13,14];
+assert_checkequal(CA,CA_expected);
+assert_checkequal(sel,sel_expected);
+//
+// Define 3 symmetric block-diagonal matrices: F0, F1, F2
+F0=[2,1,0,0;
+ 1,2,0,0;
+ 0,0,3,1;
+ 0,0,1,3];
+F1=[1,2,0,0;
+ 2,1,0,0;
+ 0,0,1,3;
+ 0,0,3,1];
+F2=[2,2,0,0;
+ 2,2,0,0;
+ 0,0,3,4;
+ 0,0,4,4];
+// Define the size of the two blocks:
+// the first block has size 2,
+// the second block has size 2.
+blocksizes=[2,2];
+// Extract the two blocks of the 3 matrices.
+F01=F0(1:2,1:2);
+F02=F0(3:4,3:4);
+F11=F1(1:2,1:2);
+F12=F1(3:4,3:4);
+F21=F2(1:2,1:2);
+F22=F2(3:4,3:4);
+// Create 3 column vectors, containing nonzero entries
+// in F0, F1, F2.
+F0nnz = [F01(:);F02(:)];
+F1nnz = [F11(:);F12(:)];
+F2nnz = [F21(:);F22(:)];
+// Create a 16-by-3 matrix, representing the
+// nonzero entries of the 3 matrices F0, F1, F2.
+A=[F0nnz,F1nnz,F2nnz];
+// Pack the list of matrices A into CA.
+[CA,sel] = pack(A,blocksizes);
+CA_expected = [
+2,1,2;
+1,2,2;
+2,1,2;
+3,1,3;
+1,3,4;
+3,1,4
+];
+sel_expected = [1,2,4,5,6,8];
+assert_checkequal(CA,CA_expected);
+assert_checkequal(sel,sel_expected);
diff --git a/modules/optimization/tests/unit_tests/pack.tst b/modules/optimization/tests/unit_tests/pack.tst
new file mode 100755
index 000000000..eb7642c05
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/pack.tst
@@ -0,0 +1,86 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+Z = [
+1 2 0 0 0 0
+2 3 0 0 0 0
+0 0 4 5 6 0
+0 0 5 7 8 0
+0 0 6 8 9 0
+0 0 0 0 0 10
+];
+blocksizes=[2,3,1];
+Z1 = Z(1:2,1:2);
+Z2 = Z(3:5,3:5);
+Z3 = Z(6,6);
+A = list2vec(list(Z1,Z2,Z3));
+[CA,sel] = pack(A,blocksizes);
+CA_expected = [
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+];
+sel_expected = [1,2,4,5,6,7,9,10,13,14];
+assert_checkequal(CA,CA_expected);
+assert_checkequal(sel,sel_expected);
+
+
+//
+// Define 3 symmetric block-diagonal matrices: F0, F1, F2
+F0=[2,1,0,0;
+ 1,2,0,0;
+ 0,0,3,1;
+ 0,0,1,3];
+F1=[1,2,0,0;
+ 2,1,0,0;
+ 0,0,1,3;
+ 0,0,3,1];
+F2=[2,2,0,0;
+ 2,2,0,0;
+ 0,0,3,4;
+ 0,0,4,4];
+// Define the size of the two blocks:
+// the first block has size 2,
+// the second block has size 2.
+blocksizes=[2,2];
+// Extract the two blocks of the 3 matrices.
+F01=F0(1:2,1:2);
+F02=F0(3:4,3:4);
+F11=F1(1:2,1:2);
+F12=F1(3:4,3:4);
+F21=F2(1:2,1:2);
+F22=F2(3:4,3:4);
+// Create 3 column vectors, containing nonzero entries
+// in F0, F1, F2.
+F0nnz = [F01(:);F02(:)];
+F1nnz = [F11(:);F12(:)];
+F2nnz = [F21(:);F22(:)];
+// Create a 16-by-3 matrix, representing the
+// nonzero entries of the 3 matrices F0, F1, F2.
+A=[F0nnz,F1nnz,F2nnz];
+// Pack the list of matrices A into CA.
+[CA,sel] = pack(A,blocksizes);
+CA_expected = [
+2,1,2;
+1,2,2;
+2,1,2;
+3,1,3;
+1,3,4;
+3,1,4
+];
+sel_expected = [1,2,4,5,6,8];
+assert_checkequal(CA,CA_expected);
+assert_checkequal(sel,sel_expected);
diff --git a/modules/optimization/tests/unit_tests/qld.dia.ref b/modules/optimization/tests/unit_tests/qld.dia.ref
new file mode 100755
index 000000000..37e35084c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/qld.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//Find x in R^6 such that:
+//C1*x = b1 (3 equality constraints i.e me=3)
+C1= [1,-1,1,0,3,1;
+ -1,0,-3,-4,5,6;
+ 2,5,3,0,1,0];
+b1=[1;2;3];
+//C2*x <= b2 (2 inequality constraints)
+C2=[0,1,0,1,2,-1;
+ -1,0,2,1,1,0];
+b2=[-1;2.5];
+//with x between ci and cs:
+ci=[-1000;-10000;0;-1000;-1000;-1000];cs=[10000;100;1.5;100;100;1000];
+//and minimize 0.5*x'*Q*x + p'*x with
+p=[1;2;3;4;5;6]; Q=eye(6,6);
+//No initial point is given;
+C=[C1;C2] ; //
+b=[b1;b2] ; //
+me=3;
+[x,lagr]=qld(Q,p,C,b,ci,cs,me);
+if size(lagr,'*') <> 17 then bugmes();quit;end
+if size(x,'*') <> 6 then bugmes();quit;end
+//Only linear constraints (1 to 4) are active (lagr(1:6)=0):
diff --git a/modules/optimization/tests/unit_tests/qld.tst b/modules/optimization/tests/unit_tests/qld.tst
new file mode 100755
index 000000000..8a4a200c4
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/qld.tst
@@ -0,0 +1,33 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+//Find x in R^6 such that:
+//C1*x = b1 (3 equality constraints i.e me=3)
+C1= [1,-1,1,0,3,1;
+ -1,0,-3,-4,5,6;
+ 2,5,3,0,1,0];
+b1=[1;2;3];
+//C2*x <= b2 (2 inequality constraints)
+C2=[0,1,0,1,2,-1;
+ -1,0,2,1,1,0];
+b2=[-1;2.5];
+//with x between ci and cs:
+ci=[-1000;-10000;0;-1000;-1000;-1000];cs=[10000;100;1.5;100;100;1000];
+//and minimize 0.5*x'*Q*x + p'*x with
+p=[1;2;3;4;5;6]; Q=eye(6,6);
+//No initial point is given;
+C=[C1;C2] ; //
+b=[b1;b2] ; //
+me=3;
+[x,lagr]=qld(Q,p,C,b,ci,cs,me);
+if size(lagr,'*') <> 17 then pause,end
+if size(x,'*') <> 6 then pause,end
+//Only linear constraints (1 to 4) are active (lagr(1:6)=0):
+
+ \ No newline at end of file
diff --git a/modules/optimization/tests/unit_tests/qpsolve.dia.ref b/modules/optimization/tests/unit_tests/qpsolve.dia.ref
new file mode 100755
index 000000000..c7a95b78b
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/qpsolve.dia.ref
@@ -0,0 +1,93 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//Find x in R^6 such that:
+//C1*x = b1 (3 equality constraints i.e me=3)
+C1= [1,-1,1,0,3,1;
+ -1,0,-3,-4,5,6;
+ 2,5,3,0,1,0];
+b1=[1;2;3];
+//C2*x <= b2 (2 inequality constraints)
+C2=[0,1,0,1,2,-1;
+ -1,0,2,1,1,0];
+b2=[-1;2.5];
+//and minimize 0.5*x'*Q*x + p'*x with
+p=[1;2;3;4;5;6]; Q=eye(6,6);
+//No initial point is given;
+C=[C1;C2] ; //
+b=[b1;b2] ; //
+me=3;
+[x1, iact, iter, f]=qpsolve(Q,p,C,b,[],[],me);
+if or(iact<>[1;3;2;4;0]) then bugmes();quit;end
+if x1'*p+x1'*Q*x1/2>- 14.843 then bugmes();quit;end
+if or(abs(C(1:4,:)*x1-b(1:4))>100*%eps) then bugmes();quit;end
+if C(5,:)*x1>b(5) then bugmes();quit;end
+//sparse
+[x1, iact, iter, f]=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(iact<>[1;3;2;4;0]) then bugmes();quit;end
+if x1'*p+x1'*Q*x1/2>- 14.843 then bugmes();quit;end
+if or(abs(C(1:4,:)*x1-b(1:4))>100*%eps) then bugmes();quit;end
+if C(5,:)*x1>b(5) then bugmes();quit;end
+//second test
+Q = [0.5 -1; -1 3]; //positive-defined
+p = [0; 0];
+C = [1 1];
+b = 1;
+me = 1;
+x1=qpsolve(Q,p,C,b,[],[],me);
+if or(x1-[8;3]/11 >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2-1/22)>100*%eps then bugmes();quit;end
+if abs(C*x1-b)>100*%eps then bugmes();quit;end
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(x1-[8;3]/11 >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2-1/22)>100*%eps then bugmes();quit;end
+if abs(C*x1-b)>100*%eps then bugmes();quit;end
+//third test (R)
+Q=eye(3,3);p=-[0;5;0];
+C=-[-4 2 0;-3 1 -2;0 0 1];b=-[-8;2;0];me=0;
+x1=qpsolve(Q,p,C,b,[],[],me);
+if or(x1-[0;5;0] >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2+12.5)>100*%eps then bugmes();quit;end
+if or(abs(C*x1-b-[-18;-3;0])>100*%eps) then bugmes();quit;end
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(x1-[0;5;0] >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2+12.5)>100*%eps then bugmes();quit;end
+if or(abs(C*x1-b-[-18;-3;0])>100*%eps) then bugmes();quit;end
+//fourth test (Matlab)
+Q= [1 -1; -1 2] ;
+p = [-2; -6];
+C = [1 1; -1 2; 2 1];
+b = [2; 2; 3];
+lb = zeros(2,1);
+me=0;
+x1=qpsolve(Q,p,C,b,[],[],me);
+if or(x1-[2;4]/3 >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2+74/9)>100*%eps then bugmes();quit;end
+if or(abs(C*x1-b-[0;0;-1/3])>100*%eps) then bugmes();quit;end
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(x1-[2;4]/3 >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2+74/9)>100*%eps then bugmes();quit;end
+if or(abs(C*x1-b-[0;0;-1/3])>100*%eps) then bugmes();quit;end
+//avec bornes
+Q= [1 -1; -1 2] ;
+p = [-2; -6];
+C = [1 1; -1 2; 2 1];
+b = [2; 2; 3];
+lb = [0.8;0]; //zeros(2,1);
+me=0;
+x1=qpsolve(Q,p,C,b,lb,[],me);
+if or(x1-[0.8;1.2] >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2+8)>100*%eps then bugmes();quit;end
+if or(abs(C*x1-b-[0;-0.4;-0.2])>100*%eps) then bugmes();quit;end
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,lb,[],me);
+if or(x1-[0.8;1.2] >100*%eps) then bugmes();quit;end
+if abs(x1'*p+x1'*Q*x1/2+8)>100*%eps then bugmes();quit;end
+if or(abs(C*x1-b-[0;-0.4;-0.2])>100*%eps) then bugmes();quit;end
diff --git a/modules/optimization/tests/unit_tests/qpsolve.tst b/modules/optimization/tests/unit_tests/qpsolve.tst
new file mode 100755
index 000000000..db91b9137
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/qpsolve.tst
@@ -0,0 +1,107 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+//Find x in R^6 such that:
+//C1*x = b1 (3 equality constraints i.e me=3)
+C1= [1,-1,1,0,3,1;
+ -1,0,-3,-4,5,6;
+ 2,5,3,0,1,0];
+b1=[1;2;3];
+//C2*x <= b2 (2 inequality constraints)
+C2=[0,1,0,1,2,-1;
+ -1,0,2,1,1,0];
+b2=[-1;2.5];
+
+//and minimize 0.5*x'*Q*x + p'*x with
+p=[1;2;3;4;5;6]; Q=eye(6,6);
+//No initial point is given;
+C=[C1;C2] ; //
+b=[b1;b2] ; //
+me=3;
+[x1, iact, iter, f]=qpsolve(Q,p,C,b,[],[],me);
+if or(iact<>[1;3;2;4;0]) then pause,end
+if x1'*p+x1'*Q*x1/2>- 14.843 then pause,end
+if or(abs(C(1:4,:)*x1-b(1:4))>100*%eps) then pause,end
+if C(5,:)*x1>b(5) then pause,end
+
+//sparse
+[x1, iact, iter, f]=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(iact<>[1;3;2;4;0]) then pause,end
+if x1'*p+x1'*Q*x1/2>- 14.843 then pause,end
+if or(abs(C(1:4,:)*x1-b(1:4))>100*%eps) then pause,end
+if C(5,:)*x1>b(5) then pause,end
+
+//second test
+Q = [0.5 -1; -1 3]; //positive-defined
+p = [0; 0];
+C = [1 1];
+b = 1;
+me = 1;
+
+x1=qpsolve(Q,p,C,b,[],[],me);
+if or(x1-[8;3]/11 >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2-1/22)>100*%eps then pause,end
+if abs(C*x1-b)>100*%eps then pause,end
+
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(x1-[8;3]/11 >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2-1/22)>100*%eps then pause,end
+if abs(C*x1-b)>100*%eps then pause,end
+
+//third test (R)
+
+Q=eye(3,3);p=-[0;5;0];
+C=-[-4 2 0;-3 1 -2;0 0 1];b=-[-8;2;0];me=0;
+
+x1=qpsolve(Q,p,C,b,[],[],me);
+if or(x1-[0;5;0] >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2+12.5)>100*%eps then pause,end
+if or(abs(C*x1-b-[-18;-3;0])>100*%eps) then pause,end
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(x1-[0;5;0] >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2+12.5)>100*%eps then pause,end
+if or(abs(C*x1-b-[-18;-3;0])>100*%eps) then pause,end
+
+//fourth test (Matlab)
+Q= [1 -1; -1 2] ;
+p = [-2; -6];
+C = [1 1; -1 2; 2 1];
+b = [2; 2; 3];
+lb = zeros(2,1);
+me=0;
+x1=qpsolve(Q,p,C,b,[],[],me);
+if or(x1-[2;4]/3 >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2+74/9)>100*%eps then pause,end
+if or(abs(C*x1-b-[0;0;-1/3])>100*%eps) then pause,end
+//sparse
+x1=qpsolve(Q,p,sparse(C),b,[],[],me);
+if or(x1-[2;4]/3 >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2+74/9)>100*%eps then pause,end
+if or(abs(C*x1-b-[0;0;-1/3])>100*%eps) then pause,end
+
+//avec bornes
+Q= [1 -1; -1 2] ;
+p = [-2; -6];
+C = [1 1; -1 2; 2 1];
+b = [2; 2; 3];
+lb = [0.8;0]; //zeros(2,1);
+me=0;
+x1=qpsolve(Q,p,C,b,lb,[],me);
+if or(x1-[0.8;1.2] >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2+8)>100*%eps then pause,end
+if or(abs(C*x1-b-[0;-0.4;-0.2])>100*%eps) then pause,end
+//sparse
+
+x1=qpsolve(Q,p,sparse(C),b,lb,[],me);
+if or(x1-[0.8;1.2] >100*%eps) then pause,end
+if abs(x1'*p+x1'*Q*x1/2+8)>100*%eps then pause,end
+if or(abs(C*x1-b-[0;-0.4;-0.2])>100*%eps) then pause,end
+
diff --git a/modules/optimization/tests/unit_tests/readmps.dia.ref b/modules/optimization/tests/unit_tests/readmps.dia.ref
new file mode 100755
index 000000000..3ef783b3c
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/readmps.dia.ref
@@ -0,0 +1,107 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+path = fullfile(SCI,"modules","optimization","tests","unit_tests");
+stacksize("max");
+//
+filename = fullfile(path,"test1.mps");
+huge = number_properties("huge");
+P=readmps(filename,[-huge huge]);
+assert_checkequal(typeof(P),"mps");
+assert_checkequal(P.irobj,1);
+assert_checkequal(P.namec,"COST ");
+assert_checkequal(P.nameb,"RHS1 ");
+assert_checkequal(P.namran," ");
+assert_checkequal(P.nambnd,"BND1 ");
+assert_checkequal(P.name,"TESTPROB");
+assert_checkequal(P.rownames,["COST ";"LIM1 ";"LIM2 ";"MYEQN "]);
+assert_checkequal(P.colnames,["XONE ","YTWO ","ZTHREE "]);
+assert_checkequal(P.rowstat,[4;3;2;1]);
+assert_checkequal(P.rowcode,[4,0;3,0;1,2;0,0]);
+assert_checkequal(P.colcode,zeros(3,2));
+assert_checkequal(P.rownmbs,[1;2;3;1;2;4;1;3;4]);
+assert_checkequal(P.colpnts,[1,4,7,10]);
+assert_checkequal(P.acoeff,[1;1;1;4;1;-1;9;1;1]);
+assert_checkequal(P.rhs,[0;5;10;7]);
+assert_checkequal(P.ranges,huge*ones(4,1));
+assert_checkequal(P.bounds,[-huge,4;-1,1;-huge,huge]);
+assert_checkequal(P.stavar,[1;3;0]);
+disp(P)
+
+MPS Object:
+===========
+
+irobj: 1
+namec: COST
+nameb: RHS1
+namran:
+nambnd: BND1
+name: TESTPROB
+rownames: 4-by-1 string matrix
+colnames: 1-by-3 string matrix
+rowstat: 4-by-1 constant matrix
+rowcode: 4-by-2 constant matrix
+colcode: 3-by-2 constant matrix
+rownmbs: 9-by-1 constant matrix
+colpnts: 1-by-4 constant matrix
+acoeff: 9-by-1 constant matrix
+rhs: 4-by-1 constant matrix
+ranges: 4-by-1 constant matrix
+bounds: 3-by-2 constant matrix
+stavar: 3-by-1 constant matrix
+refMsg = msprintf(_(" RDMPS1 ERROR: Number of nonzeros of matrix A exceeds MAXNZA."));
+assert_checkerror("P=readmps(filename,[0 10^30],[4 3 8]);", refMsg);
+P=readmps(filename,[0 10^30],[4 3 9]);
+assert_checkequal(size(P.acoeff), [9 1]);
+P=readmps(filename,[0 10^30],[4 3 10]);
+assert_checkequal(size(P.acoeff), [10 1]);
+//
+filename = fullfile(path,"25FV47.SIF");
+huge = number_properties("huge");
+P=readmps(filename,[-huge huge]);
+assert_checkequal(typeof(P),"mps");
+assert_checkequal(P.irobj,1);
+assert_checkequal(P.namec,"R0000 ");
+assert_checkequal(P.nameb,".00001 ");
+assert_checkequal(P.namran," ");
+assert_checkequal(P.nambnd," ");
+assert_checkequal(P.name,"25FV47 ");
+assert_checkequal(size(P.rownames),[822,1]);
+assert_checkequal(size(P.colnames), [1,1571]);
+assert_checkequal(size(P.rowstat),[822,1]);
+assert_checkequal(size(P.rowcode),[822,2]);
+assert_checkequal(size(P.colcode),[1571,2]);
+assert_checkequal(size(P.rownmbs),[11127,1]);
+assert_checkequal(size(P.colpnts),[1,1572]);
+assert_checkequal(size(P.acoeff),[11127,1]);
+assert_checkequal(size(P.rhs),[822,1]);
+assert_checkequal(size(P.ranges),[822,1]);
+assert_checkequal(size(P.bounds),[1571,2]);
+assert_checkequal(size(P.stavar),[1571,1]);
+disp(P)
+
+MPS Object:
+===========
+
+irobj: 1
+namec: R0000
+nameb: .00001
+namran:
+nambnd:
+name: 25FV47
+rownames: 822-by-1 string matrix
+colnames: 1-by-1571 string matrix
+rowstat: 822-by-1 constant matrix
+rowcode: 822-by-2 constant matrix
+colcode: 1571-by-2 constant matrix
+rownmbs: 11127-by-1 constant matrix
+colpnts: 1-by-1572 constant matrix
+acoeff: 11127-by-1 constant matrix
+rhs: 822-by-1 constant matrix
+ranges: 822-by-1 constant matrix
+bounds: 1571-by-2 constant matrix
+stavar: 1571-by-1 constant matrix
diff --git a/modules/optimization/tests/unit_tests/readmps.tst b/modules/optimization/tests/unit_tests/readmps.tst
new file mode 100755
index 000000000..18dd3f292
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/readmps.tst
@@ -0,0 +1,65 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+path = fullfile(SCI,"modules","optimization","tests","unit_tests");
+stacksize("max");
+//
+filename = fullfile(path,"test1.mps");
+huge = number_properties("huge");
+P=readmps(filename,[-huge huge]);
+assert_checkequal(typeof(P),"mps");
+assert_checkequal(P.irobj,1);
+assert_checkequal(P.namec,"COST ");
+assert_checkequal(P.nameb,"RHS1 ");
+assert_checkequal(P.namran," ");
+assert_checkequal(P.nambnd,"BND1 ");
+assert_checkequal(P.name,"TESTPROB");
+assert_checkequal(P.rownames,["COST ";"LIM1 ";"LIM2 ";"MYEQN "]);
+assert_checkequal(P.colnames,["XONE ","YTWO ","ZTHREE "]);
+assert_checkequal(P.rowstat,[4;3;2;1]);
+assert_checkequal(P.rowcode,[4,0;3,0;1,2;0,0]);
+assert_checkequal(P.colcode,zeros(3,2));
+assert_checkequal(P.rownmbs,[1;2;3;1;2;4;1;3;4]);
+assert_checkequal(P.colpnts,[1,4,7,10]);
+assert_checkequal(P.acoeff,[1;1;1;4;1;-1;9;1;1]);
+assert_checkequal(P.rhs,[0;5;10;7]);
+assert_checkequal(P.ranges,huge*ones(4,1));
+assert_checkequal(P.bounds,[-huge,4;-1,1;-huge,huge]);
+assert_checkequal(P.stavar,[1;3;0]);
+disp(P)
+refMsg = msprintf(_(" RDMPS1 ERROR: Number of nonzeros of matrix A exceeds MAXNZA."));
+assert_checkerror("P=readmps(filename,[0 10^30],[4 3 8]);", refMsg);
+P=readmps(filename,[0 10^30],[4 3 9]);
+assert_checkequal(size(P.acoeff), [9 1]);
+P=readmps(filename,[0 10^30],[4 3 10]);
+assert_checkequal(size(P.acoeff), [10 1]);
+//
+filename = fullfile(path,"25FV47.SIF");
+huge = number_properties("huge");
+P=readmps(filename,[-huge huge]);
+assert_checkequal(typeof(P),"mps");
+assert_checkequal(P.irobj,1);
+assert_checkequal(P.namec,"R0000 ");
+assert_checkequal(P.nameb,".00001 ");
+assert_checkequal(P.namran," ");
+assert_checkequal(P.nambnd," ");
+assert_checkequal(P.name,"25FV47 ");
+assert_checkequal(size(P.rownames),[822,1]);
+assert_checkequal(size(P.colnames), [1,1571]);
+assert_checkequal(size(P.rowstat),[822,1]);
+assert_checkequal(size(P.rowcode),[822,2]);
+assert_checkequal(size(P.colcode),[1571,2]);
+assert_checkequal(size(P.rownmbs),[11127,1]);
+assert_checkequal(size(P.colpnts),[1,1572]);
+assert_checkequal(size(P.acoeff),[11127,1]);
+assert_checkequal(size(P.rhs),[822,1]);
+assert_checkequal(size(P.ranges),[822,1]);
+assert_checkequal(size(P.bounds),[1571,2]);
+assert_checkequal(size(P.stavar),[1571,1]);
+disp(P)
diff --git a/modules/optimization/tests/unit_tests/semidef.dia.ref b/modules/optimization/tests/unit_tests/semidef.dia.ref
new file mode 100755
index 000000000..a6240786f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/semidef.dia.ref
@@ -0,0 +1,99 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// 1. Define the initial guess
+x0=[0;0];
+//
+// 2. Create a compressed representation of F
+// Define 3 symmetric block-diagonal matrices: F0, F1, F2
+F0=[2,1,0,0;
+ 1,2,0,0;
+ 0,0,3,1;
+ 0,0,1,3];
+F1=[1,2,0,0;
+ 2,1,0,0;
+ 0,0,1,3;
+ 0,0,3,1];
+F2=[2,2,0,0;
+ 2,2,0,0;
+ 0,0,3,4;
+ 0,0,4,4];
+// Define the size of the two blocks:
+// the first block has size 2,
+// the second block has size 2.
+blocksizes=[2,2];
+// Extract the two blocks of the matrices.
+F01=F0(1:2,1:2);
+F02=F0(3:4,3:4);
+F11=F1(1:2,1:2);
+F12=F1(3:4,3:4);
+F21=F2(1:2,1:2);
+F22=F2(3:4,3:4);
+// Create 3 column vectors, containing nonzero entries
+// in F0, F1, F2.
+F0nnz = list2vec(list(F01,F02));
+F1nnz = list2vec(list(F11,F12));
+F2nnz = list2vec(list(F21,F22));
+// Create a 16-by-3 matrix, representing the
+// nonzero entries of the 3 matrices F0, F1, F2.
+FF=[F0nnz,F1nnz,F2nnz];
+// Compress FF
+CFF = pack(FF,blocksizes);
+//
+// 3. Create a compressed representation of Z
+// Create the matrix Z0
+Z0=2*F0;
+// Extract the two blocks of the matrix
+Z01=Z0(1:2,1:2);
+Z02=Z0(3:4,3:4);
+// Create 2 column vectors, containing nonzero entries
+// in Z0.
+ZZ0 = [Z01(:);Z02(:)];
+// Compress ZZO
+CZZ0 = pack(ZZ0,blocksizes);
+//
+// 4. Create the linear vector c
+c=[trace(F1*Z0);trace(F2*Z0)];
+//
+// 5. Define the algorithm options
+nu = 10;
+abstol=1.d-8;
+reltol=1.d-10;
+tv = 0;
+maxiters = 50;
+options=[nu,abstol,reltol,tv,maxiters];
+// 6. Solve the problem
+[x,CZ,ul,info]=semidef(x0,CZZ0,CFF,blocksizes,c,options);
+
+ primal obj. dual obj. dual. gap
+ 0.00e+000 -6.00e+001 6.00e+001
+ -4.40e+001 -5.09e+001 6.84e+000
+ -4.44e+001 -4.50e+001 6.73e-001
+ -4.44e+001 -4.45e+001 5.11e-002
+ -4.44e+001 -4.44e+001 2.46e-003
+ -4.44e+001 -4.44e+001 3.15e-004
+ -4.44e+001 -4.44e+001 1.54e-005
+ -4.44e+001 -4.44e+001 1.80e-006
+ -4.44e+001 -4.44e+001 1.86e-007
+ -4.44e+001 -4.44e+001 2.00e-008
+ -4.44e+001 -4.44e+001 2.57e-009
+//
+// 7. Check the output
+// Unpack CZ
+Z=unpack(CZ,blocksizes);
+w=vec2list(Z,[blocksizes;blocksizes]);
+Z=sysdiag(w(1),w(2));
+// Check that info states that absolute convergence occurred
+assert_checkequal(info(1),2);
+// Check that ul contains the expected values
+expectedUl1=c'*x;
+assert_checkalmostequal(expectedUl1,ul(1),100*%eps);
+expectedUl2=-trace(F0*Z);
+assert_checkalmostequal(expectedUl2,ul(2),100*%eps);
+// Check Slater's condition, which states that the duality gap is zero at optimum.
+dualitygap = ul(1)-ul(2);
+assert_checktrue(dualitygap < abstol);
diff --git a/modules/optimization/tests/unit_tests/semidef.tst b/modules/optimization/tests/unit_tests/semidef.tst
new file mode 100755
index 000000000..ab5af7655
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/semidef.tst
@@ -0,0 +1,92 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA
+// Copyright (C) 2011 - DIGITEO - INRIA
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+
+// 1. Define the initial guess
+x0=[0;0];
+//
+// 2. Create a compressed representation of F
+// Define 3 symmetric block-diagonal matrices: F0, F1, F2
+F0=[2,1,0,0;
+ 1,2,0,0;
+ 0,0,3,1;
+ 0,0,1,3];
+F1=[1,2,0,0;
+ 2,1,0,0;
+ 0,0,1,3;
+ 0,0,3,1];
+F2=[2,2,0,0;
+ 2,2,0,0;
+ 0,0,3,4;
+ 0,0,4,4];
+// Define the size of the two blocks:
+// the first block has size 2,
+// the second block has size 2.
+blocksizes=[2,2];
+// Extract the two blocks of the matrices.
+F01=F0(1:2,1:2);
+F02=F0(3:4,3:4);
+F11=F1(1:2,1:2);
+F12=F1(3:4,3:4);
+F21=F2(1:2,1:2);
+F22=F2(3:4,3:4);
+// Create 3 column vectors, containing nonzero entries
+// in F0, F1, F2.
+F0nnz = list2vec(list(F01,F02));
+F1nnz = list2vec(list(F11,F12));
+F2nnz = list2vec(list(F21,F22));
+// Create a 16-by-3 matrix, representing the
+// nonzero entries of the 3 matrices F0, F1, F2.
+FF=[F0nnz,F1nnz,F2nnz];
+// Compress FF
+CFF = pack(FF,blocksizes);
+//
+// 3. Create a compressed representation of Z
+// Create the matrix Z0
+Z0=2*F0;
+// Extract the two blocks of the matrix
+Z01=Z0(1:2,1:2);
+Z02=Z0(3:4,3:4);
+// Create 2 column vectors, containing nonzero entries
+// in Z0.
+ZZ0 = [Z01(:);Z02(:)];
+// Compress ZZO
+CZZ0 = pack(ZZ0,blocksizes);
+//
+// 4. Create the linear vector c
+c=[trace(F1*Z0);trace(F2*Z0)];
+//
+// 5. Define the algorithm options
+nu = 10;
+abstol=1.d-8;
+reltol=1.d-10;
+tv = 0;
+maxiters = 50;
+options=[nu,abstol,reltol,tv,maxiters];
+// 6. Solve the problem
+[x,CZ,ul,info]=semidef(x0,CZZ0,CFF,blocksizes,c,options);
+//
+// 7. Check the output
+// Unpack CZ
+Z=unpack(CZ,blocksizes);
+w=vec2list(Z,[blocksizes;blocksizes]);
+
+Z=sysdiag(w(1),w(2));
+// Check that info states that absolute convergence occurred
+assert_checkequal(info(1),2);
+// Check that ul contains the expected values
+expectedUl1=c'*x;
+assert_checkalmostequal(expectedUl1,ul(1),100*%eps);
+expectedUl2=-trace(F0*Z);
+assert_checkalmostequal(expectedUl2,ul(2),100*%eps);
+// Check Slater's condition, which states that the duality gap is zero at optimum.
+dualitygap = ul(1)-ul(2);
+assert_checktrue(dualitygap < abstol);
+
diff --git a/modules/optimization/tests/unit_tests/test1.mps b/modules/optimization/tests/unit_tests/test1.mps
new file mode 100755
index 000000000..a7c566d41
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/test1.mps
@@ -0,0 +1,25 @@
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2011 - DIGITEO - Michael Baudin
+*
+* This file is distributed under the same license as the Scilab package.
+NAME TESTPROB
+ROWS
+ N COST
+ L LIM1
+ G LIM2
+ E MYEQN
+COLUMNS
+ XONE COST 1 LIM1 1
+ XONE LIM2 1
+ YTWO COST 4 LIM1 1
+ YTWO MYEQN -1
+ ZTHREE COST 9 LIM2 1
+ ZTHREE MYEQN 1
+RHS
+ RHS1 LIM1 5 LIM2 10
+ RHS1 MYEQN 7
+BOUNDS
+ UP BND1 XONE 4
+ LO BND1 YTWO -1
+ UP BND1 YTWO 1
+ENDATA
diff --git a/modules/optimization/tests/unit_tests/unpack.dia.ref b/modules/optimization/tests/unit_tests/unpack.dia.ref
new file mode 100755
index 000000000..9a60e4c77
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/unpack.dia.ref
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// Define a compressed list of symmetric block-diagonal matrices.
+// There are 3 matrices in the list, as indicated by the 3 columns in CA.
+// Only the nonzero entries are stored in CA.
+// Only the upper part of the symmetric diagonal matrices are stored in CA.
+CA = [
+2,1,2;
+1,2,2;
+2,1,2;
+3,1,3;
+1,3,4;
+3,1,4
+];
+// Each of the 3 block-diagonal matrices has 2 blocks.
+// Define the size of the two blocks:
+// the first block has size 2,
+// the second block has size 2.
+blocksizes=[2,2];
+// Unpack the matrices.
+A=unpack(CA,blocksizes);
+A_expected = [
+2,1,2;
+1,2,2;
+1,2,2;
+2,1,2;
+3,1,3;
+1,3,4;
+1,3,4;
+3,1,4
+];
+assert_checkequal(A,A_expected);
diff --git a/modules/optimization/tests/unit_tests/unpack.tst b/modules/optimization/tests/unit_tests/unpack.tst
new file mode 100755
index 000000000..bd527593f
--- /dev/null
+++ b/modules/optimization/tests/unit_tests/unpack.tst
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// Define a compressed list of symmetric block-diagonal matrices.
+// There are 3 matrices in the list, as indicated by the 3 columns in CA.
+// Only the nonzero entries are stored in CA.
+// Only the upper part of the symmetric diagonal matrices are stored in CA.
+CA = [
+2,1,2;
+1,2,2;
+2,1,2;
+3,1,3;
+1,3,4;
+3,1,4
+];
+// Each of the 3 block-diagonal matrices has 2 blocks.
+// Define the size of the two blocks:
+// the first block has size 2,
+// the second block has size 2.
+blocksizes=[2,2];
+// Unpack the matrices.
+A=unpack(CA,blocksizes);
+A_expected = [
+2,1,2;
+1,2,2;
+1,2,2;
+2,1,2;
+3,1,3;
+1,3,4;
+1,3,4;
+3,1,4
+];
+assert_checkequal(A,A_expected);