* Bug #4083 fixed - Optimization: fused numdiff and derivative into numderivative 44/5144/21
Michael BAUDIN [Wed, 5 Oct 2011 12:11:07 +0000 (14:11 +0200)]
numdiff() and derivative() were almost duplicates.

Change-Id: I43c3ad60c337191d7cf243cdc63b553fd3fc4bf4

37 files changed:
SEP/INDEX
SEP/SEP_129_numderivative.odt [new file with mode: 0644]
scilab/CHANGES_5.5.X
scilab/modules/differential_equations/help/en_US/diff.xml
scilab/modules/differential_equations/help/en_US/numdiff.xml
scilab/modules/helptools/etc/images_md5.txt
scilab/modules/helptools/images/_LaTeX_numderivative.xml_1.png [new file with mode: 0644]
scilab/modules/optimization/demos/optim/optim_withderivative.sce
scilab/modules/optimization/help/en_US/NDcost.xml
scilab/modules/optimization/help/en_US/derivative.xml
scilab/modules/optimization/help/en_US/neldermead/fminsearch.xml
scilab/modules/optimization/help/en_US/numderivative.xml [new file with mode: 0644]
scilab/modules/optimization/help/en_US/optim.xml
scilab/modules/optimization/help/fr_FR/numderivative.xml [new file with mode: 0644]
scilab/modules/optimization/macros/NDcost.sci
scilab/modules/optimization/macros/bvodeS.sci
scilab/modules/optimization/macros/derivative.sci
scilab/modules/optimization/macros/leastsq.sci
scilab/modules/optimization/macros/numderivative.sci [new file with mode: 0644]
scilab/modules/optimization/macros/numdiff.sci
scilab/modules/optimization/tests/nonreg_tests/bug_12702.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_12702.linux32.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_13243.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_3770.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_4083.dia.ref [new file with mode: 0644]
scilab/modules/optimization/tests/nonreg_tests/bug_4083.tst [new file with mode: 0644]
scilab/modules/optimization/tests/nonreg_tests/bug_8160.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_8160.tst
scilab/modules/optimization/tests/nonreg_tests/bug_9208.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_9208.tst
scilab/modules/optimization/tests/nonreg_tests/bug_9690.dia.ref
scilab/modules/optimization/tests/nonreg_tests/bug_9690.linux32.dia.ref
scilab/modules/optimization/tests/unit_tests/derivative.dia.ref
scilab/modules/optimization/tests/unit_tests/derivative.linux.dia.ref
scilab/modules/optimization/tests/unit_tests/derivative.tst
scilab/modules/optimization/tests/unit_tests/numderivative.dia.ref [new file with mode: 0644]
scilab/modules/optimization/tests/unit_tests/numderivative.tst [new file with mode: 0644]

index 297a003..5ce1fe2 100644 (file)
--- a/SEP/INDEX
+++ b/SEP/INDEX
@@ -90,8 +90,8 @@ SEP #090: New function to access to numerical data in HDF5 files
 SEP #091: New function daskr
 SEP #092: New special functions
 SEP #093: New function cov
-SEP #095: New functions: ismatrix, isrow,iscolumn and issquare.
-SEP #096: cross function.
+SEP #095: New functions: ismatrix, isrow, iscolumn and issquare
+SEP #096: cross function
 SEP #097: New argument added at strtod function (decimalseparator)
 SEP #098: New output argument for qp_solve function
 SEP #099: Matrices of strings as input argument for clear
@@ -124,4 +124,5 @@ SEP #125: New input argument to matfile_open to open Matlab 7.3 files.
 SEP #126: New function unwrap
 SEP #127: jmat tagged as obsolete. New input argument to flipdim to replace jmat.
 SEP #128: nanreglin.
-SEP #129: HTLM parsing functions.
\ No newline at end of file
+SEP #129: HTLM parsing functions.
+SEP #129: Replace obsolete numdiff and derivative with new function numderivative.
diff --git a/SEP/SEP_129_numderivative.odt b/SEP/SEP_129_numderivative.odt
new file mode 100644 (file)
index 0000000..b51a9fb
Binary files /dev/null and b/SEP/SEP_129_numderivative.odt differ
index fea6a6a..d8cf21c 100644 (file)
@@ -142,6 +142,7 @@ Scilab
  - unwrap - Unwraps/unfolds a Y(x) profile
  - getPreferencesValue/setPreferencesValue - Get or set values in the preferences file.
  - htmlDump/htmlRead/htmlReadStr/htmlWrite - Read and write data from/in HTML files.
+ - numderivative - Approximate derivatives of a function (Jacobian or Hessian).
 
 * modulo() and pmodulo() now support integers & hypermatrices (See bug #13002).
 
@@ -197,10 +198,14 @@ Obsolete & Removed Functions
   Please use delip instead.
 
 * jmat tagged as obsolete. Will be removed in Scilab 5.5.1.
-  Please use flipdim instead
+  Please use flipdim instead.
 
 * perl tagged as obsolete. Will be removed in Scilab 6.0.0.
 
+* numdiff and derivative tagged as obsolete. Will be removed in Scilab 6.0.0.
+  Please use numderivative instead.
+
+
 Compilation
 ============
 
@@ -243,6 +248,9 @@ Scilab Bug Fixes
 
 * Bug #2802 fixed - convstr did not convert non ascii chars.
 
+* Bug #4083 fixed - The numdiff and derivative functions were a quasi-duplicate for derivative
+                    and are tagged as obsolete, replaced by numderivative. See SEP #129.
+
 * Bug #4177 fixed - find function moved to the "elementary_functions" module.
 
 * Bug #4401 fixed - isnum did not recognize all constants or some complex numbers.
index 0fc341e..3e1fa27 100644 (file)
@@ -17,7 +17,8 @@
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
-        <synopsis>y=diff(x)
+        <synopsis>
+            y=diff(x)
             y=diff(x [,n [,dim]])
         </synopsis>
     </refsynopsisdiv>
@@ -76,7 +77,8 @@
     </refsection>
     <refsection>
         <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
+        <programlisting role="example">
+            <![CDATA[ 
 v=(1:8)^3;
 diff(v)
 diff(v,3)
@@ -93,7 +95,8 @@ t=0:step:10;
 y=sin(t);
 dy=diff(sin(t))/step; //approximate differentiation of sine function
 norm(dy-cos(t(1:$-1)),%inf)
- ]]></programlisting>
+ ]]>
+        </programlisting>
     </refsection>
     <refsection role="see also">
         <title>See Also</title>
@@ -116,6 +119,9 @@ norm(dy-cos(t(1:$-1)),%inf)
             <member>
                 <link linkend="numdiff">numdiff</link>
             </member>
+            <member>
+                <link linkend="numderivative">numderivative</link>
+            </member>
         </simplelist>
     </refsection>
     
index 88b3152..f3c2124 100644 (file)
@@ -25,7 +25,8 @@
             <varlistentry>
                 <term>fun</term>
                 <listitem>
-                    <para>an external, Scilab function or list. See below for calling
+                    <para>
+                        an external, Scilab function or list. See below for calling
                         sequence, see also <link linkend="external">external</link> for
                         details about external functions.
                         f: R<superscript>n</superscript> --> R<superscript>p</superscript>
@@ -43,7 +44,8 @@
             <varlistentry>
                 <term>dx</term>
                 <listitem>
-                    <para>a vector, the finite difference step. Default value is
+                    <para>
+                        a vector, the finite difference step. Default value is
                         <code>dx = sqrt(%eps)*(1+1d-3*abs(x))</code>.
                     </para>
                 </listitem>
             R<superscript>n</superscript> to R<superscript>p</superscript> computes the <code>p x n</code> matrix
             <varname>g</varname> such that
         </para>
-        <programlisting role="no-scilab-exec"><![CDATA[
+        <programlisting role="no-scilab-exec">
+            <![CDATA[
 g(i,j) = [(df_i)/(dx_j)](x)
- ]]></programlisting>
-        <para>using finite difference methods.
+ ]]>
+        </programlisting>
+        <para>
+            using finite difference methods.
             Uses an order 1 formula.
         </para>
         <para>
@@ -81,14 +86,15 @@ g(i,j) = [(df_i)/(dx_j)](x)
             <literal>g = numdiff(list(fun, param_1, param_2, ..., param_q), x)</literal>.
         </para>
         <para>
-            See the 
-            <link linkend="derivative">derivative</link> with respect to numerical accuracy 
+            See the
+            <link linkend="derivative">derivative</link> with respect to numerical accuracy
             issues and comparison between the two algorithms.
         </para>
     </refsection>
     <refsection>
         <title>Examples</title>
-        <programlisting role="example"><![CDATA[
+        <programlisting role="example">
+            <![CDATA[
 // Example 1 (without parameters)
 // myfun is a function from R^2 to R: (x(1), x(2)) |--> myfun(x)
 function f = myfun(x)
@@ -135,7 +141,67 @@ g = numdiff(myfun, x)
 //    df_3/dx_1  df_3/dx_2  df_3/dx_3 ; ]
 exact3 = [2*x(1) 0 0  ;  x(2)*x(3) x(1)*x(3) x(1)*x(2)  ;  2 2 2]
 
- ]]></programlisting>
+ ]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>History</title>
+        <para>
+            Starting from Scilab 5.5.0, the <literal>numdiff</literal> function is
+            obsolete. It will be removed in Scilab 6.0.0.
+            Please use the <literal>numderivative</literal> function instead.
+        </para>
+        <para>
+            We now discuss how a script using the <literal>numdiff</literal> function can be
+            updated to use the <literal>numderivative</literal> function.
+        </para>
+        <para>
+            Consider the function:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+function f = myfun(x)
+  f = x(1)*x(1)+x(1)*x(2)
+endfunction
+]]>
+        </programlisting>
+        <para>
+            and the point:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+x = [5 8]
+]]>
+        </programlisting>
+        <para>
+            Therefore, the statement:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+g1 = numdiff(myfun, x)
+]]>
+        </programlisting>
+        <para>
+            can be replaced with
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+g2 = numderivative(myfun, x)
+]]>
+        </programlisting>
+        <para>
+            If having exactly the same step is important, we force the step to the same value as in
+            <literal>numdiff</literal>:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+x = [5 8];
+h = sqrt(%eps)*(1+1d-3*abs(x))
+g1 = numdiff(myfun, x)
+g2 = numderivative(myfun, x, h)
+g1 == g2
+]]>
+        </programlisting>
     </refsection>
     <refsection role="see also">
         <title>See Also</title>
@@ -162,6 +228,9 @@ exact3 = [2*x(1) 0 0  ;  x(2)*x(3) x(1)*x(3) x(1)*x(2)  ;  2 2 2]
                 <link linkend="derivative">derivative</link>
             </member>
             <member>
+                <link linkend="numderivative">numderivative</link>
+            </member>
+            <member>
                 <link linkend="external">external</link>
             </member>
         </simplelist>
index 609ad90..f25a475 100644 (file)
@@ -562,6 +562,7 @@ _LaTeX_number_properties.xml_6.png=bf4a89be3c0a01be7a28b3ac7ae25db7
 _LaTeX_number_properties.xml_7.png=9b14e66e7f791eab3fc3872c25023696
 _LaTeX_number_properties.xml_8.png=48e973afa3a18fef9a18d98d4560db88
 _LaTeX_number_properties.xml_9.png=66b801d2193ad02300431cf30d4a7b41
+_LaTeX_numderivative.xml_1.png=acf266aee60273f7f847b316d7d5e3fb
 _LaTeX_ode.xml_1.png=84ae2f6a526a30f59b67ce587fcd28c9
 _LaTeX_pack.xml_1.png=44e43279e4a6173003d2e27d996c92e5
 _LaTeX_percente.xml_1.png=d35411f104304697e6fd27751ab66fc5
diff --git a/scilab/modules/helptools/images/_LaTeX_numderivative.xml_1.png b/scilab/modules/helptools/images/_LaTeX_numderivative.xml_1.png
new file mode 100644 (file)
index 0000000..e52684a
Binary files /dev/null and b/scilab/modules/helptools/images/_LaTeX_numderivative.xml_1.png differ
index c04bf86..d0624ec 100644 (file)
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Michael Baudin
 // Copyright (C) 2010 - DIGITEO - Allan CORNET
@@ -24,7 +25,7 @@ function demo_derivative()
         end
 
         if ((ind == 1) | (ind == 4)) then
-            g = derivative ( rosenbrock , x.' , order = 4 );
+            g = numderivative ( rosenbrock , x.' , order = 4 );
         end
 
     endfunction
@@ -52,10 +53,3 @@ endfunction
 
 demo_derivative();
 clear demo_derivative;
-
-
-
-
-
-
-
index a0805ae..293223f 100644 (file)
@@ -87,7 +87,7 @@ function f=rosenbrock(x,varargin)
 endfunction
 
 x0=[1;2;3;4];
-[f,xopt,gopt]=optim(list(NDcost,rosenbrock,200),x0)
+[fopt,xopt,gopt]=optim(list(NDcost,rosenbrock,200),x0)
 
 // example #2: This example (by Rainer von Seggern) shows a quick (*) way to
 //             identify the parameters of a linear differential equation with
@@ -152,6 +152,7 @@ p0 = [0.5 ; 5];
 // The value of the cost function before optimization:
 cost0 = cost_func(p0, t_obs, x_obs, t0, y0);
 mprintf("\n\r The value of the cost function before optimization = %g \n\r",...
+                                                                        cost0);
 
 // Solution with optim
 [costopt,popt]=optim(list(NDcost,cost_func, t_obs, x_obs, t0, y0),p0,...
@@ -181,7 +182,7 @@ xtitle("Least square fit to identify ode parameters")
                 <link linkend="external">external</link>
             </member>
             <member>
-                <link linkend="derivative">derivative</link>
+                <link linkend="numderivative">numderivative</link>
             </member>
         </simplelist>
     </refsection>
index 5656393..d42c1fe 100644 (file)
@@ -6,7 +6,8 @@
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
-        <synopsis>derivative(F,x)
+        <synopsis>
+            derivative(F,x)
             [J [,H]] = derivative(F,x [,h ,order ,H_form ,Q])
         </synopsis>
     </refsynopsisdiv>
@@ -33,7 +34,8 @@
             <varlistentry>
                 <term>h</term>
                 <listitem>
-                    <para>(optional) real, the stepsize used in the finite difference
+                    <para>
+                        (optional) real, the stepsize used in the finite difference
                         approximations.
                     </para>
                 </listitem>
@@ -41,7 +43,8 @@
             <varlistentry>
                 <term>order</term>
                 <listitem>
-                    <para>(optional) integer, the order of the finite difference formula
+                    <para>
+                        (optional) integer, the order of the finite difference formula
                         used to approximate the derivatives (order = 1,2 or 4, default is
                         order=2 ).
                     </para>
@@ -50,7 +53,8 @@
             <varlistentry>
                 <term>H_form</term>
                 <listitem>
-                    <para>(optional) string, the form in which the Hessean will be
+                    <para>
+                        (optional) string, the form in which the Hessean will be
                         returned. Possible forms are:
                     </para>
                     <variablelist>
@@ -75,7 +79,8 @@
                         <varlistentry>
                             <term>H_form='blockmat' :</term>
                             <listitem>
-                                <para>H is a (mxn) x n block matrix : the classic Hessean
+                                <para>
+                                    H is a (mxn) x n block matrix : the classic Hessean
                                     matrices (of each component of F) are stacked by row (H = [H1
                                     ; H2 ; ... ; Hm] in scilab syntax).
                                 </para>
@@ -84,7 +89,8 @@
                         <varlistentry>
                             <term>H_form='hypermat' :</term>
                             <listitem>
-                                <para>H is a n x n matrix for m=1, and a n x n x m hypermatrix
+                                <para>
+                                    H is a n x n matrix for m=1, and a n x n x m hypermatrix
                                     otherwise. H(:,:,k) is the classic Hessean matrix of the k-th
                                     component of F.
                                 </para>
             <varlistentry>
                 <term>Q</term>
                 <listitem>
-                    <para>(optional) real matrix, orthogonal (default is eye(n,n)). Q is added to have the possibility to remove
+                    <para>
+                        (optional) real matrix, orthogonal (default is eye(n,n)). Q is added to have the possibility to remove
                         the arbitrariness of using the canonical basis to approximate the derivatives of a function and it should be an
-                        orthogonal matrix. It is not mandatory but better to recover the derivative as you need the inverse matrix (and 
+                        orthogonal matrix. It is not mandatory but better to recover the derivative as you need the inverse matrix (and
                         so simply Q' instead of inv(Q)).
                     </para>
                 </listitem>
     </refsection>
     <refsection>
         <title>Description</title>
-        <para>Numerical approximation of the first and second derivatives of a
+        <para>
+            Numerical approximation of the first and second derivatives of a
             function F: <literal> R^n --&gt; R^m</literal> at the point x. The
             Jacobian is computed by approximating the directional derivatives of the
             components of F in the direction of the columns of Q. (For m=1, v=Q(:,k) :
     <refsection>
         <title>Performances</title>
         <para>
-            If the problem is correctly scaled, increasing the accuracy reduces 
+            If the problem is correctly scaled, increasing the accuracy reduces
             the total error but requires more function evaluations.
-            The following list presents the number of function evaluations required to 
-            compute the Jacobian depending on the order of the formula and the dimension of <literal>x</literal>, 
+            The following list presents the number of function evaluations required to
+            compute the Jacobian depending on the order of the formula and the dimension of <literal>x</literal>,
             denoted by <literal>n</literal>:
         </para>
         <itemizedlist>
                 </para>
             </listitem>
         </itemizedlist>
-        <para>Computing the Hessian matrix requires square the number of function evaluations,
+        <para>
+            Computing the Hessian matrix requires square the number of function evaluations,
             as detailed in the following list.
         </para>
         <itemizedlist>
     </refsection>
     <refsection>
         <title>Remarks</title>
-        <para>The step size h must be small to get a low error but if it is too
+        <para>
+            The step size h must be small to get a low error but if it is too
             small floating point errors will dominate by cancellation. As a rule of
             thumb, do not change the default step size. To work around numerical
             difficulties one may also change the order and/or choose different
             optional arguments may also be passed as named arguments, so that one can
             use calls in the form :
         </para>
-        <programlisting><![CDATA[ 
+        <programlisting>
+            <![CDATA[
 derivative(F, x, H_form = "hypermat")
 derivative(F, x, order = 4) etc.
- ]]></programlisting>
+ ]]>
+        </programlisting>
     </refsection>
     <refsection>
         <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
+        <programlisting role="example">
+            <![CDATA[
 function y=F(x)
   y=[sin(x(1)*x(2))+exp(x(2)*x(3)+x(1)) ; sum(x.^3)];
 endfunction
@@ -257,31 +270,33 @@ Je = x'*(A+A')+p'
 He = A+A'
 clean(Je - J)
 clean(He - H)
- ]]></programlisting>
+ ]]>
+        </programlisting>
     </refsection>
     <refsection>
         <title>Accuracy issues</title>
         <para>
             The <literal>derivative</literal> function uses the same step <literal>h</literal>
-            whatever the direction and whatever the norm of <literal>x</literal>. 
-            This may lead to a poor scaling with respect to <literal>x</literal>. 
-            An accurate scaling of the step is not possible without many evaluations 
-            of the function. Still, the user has the possibility to compare the results 
+            whatever the direction and whatever the norm of <literal>x</literal>.
+            This may lead to a poor scaling with respect to <literal>x</literal>.
+            An accurate scaling of the step is not possible without many evaluations
+            of the function. Still, the user has the possibility to compare the results
             produced by the <literal>derivative</literal> and the <literal>numdiff</literal>
-            functions. Indeed, the <literal>numdiff</literal> function scales the 
+            functions. Indeed, the <literal>numdiff</literal> function scales the
             step depending on the absolute value of <literal>x</literal>.
-            This scaling may produce more accurate results, especially if 
+            This scaling may produce more accurate results, especially if
             the magnitude of <literal>x</literal> is large.
         </para>
         <para>
-            In the following Scilab script, we compute the derivative of an 
-            univariate quadratic function. The exact derivative can be 
+            In the following Scilab script, we compute the derivative of an
+            univariate quadratic function. The exact derivative can be
             computed analytically and the relative error is computed.
-            In this rather extreme case, the <literal>derivative</literal> function 
+            In this rather extreme case, the <literal>derivative</literal> function
             produces no significant digits, while the <literal>numdiff</literal>
             function produces 6 significant digits.
         </para>
-        <programlisting role="example"><![CDATA[ 
+        <programlisting role="example">
+            <![CDATA[
  // Difference between derivative and numdiff when x is large
 function y = myfunction (x)
   y = x*x;
@@ -294,20 +309,113 @@ mprintf("Relative error with derivative: %e\n",e)
 fp = numdiff(myfunction,x);
 e = abs(fp-fe)/fe;
 mprintf("Relative error with numdiff: %e\n",e)
-]]></programlisting>
+]]>
+        </programlisting>
         <para>
             The previous script produces the following output.
         </para>
-        <programlisting role="example"><![CDATA[ 
+        <programlisting role="example">
+            <![CDATA[
 Relative error with derivative: 1.000000e+000
 Relative error with numdiff: 7.140672e-006
-]]></programlisting>
+]]>
+        </programlisting>
         <para>
-            In a practical situation, we may not know what is the correct numerical 
-            derivative. Still, we are warned that the numerical derivatives 
+            In a practical situation, we may not know what is the correct numerical
+            derivative. Still, we are warned that the numerical derivatives
             should be used with caution in this specific case.
         </para>
     </refsection>
+    <refsection>
+        <title>History</title>
+        <para>
+            Starting from Scilab 5.5.0, the <literal>derivative</literal> function is
+            obsolete. It will be removed in Scilab 6.0.0.
+            Please use the <literal>numderivative</literal> function instead.
+        </para>
+        <para>
+            We now discuss how a script using the <literal>derivative</literal> function can be
+            updated to use the <literal>numderivative</literal> function.
+        </para>
+        <para>
+            Consider the function:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+function y = F(x)
+  f1 = sin(x(1)*x(2)) + exp(x(2)*x(3)+x(1))
+  f2 = sum(x.^3)
+  y = [f1 ; f2];
+endfunction
+]]>
+        </programlisting>
+        <para>
+            and the point:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+x = [1 ; 2 ; 3];
+]]>
+        </programlisting>
+        <para>
+            Therefore, the statement:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+[J, H] = derivative(F, x)
+]]>
+        </programlisting>
+        <para>
+            can be replaced with
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+[J, H] = numderivative(F, x)
+]]>
+        </programlisting>
+        <para>
+            The statement:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+[J, H] = derivative(F, x, order=4)
+]]>
+        </programlisting>
+        <para>
+            can be replaced by:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+[J, H] = numderivative(F, x, [], 4)
+]]>
+        </programlisting>
+        <para>
+            The statement:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+[J, H] = derivative(F, x, H_form="blockmat")
+]]>
+        </programlisting>
+        <para>
+            can be replaced by:
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+[J, H] = numderivative(F, x, [], [], "blockmat")
+]]>
+        </programlisting>
+        <para>
+            We emphasize that <literal>numderivative</literal> and <literal>derivative</literal> do not
+            use the same strategy for the choice of the default step <literal>h</literal>.
+            Hence, in general, the functions <literal>numderivative</literal> and <literal>derivative</literal>
+            will not produce exactly the same outputs.
+            Still, in general, we expect that <literal>numderivative</literal> is more accurate.
+            It is not easy to get the same step in <literal>numderivative</literal> as in <literal>derivative</literal>,
+            because the choice of the step depends on the degree of
+            differenciation (Jacobian or Hessian) and the order of the formula.
+        </para>
+    </refsection>
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
@@ -332,6 +440,9 @@ Relative error with numdiff: 7.140672e-006
             <member>
                 <link linkend="derivat">derivat</link>
             </member>
+            <member>
+                <link linkend="numderivative">numderivative</link>
+            </member>
         </simplelist>
     </refsection>
 </refentry>
index f9b5294..2a85fd7 100644 (file)
@@ -701,9 +701,8 @@ fopt = 0
                     is (much) lower with <link linkend="optim">optim</link>, when the
                     function is sufficiently smooth. If the derivatives of the function are
                     not available, it is still possible to use numerical derivatives combined
-                    with the <link linkend="optim">optim</link> function (this feature
-                    is provided by the <link linkend="derivative">derivative</link> and
-                    <link linkend="numdiff">numdiff</link> functions).
+                    with the <link linkend="optim">optim</link> function: this feature
+                    is provided by the <link linkend="numderivative">numderivative</link> function.
                     If the function has discontinuous derivatives, the <link linkend="optim">optim</link>
                     function provides the <literal>nd</literal> solver which is very efficient.
                     Still, there are situations where the cost function is discontinuous or "noisy".
diff --git a/scilab/modules/optimization/help/en_US/numderivative.xml b/scilab/modules/optimization/help/en_US/numderivative.xml
new file mode 100644 (file)
index 0000000..bf20a9a
--- /dev/null
@@ -0,0 +1,517 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - Rainer von Seggern
+ * Copyright (C) 2008 - Bruno Pincon
+ * Copyright (C) 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-en.txt
+ *
+ -->
+<refentry version="5.0-subset Scilab"
+          xml:id="numderivative"
+          xml:lang="en"
+          xmlns="http://docbook.org/ns/docbook"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          xmlns:svg="http://www.w3.org/2000/svg"
+          xmlns:ns4="http://www.w3.org/1999/xhtml"
+          xmlns:mml="http://www.w3.org/1998/Math/MathML"
+          xmlns:db="http://docbook.org/ns/docbook">
+    <refnamediv>
+        <refname>numderivative</refname>
+        <refpurpose>approximate derivatives of a function (Jacobian or Hessian)</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Calling Sequence</title>
+        <synopsis>
+            J = numderivative(f, x)
+            J = numderivative(f, x, h)
+            J = numderivative(f, x, h, order)
+            J = numderivative(f, x, h, order, H_form)
+            J = numderivative(f, x, h, order, H_form, Q)
+            [J, H] = numderivative(...)
+        </synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Arguments</title>
+        <variablelist>
+            <varlistentry>
+                <term>f</term>
+                <listitem>
+                    <para>
+                        a function or a list, the function to differenciate.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>x</term>
+                <listitem>
+                    <para>
+                        a n-by-1 or 1-by-n vector of doubles, real, the point where to compute the derivatives.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>h</term>
+                <listitem>
+                    <para>
+                        a 1-by-1 or n-by-1 vector of doubles, the step used in the finite difference
+                        approximations.
+                        If <literal>h</literal> is not provided, then the default step is computed
+                        depending on <literal>x</literal> and the <literal>order</literal>.
+                        If <literal>h</literal> is a 1-by-1 matrix, it is expanded
+                        to the same size as <literal>x</literal>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>order</term>
+                <listitem>
+                    <para>
+                        a 1-by-1 matrix of doubles, integer, positive, the order of the finite difference
+                        formula (default <literal>order=2</literal>).
+                        The available values of <literal>order</literal> are 1, 2 or 4.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H_form</term>
+                <listitem>
+                    <para>
+                        a string, the form in which the Hessian will be
+                        returned (default <literal>H_form="default"</literal>).
+                    </para>
+                    <para>
+                        The available values are "default", "blockmat" or "hypermat".
+                        See the section "The shape of the Hessian" below for details on this option.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>Q</term>
+                <listitem>
+                    <para>
+                        a real matrix of doubles, modifies the directions of differenciation (default is <literal>Q=eye(n,n)</literal>).
+                        The matrix <literal>Q</literal> is expected to be orthogonal. Q provides the possibility to remove
+                        the arbitrariness of using the canonical basis to approximate the derivatives of a function.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>J</term>
+                <listitem>
+                    <para>
+                        a m-by-n matrix of doubles, the approximated Jacobian.
+                        The row <literal>J(k, :)</literal> approximates the gradient of <literal>fk</literal>,
+                        for <literal>k = 1, 2, ..., m</literal>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H</term>
+                <listitem>
+                    <para>
+                        a matrix of doubles, the approximated Hessian.
+                        The elements of <literal>H</literal> approximate the second-order partial derivatives of <literal>f</literal>.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            Computes the approximated Jacobian and Hessian matrices of a function with finite differences.
+        </para>
+        <para>
+            The function <literal>f</literal> takes as
+            input argument <literal>x</literal>, a <literal>n-by-1</literal> vector,
+            and returns <literal>y</literal>, a <literal>m-by-1</literal> vector.
+            In the following, the k-th component of <literal>f</literal>
+            is denoted by <literal>fk</literal> and the Hessian matrix of
+            <literal>fk</literal> is denoted by <literal>Hk</literal>,
+            for <literal>k = 1, 2, ..., m</literal>.
+        </para>
+        <para>
+            Any optional argument equal to the empty matrix <literal>[]</literal>
+            is replaced by its default value.
+        </para>
+        <para>
+            In general, the <literal>order=1</literal> formula provides the
+            largest error (least accurate), the <literal>order = 2</literal> formula provides an average
+            error and the <literal>order=4</literal> formula provides the lowest error (most accurate).
+            However, there are cases for which this is not true: see the section "Accuracy issues" below
+            for more details on this topic.
+        </para>
+        <para>
+            The second derivatives are computed by composition of first order derivatives.
+        </para>
+    </refsection>
+    <refsection>
+        <title>The function</title>
+        <para>
+            The function <literal>f</literal> must have the following header:
+        </para>
+        <screen>
+            y = f (x)
+        </screen>
+        <para>where</para>
+        <variablelist>
+            <varlistentry>
+                <term>x</term>
+                <listitem>
+                    <para>a n-by-1 vector of doubles, the current point</para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>y</term>
+                <listitem>
+                    <para>a m-by-1 vector of doubles, the function value</para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+        <para>
+            It might happen that the function requires additionnal arguments to be evaluated.
+            In this case, we can use the following feature.
+            The argument <literal>f</literal> can also be the list <literal>(myfun, a1, a2, ...)</literal>.
+            In this case, <literal>myfun</literal>, the first element in the list, must be a function and must
+            have the header:
+            <screen>
+                y = myfun (x, a1, a2, ...)
+            </screen>
+            where the input arguments <literal>a1, a2, ...</literal>
+            are automatically appended at the end of the calling sequence.
+        </para>
+    </refsection>
+    <refsection>
+        <title>The shape of the Hessian</title>
+        <para>
+            The <literal>H_form</literal> option changes the dimensions of the output argument
+            <literal>H</literal>.
+            This manages the general case where <literal>m</literal> is different from <literal>1</literal>,
+            that is, when there are several functions to differenciate at the same time.
+        </para>
+        <para>
+            The possible values of <literal>H_form</literal> are:
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term>H_form = "default":</term>
+                <listitem>
+                    <para>
+                        H is a <literal>m-by-(n^2)</literal> matrix; in this form,
+                        the row <literal>H(k, :)</literal> contains <literal>Hk</literal>:
+                    </para>
+                    <screen>
+                        H(k, :) == Hk(:)'
+                    </screen>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H_form = "blockmat":</term>
+                <listitem>
+                    <para>
+                        H is a <literal>(mn)-by-n</literal> matrix: the <literal>n-by-n</literal> Hessian
+                        matrices of each component of <literal>f</literal> are stacked row-by-row, that is:
+                    </para>
+                    <screen>
+                        H == [H1 ; H2 ; ... ; Hm]
+                    </screen>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H_form = "hypermat":</term>
+                <listitem>
+                    <para>
+                        H is a n-by-n matrix for <literal>m=1</literal>, and a n-by-n-by-m hypermatrix otherwise.
+                        The matrix <literal>H(:, :, k)</literal> is the Hessian matrix of the k-th
+                        component of <literal>f</literal>, i.e.
+                    </para>
+                    <screen>
+                        H(:, :, k) == Hk
+                    </screen>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Performances</title>
+        <para>
+            If the problem is correctly scaled, increasing the order of the finite difference formula may reduce
+            the error of approximation but requires more function evaluations.
+            The following list presents the number of function evaluations required to
+            compute the Jacobian depending on the order of the formula and the dimension of <literal>x</literal>,
+            denoted by <literal>n</literal>:
+        </para>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <literal>order = 1</literal>, the number of function evaluations is <literal>n+1</literal>,
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 2</literal>, the number of function evaluations is <literal>2n</literal>,
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 4</literal>, the number of function evaluations is <literal>4n</literal>.
+                </para>
+            </listitem>
+        </itemizedlist>
+        <para>
+            Computing the Hessian matrix requires square the number of function evaluations,
+            as detailed in the following list.
+        </para>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <literal>order = 1</literal>, the number of function evaluations is <literal>(n+1)^2</literal> (total is <literal>(n+1)^2+n+1</literal>),
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 2</literal>, the number of function evaluations is <literal>4n^2</literal> (total is <literal>4n^2+2n</literal>),
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 4</literal>, the number of function evaluations is <literal>16n^2</literal> (total is <literal>16n^2+4n</literal>).
+                </para>
+            </listitem>
+        </itemizedlist>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example">
+            <![CDATA[
+// The function to differenciate
+function y = f(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
+
+// Compute the approximate Jacobian, the Hessian
+x = [1; 2; 3];
+J = numderivative(f, x)
+[J, H] = numderivative(f, x)
+
+// Compare with exact derivatives
+[g1, g2] = exactg(x);
+Jexact = [g1'; g2']
+[H1, H2] = exactH(x);
+Hexact = [H1(:)'; H2(:)']
+
+// Configure the step
+J = numderivative(f, x, 1.e-1)
+
+// Configure the order
+J = numderivative(f, x, [], 4)
+
+// Configure Hessian shapes
+[J, H] = numderivative(f, x, [], [], "blockmat")
+[J, H] = numderivative(f, x, [], [], "hypermat")
+
+// Configure Q
+n = 3;
+Q = qr(rand(n, n))
+J = numderivative(f, x, [], [], [], Q)
+
+// Test order 1, 2 and 4 formulas.
+// For the order 4 formula, there are some entries in H
+// which are computed as nonzero.
+[g1, g2] = exactg(x);
+[H1, H2] = exactH(x);
+Jexact = [g1'; g2'];
+Hexact = [H1(:)'; H2(:)'];
+for i = [1, 2, 4]
+  [J, H] = numderivative(f, x, [], i);
+  dJ = floor(min(assert_computedigits(J, Jexact)));
+  dH = floor(min(assert_computedigits(H, Hexact)));
+  mprintf("order = %d, dJ = %d, dH = %d \n", i, dJ, dH);
+end
+]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Passing extra parameters</title>
+        <para>
+            In the following example, we use a function which requires the extra-argument
+            <literal>p</literal>.
+            Hence, we use the feature that the argument <literal>f</literal>
+            can be a list, where the first argument is the function
+            <literal>G</literal> and the remaining elements are automatically passed
+            to the function.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+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
+
+p = 1;
+[J, H] = numderivative(list(G, p), x)
+]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>The Taylor formula</title>
+        <para>
+            If <literal>H</literal> is given in its default form, then the Taylor series of
+            <literal>f(x)</literal> up to terms of second order is given by:
+        </para>
+        <para>
+            <latex>
+                <![CDATA[
+f(x+h)\approx f(x)+J(x) h + \frac{1}{2} h^T H(x) h
+]]>
+            </latex>
+        </para>
+        <para>
+            In the following script, we check this formula with numerical differences.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+// The function to differenciate
+function y = f(x)
+  f1 = sin(x(1)*x(2)) + exp(x(2)*x(3)+x(1))
+  f2 = sum(x.^3)
+  y = [f1; f2]
+endfunction
+x = [1; 2; 3];
+dx = 1e-3*[1; 1; -1];
+[J, H] = numderivative(f, x);
+f(x+dx)
+f(x+dx)-f(x)
+f(x+dx)-f(x)-J*dx
+f(x+dx)-f(x)-J*dx-1/2*H*(dx .*. dx)
+]]>
+        </programlisting>
+        <para>
+            In the following example, we use a function which requires three extra-arguments
+            <literal>A</literal>, <literal>p</literal> and <literal>w</literal>.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+// A trivial example
+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")
+]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Accuracy issues</title>
+        <para>
+            When the step <literal>h</literal> is not provided, the <literal>numderivative</literal>
+            function tries to compute a step which provides a sufficient accuracy.
+            This step depends on the degree of the derivative (Jacobian or Hessian),
+            the order of the formula and the point <literal>x</literal>.
+            More precisely, if <literal>x</literal> is nonzero,
+            then the default step <literal>h</literal> is a vector with the
+            same size as <literal>x</literal>, scaled with the absolute value
+            of <literal>x</literal>.
+        </para>
+        <para>
+            In the following example, we compute the derivative of the square root function.
+            The following script plots a graph which represents the relative error of the
+            numerical derivative depending on the step.
+            We can see that there is an optimal step which minimizes the relative error.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+// Its exact derivative
+function y = mydsqrt (x)
+    y = 0.5 * x^(-0.5)
+endfunction
+
+x = 1.0;
+n = 1000;
+logharray = linspace (-16, 0, n);
+for i = 1:n
+    h = 10^(logharray(i));
+    expected = mydsqrt(x);
+    computed = numderivative (sqrt, x, h);
+    relerr = abs(computed - expected) / abs(expected);
+    logearray (i) = log10 (relerr);
+end
+scf();
+plot (logharray, logearray);
+xtitle("Relative error of numderivative (x = 1.0)", ..
+  "log(h)", "log(RE)");
+]]>
+        </programlisting>
+        <para>
+            The strategy in <literal>numderivative</literal> provides a sufficient accuracy in many
+            cases, but can fail to be accurate in some cases.
+            In fact, the optimal step also depends on the function value <literal>f(x)</literal>
+            and is second derivative, both of which are unknown at the time where the
+            default step is computed.
+            See "Practical optimization", by Gill, Murray and Wright, Academic Press, 1981,
+            for more details on this topic.
+            The relevant sections are "4.6.1. Finite-difference Approximations to First
+            Derivatives" and "8.6 Computing finite differences".
+        </para>
+        <para>
+        </para>
+    </refsection>
+    <refsection>
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>5.5.0</revnumber>
+                <revdescription>
+                    Function <literal>numderivative</literal> introduced.
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
+</refentry>
index a9e2580..8a9186a 100644 (file)
             f = 0.5 * norm(x - xref)^2;
             g = x - xref;
             endfunction
-            
+
             // Simplest call
             x0 = [1; -1; 1];
             [fopt, xopt] = optim(cost, x0)
-            
+
             // Use "gc" algorithm
             [fopt, xopt, gopt] = optim(cost, x0, "gc")
-            
+
             // Use "nd" algorithm
             [fopt, xopt, gopt] = optim(cost, x0, "nd")
-            
+
             // Upper and lower bounds on x
             [fopt, xopt, gopt] = optim(cost, "b", [-1;0;2], [0.5;1;4], x0)
-            
+
             // Upper and lower bounds on x and setting up the algorithm to "gc"
             [fopt, xopt, gopt] = optim(cost, "b", [-1; 0; 2], [0.5; 1; 4], x0, "gc")
-            
+
             // Bound on the number of calls to the objective function
             [fopt, xopt, gopt] = optim(cost, "b", [-1; 0; 2], [0.5; 1; 4], x0, "gc", "ar", 3)
-            
+
             // Set max number of calls to the objective function (3)
             // Set max number of iterations (100)
             // Set stopping threshold on the value of f (1e-6),
             // on the value of the norm of the gradient of the objective function (1e-6)
             // on the improvement on the parameters x_opt (1e-6;1e-6;1e-6)
             [fopt, xopt, gopt] = optim(cost, "b", [-1; 0; 2], [0.5; 1; 4], x0, "gc", "ar", 3, 100, 1e-6, 1e-6, [1e-3; 1e-3; 1e-3])
-            
+
             // Additional messages are printed in the console.
             [fopt, xopt] = optim(cost, x0, imp = 3)
         </programlisting>
             mprintf("f(x) = %s, |g(x)|=%s\n", string(f), string(norm(g)))
             end
             endfunction
-            
+
             x0 = [1; -1; 1];
             [fopt, xopt] = optim(cost, x0, imp = -1)
         </programlisting>
             g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
             g(2) = 200. * ( x(2) - x(1)**2 )
             endfunction
-            
+
             // 2. Define rosenbrock for contouring
             function f = rosenbrockC ( x1 , x2 )
             x = [x1 x2]
             ind = 4
             [ f , g , ind ] = rosenbrock ( x , ind )
             endfunction
-            
+
             // 3. Define Rosenbrock for plotting
             function [ f , g , ind ] = rosenbrockPlot ( x , ind )
             [ f , g , ind ] = rosenbrock ( x , ind )
             plot ( x(1) , x(2) , "g." )
             end
             endfunction
-            
+
             // 4. Draw the contour of Rosenbrock's function
             x0 = [-1.2 1.0];
             xopt = [1.0 1.0];
             contour ( xdata , ydata , rosenbrockC , [1 10 100 500 1000])
             plot(x0(1) , x0(2) , "b.")
             plot(xopt(1) , xopt(2) , "r*")
-            
+
             // 5. Plot the optimization process, during optimization
             [fopt, xopt] = optim ( rosenbrockPlot , x0 , imp = -1)
         </programlisting>
             g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
             g(2) = 200. * ( x(2) - x(1)**2 )
             endfunction
-            
+
             function f=rosenbrockC(x1, x2)
             x = [x1 x2]
             ind = 4
             [ f , g , ind ] = rosenbrock ( x , ind )
             endfunction
-            
+
             function [f, g, ind]=rosenbrockPlot(x, ind)
             [ f , g , ind ] = rosenbrock ( x , ind )
             if (ind == 1) then
             plot ( x(1) , x(2) , "g." )
             end
             endfunction
-            
+
             x0 = [-1.2 1.0];
             xopt = [1.0 1.0];
             xdata = linspace(-2,2,100);
             plot(xopt(1) , xopt(2) , "r*")
             [fopt, xopt] = optim ( rosenbrockPlot , x0 , imp = -1)
         </scilab:image>
-        
+
     </refsection>
     <refsection>
         <title>Example: Optimizing with numerical derivatives</title>
         <para>It is possible to optimize a problem without an explicit knowledge
             of the derivative of the cost function. For this purpose, we can use the
-            numdiff or derivative function to compute a numerical derivative of the
+            <literal>numderivative</literal> function to compute a numerical derivative of the
             cost function.
         </para>
-        <para>In the following example, we use the numdiff function to solve
+        <para>In the following example, we use the <literal>numderivative</literal> function to solve
             Rosenbrock's problem.
         </para>
         <programlisting role="example">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 )
             f = rosenbrock ( x );
-            g= numdiff ( rosenbrock , x );
+            g = numderivative ( rosenbrock , x );
             endfunction
-            
+
             x0 = [-1.2 1.0];
-            
+
             [ fopt , xopt ] = optim ( rosenbrockCost , x0 )
         </programlisting>
-        <para>In the following example, we use the derivative function to solve
-            Rosenbrock's problem. Given that the step computation strategy is not the
-            same in numdiff and derivative, this might lead to improved
-            results.
-        </para>
-        <programlisting role="example">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
-            
-            x0 = [-1.2 1.0];
-            [fopt , xopt] = optim ( rosenbrockCost2 , x0 )
-        </programlisting>
     </refsection>
     <refsection>
         <title>Example: Counting function evaluations and number of
@@ -973,7 +956,7 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             g(1) = 2 * a * ( x(1) - c )
             g(2) = 2 * b * ( x(2) - d )
             endfunction
-            
+
             x0 = [1 1];
             a = 1.0;
             b = 2.0;
@@ -1001,7 +984,7 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             g(1) = 2 * a * ( x(1) - c )
             g(2) = 2 * b * ( x(2) - d )
             endfunction
-            
+
             x0 = [1 1];
             a = 1.0;
             b = 2.0;
@@ -1015,7 +998,7 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             "c"
             "d"
             ]);
-            
+
             parameters.a = a;
             parameters.b = b;
             parameters.c = c;
@@ -1083,11 +1066,11 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
         </para>
         <para>In the following example, we give a false implementation of
             Rosenbrock's gradient. In order to check the computation of the
-            derivatives, we use the <literal>derivative</literal> function. We define
+            derivatives, we use the <literal>numderivative</literal> function. We define
             the <literal>simplified</literal> function, which delegates the
             computation of <literal>f</literal> to the rosenbrock function. The
             <literal>simplified</literal> function is passed as an input argument of
-            the <literal>derivative</literal> function.
+            the <literal>numderivative</literal> function.
         </para>
         <programlisting role="example">function [ f , g , index ] = rosenbrock ( x , index )
             f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
@@ -1097,16 +1080,16 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             g(1) = - 1200. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
             g(2) = 200. * ( x(2) - x(1)**2 )
             endfunction
-            
+
             function f = simplified ( x )
             index = 1;
             [ f , g , index ] = rosenbrock ( x , index )
             endfunction
-            
+
             x0 = [-1.2 1];
             index = 1;
             [ f , g , index ] = rosenbrock ( x0 , index );
-            gnd = derivative ( simplified , x0.' );
+            gnd = numderivative ( simplified , x0.' );
             mprintf("Exact derivative:[%s]\n" , strcat ( string(g) , " " ));
             mprintf("Numerical derivative:[%s]\n" , strcat ( string(gnd) , " " ));
         </programlisting>
@@ -1156,13 +1139,13 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             '}'];
             cd TMPDIR;
             mputl(C, TMPDIR+'/rosenc.c')
-            
+
             // compile the C code
             l = ilib_for_link('rosenc', 'rosenc.c', [], 'c');
-            
+
             // incremental linking
             link(l, 'rosenc', 'c')
-            
+
             //solve the problem
             x0 = [40; 10; 50];
             p = 100;
@@ -1201,13 +1184,13 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             '      end'];
             cd TMPDIR;
             mputl(F, TMPDIR+'/rosenf.f')
-            
+
             // compile the Fortran code
             l = ilib_for_link('rosenf', 'rosenf.f', [], 'f');
-            
+
             // incremental linking
             link(l, 'rosenf', 'f')
-            
+
             //solve the problem
             x0 = [40; 10; 50];
             p = 100;
@@ -1288,13 +1271,13 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             '      end'];
             cd TMPDIR;
             mputl(fortransource, TMPDIR + '/rosenf.f')
-            
+
             // compile the C code
             libpath = ilib_for_link('rosenf', 'rosenf.f', [], 'f');
-            
+
             // incremental linking
             linkid = link(libpath, 'rosenf', 'f');
-            
+
             x0 = 1.2 * ones(1, 5);
             //
             // Solve the problem
@@ -1413,23 +1396,23 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
             x0 = 0.12 * bs;
             epsx = 1.e-15 * x0;
             xopt = .1*bs;
-            
+
             // 'ti' and 'td' always at the end of the output sequence
             [f, x, ti, td]                           = optim('rosenf', x0, 'in', 'si', 'sd')
             [f, x, g, ti, td]                        = optim('rosenf', x0, 'in', 'si', 'sd')
             [f, x, g, w, ti, td]                     = optim('rosenf', x0, 'in', 'si', 'sd')
             [f, x, g, w, niter, nevals, ti, td]      = optim('rosenf', x0, 'in', 'si', 'sd')
             [f, x, g, w, niter, nevals, err, ti, td] = optim('rosenf', x0, 'in', 'si', 'sd')
-            
+
             // With input argument 'in', ti and td will be initialized by rosenf function.
             [f, x, ti, td] = optim('rosenf', x0, 'in', 'si', 'sd')
             // Reuses the last ti and td for the next call and return it again.
             [f, x, ti, td] = optim('rosenf', x0, 'ti', ti, 'td', td, 'si', 'sd')
-            
+
             // Initializes ti and td but return only ti
             [f, x, ti] = optim('rosenf', x0, 'in', 'si')
             [f, x, ti] = optim('rosenf', x0, 'ti', ti, 'si')
-            
+
             // Initializes ti and td but return only td
             [f, x, td] = optim('rosenf', x0, 'in', 'sd')
             [f, x, td] = optim('rosenf', x0, 'td', td, 'sd')
@@ -1451,10 +1434,7 @@ mprintf ( "Number of iterations: %d\n", _MYDATA_.niter );
                 <link linkend="leastsq">leastsq</link>
             </member>
             <member>
-                <link linkend="numdiff">numdiff</link>
-            </member>
-            <member>
-                <link linkend="derivative">derivative</link>
+                <link linkend="numderivative">numderivative</link>
             </member>
             <member>
                 <link linkend="NDcost">NDcost</link>
diff --git a/scilab/modules/optimization/help/fr_FR/numderivative.xml b/scilab/modules/optimization/help/fr_FR/numderivative.xml
new file mode 100644 (file)
index 0000000..92329b4
--- /dev/null
@@ -0,0 +1,517 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013 - Paul Bignier
+ * Copyright (C) 2008 - Rainer von Seggern
+ * Copyright (C) 2008 - Bruno Pincon
+ * Copyright (C) 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-en.txt
+ *
+ -->
+<refentry version="5.0-subset Scilab"
+          xml:id="numderivative"
+          xml:lang="fr"
+          xmlns="http://docbook.org/ns/docbook"
+          xmlns:xlink="http://www.w3.org/1999/xlink"
+          xmlns:svg="http://www.w3.org/2000/svg"
+          xmlns:ns4="http://www.w3.org/1999/xhtml"
+          xmlns:mml="http://www.w3.org/1998/Math/MathML"
+          xmlns:db="http://docbook.org/ns/docbook">
+    <refnamediv>
+        <refname>numderivative</refname>
+        <refpurpose>approximation des dérivées d'une fonction (matrices jacobienne ou hessienne)</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv>
+        <title>Séquence d'appel</title>
+        <synopsis>
+            J = numderivative(f, x)
+            J = numderivative(f, x, h)
+            J = numderivative(f, x, h, order)
+            J = numderivative(f, x, h, order, H_form)
+            J = numderivative(f, x, h, order, H_form, Q)
+            [J, H] = numderivative(...)
+        </synopsis>
+    </refsynopsisdiv>
+    <refsection>
+        <title>Paramètres</title>
+        <variablelist>
+            <varlistentry>
+                <term>f</term>
+                <listitem>
+                    <para>
+                        une fonction ou une liste, la fonction à différencier.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>x</term>
+                <listitem>
+                    <para>
+                        un vecteur de réels n-par-1 ou 1-par-n, le point où calculer la dérivée.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>h</term>
+                <listitem>
+                    <para>
+                        un vecteur de réels 1-par-1 ou n-par-1, le pas utilisé dans les approximations
+                        aux différences finies.
+                        Si <literal>h</literal> n'est pas fourni, alors le pas par défaut est calculé
+                        suivant <literal>x</literal> et l'ordre, <literal>order</literal>.
+                        Si <literal>h</literal> est une matrice 1-par-1, elle est étendue
+                        à la même taille que <literal>x</literal>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>order</term>
+                <listitem>
+                    <para>
+                        une matrice d'entiers positifs 1-par-1, l'ordre de la formule de différences
+                        finies (par défaut, <literal>order=2</literal>).
+                        Les valeurs possibles de <literal>order</literal> sont 1, 2 et 4.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H_form</term>
+                <listitem>
+                    <para>
+                        une chaîne de caractères, la forme sous laquelle la matrice hessienne est souhaitée
+                        en retour (par défaut, <literal>H_form="default"</literal>).
+                    </para>
+                    <para>
+                        Les valeurs possibles sont "default", "blockmat" et "hypermat".
+                        Voir la section "Forme de la matrice hessienne" ci-dessous pour des détails sur cette option.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>Q</term>
+                <listitem>
+                    <para>
+                        une matrice de réels, modifie la direction de différenciation (par défaut, <literal>Q=eye(n,n)</literal>).
+                        La matrice <literal>Q</literal> doit être orthogonale. Q fournit la possibilité de retirer
+                        l'arbitrarité de l'utilisation de la base canonique pour approximer les dérivées de la fonction.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>J</term>
+                <listitem>
+                    <para>
+                        une matrice réelle m-par-n, l'approximation de la matrice jacobienne.
+                        La ligne <literal>J(k, :)</literal> approche le gradient de <literal>fk</literal>,
+                        pour <literal>k = 1, 2, ..., m</literal>.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H</term>
+                <listitem>
+                    <para>
+                        une matrice réelle, l'approximation de la matrice hessienne.
+                        Les éléments de <literal>H</literal> approchent les dérivées partielles de second ordre de <literal>f</literal>.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Description</title>
+        <para>
+            Calcule une approximation des matrices jacobienne et hessienne d'une fonction par différences finies.
+        </para>
+        <para>
+            La fonction <literal>f</literal> prend comme paramètre d'entrée
+            <literal>x</literal>, un vecteur <literal>n-par-1</literal>,
+            et retourne <literal>y</literal>, un vecteur <literal>m-par-1</literal>.
+            Dans la suite, la k-ème composante de <literal>f</literal>
+            est notée <literal>fk</literal> et la matrice hessienne de
+            <literal>fk</literal> est notée <literal>Hk</literal>,
+            pour <literal>k = 1, 2, ..., m</literal>.
+        </para>
+        <para>
+            Tout paramètre égal à la matrice vide <literal>[]</literal>
+            sera remplacé par sa valeur par défaut.
+        </para>
+        <para>
+            En général, la formule découlant de <literal>order=1</literal>
+            fournit une erreur maximale (la moins précise), la formule de <literal>order = 2</literal> fournit une erreur
+            moyenne et la formule <literal>order=4</literal> la plus faible erreur (la plus précise).
+            Cela est faux dans certains cas : voir la section "Problèmes de précision" ci-dessous
+            pour plus de détails.
+        </para>
+        <para>
+            Les dérivées secondes sont calculées par composition des dérivées du premier ordre.
+        </para>
+    </refsection>
+    <refsection>
+        <title>La fonction</title>
+        <para>
+            La fonction <literal>f</literal> doit avoir le prototype suivant :
+        </para>
+        <screen>
+            y = f (x)
+        </screen>
+        <para>où</para>
+        <variablelist>
+            <varlistentry>
+                <term>x</term>
+                <listitem>
+                    <para>un vecteur de réels n-par-1, le point actuel</para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>y</term>
+                <listitem>
+                    <para>un vecteur de réels m-par-1, la valeur de la fonction</para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+        <para>
+            Il se peut que la fonction requière des paramètres additionnels pour être évaluée.
+            Dans ce cas, on peut utiliser la fonctionnalité suivante.
+            Le paramètre <literal>f</literal> peut aussi être une liste <literal>(myfun, a1, a2, ...)</literal>.
+            Dans ce cas, <literal>myfun</literal>, le premier élément de la liste, doit être une fonction au prototype :
+            <screen>
+                y = myfun (x, a1, a2, ...)
+            </screen>
+            où les paramètres d'entrée <literal>a1, a2, ...</literal>
+            sont concaténés automatiquement à la fin de la séquence d'appel.
+        </para>
+    </refsection>
+    <refsection>
+        <title>Forme de la matrice hessienne</title>
+        <para>
+            L'option <literal>H_form</literal> change les dimensions du paramètre de sortie
+            <literal>H</literal>.
+            Elle gère le cas général où <literal>m</literal> est différent de <literal>1</literal>,
+            c'est-à-dire quand il y a plusieurs fonctions à différencier en même temps.
+        </para>
+        <para>
+            Les valeurs possibles de <literal>H_form</literal> sont :
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term>H_form = "default" :</term>
+                <listitem>
+                    <para>
+                        H est une matrice <literal>m-par-(n^2)</literal>; sous cette forme,
+                        la ligne <literal>H(k, :)</literal> contient <literal>Hk</literal>:
+                    </para>
+                    <screen>
+                        H(k, :) == Hk(:)'
+                    </screen>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H_form = "blockmat" :</term>
+                <listitem>
+                    <para>
+                        H est une matrice <literal>(mn)-par-n</literal> : les matrices hessiennes <literal>n-par-n</literal>
+                        de chaque composante de <literal>f</literal> sont stockées ligne par ligne, c'est-à-dire :
+                    </para>
+                    <screen>
+                        H == [H1 ; H2 ; ... ; Hm]
+                    </screen>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>H_form = "hypermat" :</term>
+                <listitem>
+                    <para>
+                        H est une matrice n-par-n pour <literal>m=1</literal>, et une hypermatrice n-par-n-par-m sinon.
+                        La matrice <literal>H(:, :, k)</literal> est la matrice hessienne de la k-ème
+                        composante de <literal>f</literal>, i.e.
+                    </para>
+                    <screen>
+                        H(:, :, k) == Hk
+                    </screen>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Performances</title>
+        <para>
+            Si le problème est correctement dimensionné, augmenter l'ordre de la formule de différences finies peut réduire
+            l'erreur d'approximation mais requiert plus d'évaluations de la fonction.
+            La liste suivante présente le nombre d'évaluations nécéssaires au calcul du
+            Jacobien suivant l'ordre de la formule et la dimension de <literal>x</literal>,
+            notée <literal>n</literal> :
+        </para>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <literal>order = 1</literal>, <literal>n+1</literal> evaluations,
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 2</literal>, <literal>2n</literal> évaluations,
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 4</literal>, <literal>4n</literal> évaluations.
+                </para>
+            </listitem>
+        </itemizedlist>
+        <para>
+            Calculer la matrice hessienne requiert le carré du nombre d'évaluations,
+            comme détaillé ci-après :
+        </para>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <literal>order = 1</literal>, <literal>(n+1)^2</literal> évaluations (au total <literal>(n+1)^2+n+1</literal>),
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 2</literal>, <literal>4n^2</literal> évaluations (au total <literal>4n^2+2n</literal>),
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>order = 4</literal>, <literal>16n^2</literal> évaluations (au total <literal>16n^2+4n</literal>).
+                </para>
+            </listitem>
+        </itemizedlist>
+    </refsection>
+    <refsection>
+        <title>Exemples</title>
+        <programlisting role="example">
+            <![CDATA[
+// La fonction à différencier
+function y = f(x)
+  f1 = sin(x(1)*x(2)) + exp(x(2)*x(3)+x(1))
+  f2 = sum(x.^3)
+  y = [f1; f2]
+endfunction
+// Le gradient exact
+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
+// La hessienne exacte
+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
+
+// Calcul du jacobien et de la hessienne
+x = [1; 2; 3];
+J = numderivative(f, x)
+[J, H] = numderivative(f, x)
+
+// Comparaison avec les valeurs exactes
+[g1, g2] = exactg(x);
+Jexact = [g1'; g2']
+[H1, H2] = exactH(x);
+Hexact = [H1(:)'; H2(:)']
+
+// Configuration du pas
+J = numderivative(f, x, 1.e-1)
+
+// Configuration de l'ordre
+J = numderivative(f, x, [], 4)
+
+// Configuration de la forme de la hessienne
+[J, H] = numderivative(f, x, [], [], "blockmat")
+[J, H] = numderivative(f, x, [], [], "hypermat")
+
+// Configuration de Q
+n = 3;
+Q = qr(rand(n, n))
+J = numderivative(f, x, [], [], [], Q)
+
+// Test des formules d'ordre 1, 2 et 4.
+// Pour la formule d'ordre 4, certaines entrées de H
+// sont calculées comme non-nulles.
+[g1, g2] = exactg(x);
+[H1, H2] = exactH(x);
+Jexact = [g1'; g2'];
+Hexact = [H1(:)'; H2(:)'];
+for i = [1, 2, 4]
+  [J, H] = numderivative(f, x, [], i);
+  dJ = floor(min(assert_computedigits(J, Jexact)));
+  dH = floor(min(assert_computedigits(H, Hexact)));
+  mprintf("ordre = %d, dJ = %d, dH = %d \n", i, dJ, dH);
+end
+]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Paramètres additionnels</title>
+        <para>
+            Dans l'exemple suivant, on utilise une fonction qui requiert le paramètre additionnel
+            <literal>p</literal>.
+            Soit, on utilise le fait que <literal>f</literal> puisse être une liste,
+            où le premier paramètre de la fonction
+            <literal>G</literal> et les éléments restants sont automatiquement passés
+            à la fonction.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+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
+
+p = 1;
+h = 1e-3;
+[J, H] = numderivative(list(G, p), x)
+]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>La formule de Taylor</title>
+        <para>
+            Si <literal>H</literal> est donnée sous sa forme par défaut, alors les séries de Taylor de
+            <literal>f(x)</literal> jusqu'aux termes de second ordre sont donnés par :
+        </para>
+        <para>
+            <latex>
+                <![CDATA[
+f(x+h)\approx f(x)+J(x) h + \frac{1}{2} h^T H(x) h
+]]>
+            </latex>
+        </para>
+        <para>
+            Dans le script suivant, on vérifié que cette formule à l'aide de différences finies.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+// La fonction à différencier
+function y = f(x)
+  f1 = sin(x(1)*x(2)) + exp(x(2)*x(3)+x(1))
+  f2 = sum(x.^3)
+  y = [f1; f2]
+endfunction
+x = [1; 2; 3];
+dx = 1e-3*[1; 1; -1];
+[J, H] = numderivative(f, x);
+f(x+dx)
+f(x+dx)-f(x)
+f(x+dx)-f(x)-J*dx
+f(x+dx)-f(x)-J*dx-1/2*H*(dx .*. dx)
+]]>
+        </programlisting>
+        <para>
+            Dans l'exemple suivant, on utilise une fonction qui requiert trois paramètres additionnnels
+            <literal>A</literal>, <literal>p</literal> et <literal>w</literal>
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+// Un exemple trivial
+function y = f(x, A, p, w)
+  y = x'*A*x + p'*x + w;
+endfunction
+// avec les matrices jacobienne et hessienne données par
+// J(x) = x'*(A+A')+p' et 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")
+]]>
+        </programlisting>
+    </refsection>
+    <refsection>
+        <title>Problèmes de précision</title>
+        <para>
+            Quand le pas <literal>h</literal> n'est pas fourni, la fonction <literal>numderivative</literal>
+            tente de calculer un pas qui donne une précision suffisante.
+            Ce pas dépend du degré des dérivées (jacobienne ou hessienne),
+            l'ordre de la formule et le point <literal>x</literal>.
+            Plus précisément, si <literal>x</literal> est non-nul,
+            alors le pas par défaut <literal>h</literal> est un vecteur de même taille que
+            <literal>x</literal>, dimensionné à la valeur absolue de
+            <literal>x</literal>.
+        </para>
+        <para>
+            Dans l'exemple suivant, on calcule la dérivée de la fonction racine carrée.
+            Le script suivant affiche un graphe représentant l'erreur relative de la
+            dérivée numérique en fonction du pas.
+            On peut voir qu'il y a un pas optimal qui minimise l'erreur relative.
+        </para>
+        <programlisting role="example">
+            <![CDATA[
+// Sa dérivée exacte
+function y = mydsqrt (x)
+    y = 0.5 * x^(-0.5)
+endfunction
+
+x = 1.0;
+n = 1000;
+logharray = linspace (-16, 0, n);
+for i = 1:n
+    h = 10^(logharray(i));
+    expected = mydsqrt(x);
+    computed = numderivative (sqrt, x, h);
+    relerr = abs(computed - expected) / abs(expected);
+    logearray (i) = log10 (relerr);
+end
+scf();
+plot (logharray, logearray);
+xtitle("Erreur relative de numderivative (x = 1.0)", ..
+  "log(h)", "log(ER)");
+]]>
+        </programlisting>
+        <para>
+            La stratégie de <literal>numderivative</literal> fournit une précision suffisante dans
+            beaucoup de cas, mais peut ne pas être assez précise dans certains cas.
+            En fait, le pas optimal dépend aussi de la valeur de la fonction <literal>f(x)</literal>
+            et de sa dérivée seconde, lesquelles sont inconnues au moment ou le pas par défaut est calculé.
+            Voir "Practical optimization", par Gill, Murray et Wright, Academic Press, 1981,
+            pour plus de détails.
+            Les sections pertinentes sont "4.6.1. Finite-difference Approximations to First
+            Derivatives" et "8.6 Computing finite differences".
+        </para>
+        <para>
+        </para>
+    </refsection>
+    <refsection>
+        <title>Historique</title>
+        <revhistory>
+            <revision>
+                <revnumber>5.5.0</revnumber>
+                <revdescription>
+                    Fonction <literal>numderivative</literal> introduite.
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
+</refentry>
index e93ba84..5d5ba83 100644 (file)
@@ -12,9 +12,9 @@ function [f, g, ind] = NDcost(x, ind, fun, varargin)
     // Computes the gradient of 'fun' at 'x' using code differentiation
     if argn(2) < 4 then
         f = fun(x);
-        g = derivative(fun, x);
+        g = numderivative(fun, x);
     else
         f = fun(x, varargin(:));
-        g = derivative(list(fun, varargin(:)), x);
+        g = numderivative(list(fun, varargin(:)), x);
     end
 endfunction
index 1bb0851..2a3cd2e 100644 (file)
@@ -129,7 +129,7 @@ endfunction
 
 function J=%dfsub(x,z)
     sz=size(z);if sz(1)==1, z=z'; end
-    J=derivative(list(%fsubT,x),z)
+    J=numderivative(list(%fsubT,x),z)
 endfunction
 
 function J=%dfsub1(x,z)
@@ -146,7 +146,7 @@ endfunction
 
 function dg=%dgsub(i,z)
     sz=size(z);if sz(1)==1, z=z'; end
-    dg=derivative(list(%gsubT,i),z)
+    dg=numderivative(list(%gsubT,i),z)
 endfunction
 
 function dg=%dgsub1(i,z)
index b59715b..77851de 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) Rainer von Seggern
-// Copyright (C) Bruno Pincon
+// Copyright (C) 2008 - Rainer von Seggern
+// Copyright (C) 2008 - Bruno Pincon
 // Copyright (C) 2009 - INRIA - Michael Baudin
 // Copyright (C) 2010 - DIGITEO - Michael Baudin
 //
@@ -34,6 +34,7 @@
 //                       its parameters
 //
 function [J,H] = derivative(F, x, h, order, H_form, Q , verbose )
+    warnobsolete("numderivative","6.0")
     [lhs,rhs]=argn();
     if rhs<2 | rhs>6 then
         error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"),"derivative",2,6));
@@ -83,11 +84,13 @@ function [J,H] = derivative(F, x, h, order, H_form, Q , verbose )
     end
 
     if verbose == 1 then
-        mprintf("h = %e\n",h)
-        mprintf("order = %d\n",order)
-        mprintf("H_form = %s\n",H_form)
+        mprintf("h = %s\n", string(h))
+        mprintf("order = %d\n", order)
+        mprintf("H_form = %s\n", H_form)
         mprintf("Q = \n")
-        disp(Q);
+        for i = 1:n
+            mprintf("%s\n", strcat(string(Q(i,:)), " "))
+        end
     end
 
     J = %deriv1_(F, x, h, order, Q)
index e648216..418ebdf 100644 (file)
@@ -80,9 +80,9 @@ function [f,x,g]=leastsq(imp,fun,varargin)
         end
     else
         if params==list() then
-            deff("g=Dfun(x)","g=numdiff(fn,x)")
+            deff("g=Dfun(x)","g=numderivative(fn,x)")
         else
-            deff("g=Dfun(x,varargin)","g=numdiff(list(fn,varargin(:)),x)")
+            deff("g=Dfun(x,varargin)","g=numderivative(list(fn,varargin(:)),x)")
         end
     end
 
diff --git a/scilab/modules/optimization/macros/numderivative.sci b/scilab/modules/optimization/macros/numderivative.sci
new file mode 100644 (file)
index 0000000..6ca721a
--- /dev/null
@@ -0,0 +1,358 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ? - 2008 - Rainer von Seggern
+// Copyright (C) ? - 2008 - Bruno Pincon
+// Copyright (C) 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-en.txt
+
+function [J, H] = numderivative(varargin)
+    //
+    // Check input arguments
+    [lhs, rhs] = argn();
+    if (rhs < 2 | rhs > 6) then
+        error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"), "numderivative", 2, 6));
+    end
+    if (lhs < 1 | lhs > 2) then
+        error(msprintf(gettext("%s: Wrong number of output arguments: %d to %d expected.\n"), "numderivative", 1, 2));
+    end
+    //
+    // Get input arguments
+    __numderivative_f__ = varargin(1)
+    //
+    // Manage x, to get the size n.
+    x = varargin(2);
+    if type(x) ~= 1 then
+        error(msprintf(gettext("%s: Wrong type for argument #%d: Matrix expected.\n"), "numderivative", 2));
+    end
+    [n, p] = size(x);
+    if (n <> 1 & p <> 1) then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: Vector expected.\n"), "numderivative", 2));
+    end
+    // Make x a column vector, if required
+    if p <> 1 then
+        x = x(:);
+        [n, p] = size(x);
+    end
+    //
+    // Manage h: make it a column vector, if required.
+    h = [];
+    if rhs >= 3 then
+        h = varargin(3);
+    end
+    if type(h) ~= 1 then
+        error(msprintf(gettext("%s: Wrong type for argument #%d: Matrix expected.\n"), "numderivative", 3));
+    end
+    if h <> [] then
+        if size(h, "*") <> 1 then
+            [nrows, ncols] = size(h);
+            if (nrows <> 1 & ncols <> 1) then
+                error(msprintf(gettext("%s: Wrong size for input argument #%d: Vector expected.\n"), "numderivative", 3));
+            end
+            if ncols <> 1 then
+                h = h(:);
+            end
+            if or(size(h) <> [n 1]) then
+                error(msprintf(gettext("%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n"), "numderivative", 3, 1));
+            end
+        end
+    end
+    order = 2;
+    if (rhs >= 4 & varargin(4) <> []) then
+        order = varargin(4);
+    end
+    H_form = "default";
+    if (rhs >= 5 & varargin(5) <> []) then
+        H_form = varargin(5);
+    end
+    Q = eye(n, n);
+    Q_not_given = %t;
+    if (rhs >= 6 & varargin(6) <> []) then
+        Q = varargin(6);
+        Q_not_given = %f;
+    end
+    //
+    // Check types
+    if and(type(__numderivative_f__) <> [11 13 15 130]) then
+        // Must be a function (uncompiled or compiled) or a list
+        error(msprintf(gettext("%s: Wrong type for argument #%d: Function or list expected.\n"), "numderivative", 1));
+    end
+    if type(__numderivative_f__) == 15 then
+        // List case
+        // Check that the first element in the list is a function
+        if and(type(__numderivative_f__(1)) <> [11 13]) then
+            error(msprintf(gettext("%s: Wrong type for argument #%d: Function expected in first element of list.\n"), "numderivative", 1));
+        end
+    end
+    if type(order) ~= 1 then
+        error(msprintf(gettext("%s: Wrong type for argument #%d: Matrix expected.\n"), "numderivative", 4));
+    end
+    if type(H_form) ~= 10 then
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: String array expected.\n"), "numderivative", 5));
+    end
+    if type(Q) ~= 1 then
+        error(msprintf(gettext("%s: Wrong type for argument #%d: Matrix expected.\n"), "numderivative", 6));
+    end
+    //
+    // Check sizes
+    if type(__numderivative_f__) == 15 then
+        // List case
+        if length(__numderivative_f__) < 2 then
+            error(msprintf(gettext("%s: Wrong number of elements in input argument #%d: At least %d elements expected, but current number is %d.\n"), "numderivative", 1, 2, length(__numderivative_f__)));
+        end
+    end
+    if or(size(order) <> [1 1]) then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n"), "numderivative", 4, 1, 1));
+    end
+    if or(size(H_form) <> [1 1]) then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n"), "numderivative", 5, 1, 1));
+    end
+    if or(size(Q) <> [n n]) then
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n"), "numderivative", 6, n ,n));
+    end
+    //
+    // Check value
+    if h <> [] then
+        if or(h < 0) then
+            error(msprintf(gettext("%s: Wrong value for input argument #%d: Must be > %d.\n"), "numderivative", 3, 0));
+        end
+    end
+    if and(order <> [1 2 4]) then
+        error(msprintf(gettext("%s: Wrong value for input argument #%d: Must be in the set  {%s}.\n"), "numderivative", 4, "1, 2, 4"));
+    end
+    if and(H_form <> ["default" "blockmat" "hypermat"]) then
+        error(msprintf(gettext("%s: Wrong value for input argument #%d: Must be in the set  {%s}.\n"), "numderivative", 5, "default, blockmat, hypermat"));
+    end
+    if norm(clean(Q*Q'-eye(n, n))) > 0 then
+        error(msprintf(gettext("%s: Q must be orthogonal.\n"), "numderivative"));
+    end
+    //
+    // Proceed...
+    if h == [] then
+        h_not_given = %t;
+    else
+        h_not_given = %f;
+        // If h is scalar, expand to the same size as x.
+        if size(h) == [1 1] then
+            h = h * ones(x);
+        end
+    end
+    //
+    // Compute Jacobian
+    if ( h_not_given ) then
+        h = numderivative_step(x, order, 1);
+    end
+    J = numderivative_deriv1(__numderivative_f__, x, h, order, Q);
+    m = size(J, 1);
+    //
+    // Quick return if possible
+    if lhs == 1 then
+        return
+    end
+    //
+    // Compute Hessian matrix
+    if ( h_not_given ) then
+        h = numderivative_step(x, order, 2);
+    end
+    funForHList = list(numderivative_funForH, __numderivative_f__, h, order, Q);
+    if ~Q_not_given then
+        H = numderivative_deriv1(funForHList, x, h, order, Q);
+    else
+        H = numderivative_deriv2(funForHList, x, h, order, Q);
+    end
+    //
+    // At this point, H is a m*n-by-n block matrix.
+    // Update the format of the Hessian
+    if H_form == "default" then
+        // H has the old scilab form
+        H = matrix(H', n*n, m)'
+    end
+    if H_form == "hypermat" then
+        if m > 1 then
+            // H is a hypermatrix if m > 1
+            H = H';
+            H = hypermat([n n m], H(:));
+        end
+    end
+endfunction
+
+//
+// numderivative_step --
+//   Returns the step for given x, given order and given derivative:
+//   d = 1 is for Jacobian
+//   d = 2 is for Hessian
+// Uses the optimal step.
+// Then scale the step depending on abs(x).
+function h = numderivative_step(x, order, d)
+    n = size(x, "*");
+    select d
+    case 1
+        // For Jacobian
+        select order
+        case 1
+            hdefault = sqrt(%eps);
+        case 2
+            hdefault = %eps^(1/3);
+        case 4
+            hdefault = %eps^(1/5);
+        else
+            lclmsg = gettext("%s: Unknown value %s for option %s.\n");
+            error(msprintf(lclmsg,"numderivative_step", string(d), "d"));
+        end
+    case 2
+        // For Hessian
+        select order
+        case 1
+            hdefault = %eps^(1/3);
+        case 2
+            hdefault = %eps^(1/4);
+        case 4
+            hdefault = %eps^(1/6);
+        else
+            lclmsg = gettext("%s: Unknown value %s for option %s.\n");
+            error(msprintf(lclmsg, "numderivative_step", string(d), "d"));
+        end
+    else
+        lclmsg = gettext("%s: Unknown value %s for option %s.\n");
+        error(msprintf(lclmsg, "numderivative_step", string(order), "order"));
+    end
+    // Convert this scalar into a vector, with same size as x
+    // For zero entries in x, use the default.
+    // For nonzero entries in x, scales by abs(x).
+    h = hdefault * abs(x);
+    h(x==0) = hdefault;
+endfunction
+
+//
+// numderivative_funForH --
+//   Returns the numerical derivative of __numderivative_f__.
+//   This function is called to compute the numerical Hessian.
+function J = numderivative_funForH(x, __numderivative_f__, h, order, Q)
+    // Transpose !
+    J = numderivative_deriv1(__numderivative_f__, x, h, order, Q)';
+    J = J(:);
+endfunction
+
+// numderivative_deriv1 --
+//   Computes the numerical gradient of __numderivative_f__, using the given step h.
+//   This function is used for the computation of the jacobian matrix.
+function g = numderivative_deriv1(__numderivative_f__, x, h, order, Q)
+    n = size(x, "*");
+    Dy = []; // At this point, we do not know 'm' yet, so we cannot allocate Dy.
+    select order
+    case 1
+        D = Q * diag(h);
+        y = numderivative_evalf(__numderivative_f__, x);
+        for i=1:n
+            d = D(:, i);
+            yplus = numderivative_evalf(__numderivative_f__, x+d);
+            Dyi = (yplus-y)/h(i);
+            Dy = [Dy Dyi];
+        end
+        g = Dy*Q';
+    case 2
+        D = Q * diag(h);
+        for i=1:n
+            d = D(:, i);
+            yplus = numderivative_evalf(__numderivative_f__, x+d);
+            yminus = numderivative_evalf(__numderivative_f__, x-d);
+            Dyi = (yplus-yminus)/(2*h(i));
+            Dy = [Dy Dyi];
+        end
+        g = Dy*Q';
+    case 4
+        D = Q * diag(h);
+        for i=1:n
+            d = D(:, i);
+            yplus = numderivative_evalf(__numderivative_f__, x+d);
+            yminus = numderivative_evalf(__numderivative_f__, x-d);
+            yplus2 = numderivative_evalf(__numderivative_f__, x+2*d);
+            yminus2 = numderivative_evalf(__numderivative_f__, x-2*d);
+            dFh =  (yplus-yminus)/(2*h(i));
+            dF2h = (yplus2-yminus2)/(4*h(i));
+            Dyi = (4*dFh - dF2h)/3;
+            Dy = [Dy Dyi];
+        end
+        g = Dy*Q';
+    end
+endfunction
+
+// numderivative_deriv2 --
+//   Computes the numerical gradient of the argument __numderivative_f__, using the given step h.
+//   This function is used for the computation of the hessian matrix, to take advantage of its symmetry
+function g = numderivative_deriv2(__numderivative_f__, x, h, order, Q)
+    n = size(x, "*");
+    Dy = zeros(m*n, n); // 'm' is known at this point, so we can allocate Dy to reduce memory operations
+    select order
+    case 1
+        D = Q * diag(h);
+        y = numderivative_evalf(__numderivative_f__, x);
+        for i=1:n
+            d = D(:, i);
+            yplus = numderivative_evalf(__numderivative_f__, x+d);
+            for j=0:m-1
+                Dyi(1+j*n:i-1+j*n) = Dy(i+j*n, 1:i-1)'; // Retrieving symmetric elements (will not be done for the first vector)
+                Dyi(i+j*n:(j+1)*n) = (yplus(i+j*n:(j+1)*n)-y(i+j*n:(j+1)*n))/h(i); // Computing the new ones
+            end
+            Dy(:, i) = Dyi;
+        end
+        g = Dy*Q';
+    case 2
+        D = Q * diag(h);
+        for i=1:n
+            d = D(:, i);
+            yplus = numderivative_evalf(__numderivative_f__, x+d);
+            yminus = numderivative_evalf(__numderivative_f__, x-d);
+            for j=0:m-1
+                Dyi(1+j*n:i-1+j*n) = Dy(i+j*n, 1:i-1)'; // Retrieving symmetric elements (will not be done for the first vector)
+                Dyi(i+j*n:(j+1)*n) = (yplus(i+j*n:(j+1)*n)-yminus(i+j*n:(j+1)*n))/(2*h(i)); // Computing the new ones
+            end
+            Dy(:, i) = Dyi;
+        end
+        g = Dy*Q';
+    case 4
+        D = Q * diag(h);
+        for i=1:n
+            d = D(:, i);
+            yplus = numderivative_evalf(__numderivative_f__, x+d);
+            yminus = numderivative_evalf(__numderivative_f__, x-d);
+            yplus2 = numderivative_evalf(__numderivative_f__, x+2*d);
+            yminus2 = numderivative_evalf(__numderivative_f__, x-2*d);
+            for j=0:m-1
+                dFh(1+j*n:i-1+j*n) = Dy(i+j*n, 1:i-1)'; // Retrieving symmetric elements (will not be done for the first vector)
+                dFh(i+j*n:(j+1)*n) = (yplus(i+j*n:(j+1)*n)-yminus(i+j*n:(j+1)*n))/(2*h(i)); // Computing the new ones
+                dF2h(1+j*n:i-1+j*n) = Dy(i+j*n, 1:i-1)'; // Retrieving symmetric elements (will not be done for the first vector)
+                dF2h(i+j*n:(j+1)*n) = (yplus2(i+j*n:(j+1)*n)-yminus2(i+j*n:(j+1)*n))/(4*h(i)); // Computing the new ones
+            end
+            Dyi = (4*dFh - dF2h)/3;
+            Dy(:, i) = Dyi;
+        end
+        g = Dy*Q';
+    end
+endfunction
+
+// numderivative_evalf --
+// Computes the value of __numderivative_f__ at the point x.
+// The argument __numderivative_f__ can be a function (macro or linked code) or a list.
+function y = numderivative_evalf(__numderivative_f__, x)
+    if type(__numderivative_f__) == 15 then
+        // List case
+        __numderivative_fun__ = __numderivative_f__(1);
+        instr = "y = __numderivative_fun__(x, __numderivative_f__(2:$))";
+    elseif or(type(__numderivative_f__) == [11 13 130]) then
+        // Function case
+        instr = "y = __numderivative_f__(x)";
+    else
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: A function expected.\n"), "numderivative", 1));
+    end
+    ierr = execstr(instr, "errcatch")
+    if ierr <> 0 then
+        lamsg = lasterror();
+        lclmsg = "%s: Error while evaluating the function: ""%s""\n";
+        error(msprintf(gettext(lclmsg), "numderivative", lamsg));
+    end
+endfunction
index 2ae54d5..53cc4da 100644 (file)
@@ -8,6 +8,7 @@
 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
 
 function %g=numdiff(%__func,%x,%dx)
+    warnobsolete("numderivative","6.0")
     // given a function %__func from R^n to R^p
     //computes the matrix g such as
     //    [   d f    ]
index 45973fb..34a1b2e 100644 (file)
@@ -31,6 +31,14 @@ 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
@@ -45,6 +53,214 @@ end
 
      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
@@ -58,6 +274,14 @@ end
      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
@@ -73,47 +297,255 @@ Optimization stops because too small variations for x.
      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
@@ -127,6 +559,14 @@ Optimization stops because too small variations for x.
      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
@@ -146,180 +586,388 @@ Optimization stops because too small variations for x.
 
  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
@@ -334,6 +982,14 @@ Optimization stops because too small variations for x.
      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
@@ -355,7 +1011,15 @@ Optimization stops because too small variations for x.
  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:
@@ -366,6 +1030,10 @@ Optimization stops because too small variations for x.
  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
@@ -378,6 +1046,10 @@ Optimization stops because too small variations for x.
  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
@@ -390,6 +1062,10 @@ Optimization stops because too small variations for x.
  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
@@ -402,6 +1078,10 @@ Optimization stops because too small variations for x.
  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
@@ -414,6 +1094,10 @@ Optimization stops because too small variations for x.
  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
@@ -426,6 +1110,10 @@ Optimization stops because too small variations for x.
  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
@@ -438,9 +1126,25 @@ Optimization stops because too small variations for x.
  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
@@ -453,7 +1157,15 @@ Optimization stops because too small variations for x.
  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
@@ -466,7 +1178,15 @@ Optimization stops because too small variations for x.
  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
@@ -479,6 +1199,10 @@ Optimization stops because too small variations for x.
  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
@@ -491,6 +1215,10 @@ Optimization stops because too small variations for x.
  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
@@ -503,6 +1231,10 @@ Optimization stops because too small variations for x.
  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
@@ -515,6 +1247,10 @@ Optimization stops because too small variations for x.
  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
@@ -527,6 +1263,10 @@ Optimization stops because too small variations for x.
  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
@@ -539,7 +1279,15 @@ Optimization stops because too small variations for x.
  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
@@ -552,6 +1300,10 @@ Optimization stops because too small variations for x.
  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
@@ -564,6 +1316,10 @@ Optimization stops because too small variations for x.
  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
@@ -576,6 +1332,10 @@ Optimization stops because too small variations for x.
  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
@@ -588,6 +1348,10 @@ Optimization stops because too small variations for x.
  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
@@ -600,7 +1364,15 @@ Optimization stops because too small variations for x.
  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
@@ -613,6 +1385,10 @@ Optimization stops because too small variations for x.
  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
@@ -625,6 +1401,10 @@ Optimization stops because too small variations for x.
  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
@@ -637,6 +1417,10 @@ Optimization stops because too small variations for x.
  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
@@ -649,6 +1433,10 @@ Optimization stops because too small variations for x.
  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
@@ -661,6 +1449,10 @@ Optimization stops because too small variations for x.
  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
@@ -673,6 +1465,10 @@ Optimization stops because too small variations for x.
  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
@@ -685,7 +1481,15 @@ Optimization stops because too small variations for x.
  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
@@ -698,6 +1502,10 @@ Optimization stops because too small variations for x.
  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
@@ -710,6 +1518,10 @@ Optimization stops because too small variations for x.
  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
@@ -722,6 +1534,10 @@ Optimization stops because too small variations for x.
  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
@@ -734,7 +1550,15 @@ Optimization stops because too small variations for x.
  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
@@ -747,6 +1571,10 @@ Optimization stops because too small variations for x.
  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
@@ -759,6 +1587,10 @@ Optimization stops because too small variations for x.
  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
@@ -771,6 +1603,10 @@ Optimization stops because too small variations for x.
  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
@@ -783,6 +1619,10 @@ Optimization stops because too small variations for x.
  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
@@ -795,6 +1635,10 @@ Optimization stops because too small variations for x.
  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
@@ -807,6 +1651,10 @@ Optimization stops because too small variations for x.
  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
@@ -819,6 +1667,10 @@ Optimization stops because too small variations for x.
  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
@@ -831,6 +1683,10 @@ Optimization stops because too small variations for x.
  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
@@ -843,6 +1699,10 @@ Optimization stops because too small variations for x.
  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
@@ -855,6 +1715,10 @@ Optimization stops because too small variations for x.
  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
@@ -869,6 +1733,14 @@ Optimization stops because too small variations for x.
      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
@@ -889,7 +1761,15 @@ Optimization stops because too small variations for x.
  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:
@@ -900,6 +1780,10 @@ Optimization stops because too small variations for x.
  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
@@ -912,6 +1796,10 @@ Optimization stops because too small variations for x.
  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
@@ -924,6 +1812,10 @@ Optimization stops because too small variations for x.
  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
@@ -936,6 +1828,10 @@ Optimization stops because too small variations for x.
  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
@@ -948,6 +1844,10 @@ Optimization stops because too small variations for x.
  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
@@ -960,6 +1860,10 @@ Optimization stops because too small variations for x.
  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
@@ -972,9 +1876,25 @@ Optimization stops because too small variations for x.
  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
@@ -987,7 +1907,15 @@ Optimization stops because too small variations for x.
  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
@@ -1000,7 +1928,15 @@ Optimization stops because too small variations for x.
  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
@@ -1013,6 +1949,10 @@ Optimization stops because too small variations for x.
  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
@@ -1025,6 +1965,10 @@ Optimization stops because too small variations for x.
  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
@@ -1037,6 +1981,10 @@ Optimization stops because too small variations for x.
  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
@@ -1049,6 +1997,10 @@ Optimization stops because too small variations for x.
  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
@@ -1061,6 +2013,10 @@ Optimization stops because too small variations for x.
  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
@@ -1073,7 +2029,15 @@ Optimization stops because too small variations for x.
  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
@@ -1086,6 +2050,10 @@ Optimization stops because too small variations for x.
  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
@@ -1098,6 +2066,10 @@ Optimization stops because too small variations for x.
  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
@@ -1110,6 +2082,10 @@ Optimization stops because too small variations for x.
  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
@@ -1122,6 +2098,10 @@ Optimization stops because too small variations for x.
  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
@@ -1134,7 +2114,15 @@ Optimization stops because too small variations for x.
  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
@@ -1147,6 +2135,10 @@ Optimization stops because too small variations for x.
  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
@@ -1159,6 +2151,10 @@ Optimization stops because too small variations for x.
  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
@@ -1171,6 +2167,10 @@ Optimization stops because too small variations for x.
  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
@@ -1183,6 +2183,10 @@ Optimization stops because too small variations for x.
  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
@@ -1195,6 +2199,10 @@ Optimization stops because too small variations for x.
  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
@@ -1207,6 +2215,10 @@ Optimization stops because too small variations for x.
  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
@@ -1219,7 +2231,15 @@ Optimization stops because too small variations for x.
  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
@@ -1232,6 +2252,10 @@ Optimization stops because too small variations for x.
  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
@@ -1244,6 +2268,10 @@ Optimization stops because too small variations for x.
  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
@@ -1256,6 +2284,10 @@ Optimization stops because too small variations for x.
  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
@@ -1268,7 +2300,15 @@ Optimization stops because too small variations for x.
  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
@@ -1281,6 +2321,10 @@ Optimization stops because too small variations for x.
  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
@@ -1293,6 +2337,10 @@ Optimization stops because too small variations for x.
  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
@@ -1305,6 +2353,10 @@ Optimization stops because too small variations for x.
  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
@@ -1317,6 +2369,10 @@ Optimization stops because too small variations for x.
  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
@@ -1329,6 +2385,10 @@ Optimization stops because too small variations for x.
  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
@@ -1341,6 +2401,10 @@ Optimization stops because too small variations for x.
  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
@@ -1353,6 +2417,10 @@ Optimization stops because too small variations for x.
  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
@@ -1365,6 +2433,10 @@ Optimization stops because too small variations for x.
  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
@@ -1377,6 +2449,10 @@ Optimization stops because too small variations for x.
  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
@@ -1389,6 +2465,10 @@ Optimization stops because too small variations for x.
  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
index 679130a..4692f6c 100644 (file)
@@ -31,6 +31,14 @@ 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
@@ -45,6 +53,262 @@ end
 
      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
@@ -58,6 +322,14 @@ end
      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
@@ -73,47 +345,303 @@ Optimization stops because too small variations for x.
      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
@@ -127,6 +655,14 @@ Optimization stops because too small variations for x.
      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
@@ -146,192 +682,448 @@ Optimization stops because too small variations for x.
 
  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
@@ -346,6 +1138,14 @@ Optimization stops because too small variations for x.
      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
@@ -367,7 +1167,15 @@ Optimization stops because too small variations for x.
  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:
@@ -378,6 +1186,10 @@ Optimization stops because too small variations for x.
  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
@@ -390,6 +1202,10 @@ Optimization stops because too small variations for x.
  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
@@ -402,6 +1218,10 @@ Optimization stops because too small variations for x.
  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
@@ -414,6 +1234,10 @@ Optimization stops because too small variations for x.
  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
@@ -426,6 +1250,10 @@ Optimization stops because too small variations for x.
  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
@@ -438,6 +1266,10 @@ Optimization stops because too small variations for x.
  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
@@ -450,9 +1282,25 @@ Optimization stops because too small variations for x.
  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
@@ -465,7 +1313,15 @@ Optimization stops because too small variations for x.
  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
@@ -478,7 +1334,15 @@ Optimization stops because too small variations for x.
  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
@@ -491,6 +1355,10 @@ Optimization stops because too small variations for x.
  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
@@ -503,6 +1371,10 @@ Optimization stops because too small variations for x.
  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
@@ -515,6 +1387,10 @@ Optimization stops because too small variations for x.
  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
@@ -527,6 +1403,10 @@ Optimization stops because too small variations for x.
  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
@@ -539,6 +1419,10 @@ Optimization stops because too small variations for x.
  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
@@ -551,7 +1435,15 @@ Optimization stops because too small variations for x.
  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
@@ -564,6 +1456,10 @@ Optimization stops because too small variations for x.
  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
@@ -576,6 +1472,10 @@ Optimization stops because too small variations for x.
  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
@@ -588,6 +1488,10 @@ Optimization stops because too small variations for x.
  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
@@ -600,6 +1504,10 @@ Optimization stops because too small variations for x.
  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
@@ -612,7 +1520,15 @@ Optimization stops because too small variations for x.
  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
@@ -625,6 +1541,10 @@ Optimization stops because too small variations for x.
  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
@@ -637,6 +1557,10 @@ Optimization stops because too small variations for x.
  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
@@ -649,6 +1573,10 @@ Optimization stops because too small variations for x.
  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
@@ -661,6 +1589,10 @@ Optimization stops because too small variations for x.
  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
@@ -673,6 +1605,10 @@ Optimization stops because too small variations for x.
  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
@@ -685,6 +1621,10 @@ Optimization stops because too small variations for x.
  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
@@ -697,7 +1637,15 @@ Optimization stops because too small variations for x.
  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
@@ -710,6 +1658,10 @@ Optimization stops because too small variations for x.
  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
@@ -722,6 +1674,10 @@ Optimization stops because too small variations for x.
  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
@@ -734,6 +1690,10 @@ Optimization stops because too small variations for x.
  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
@@ -746,7 +1706,15 @@ Optimization stops because too small variations for x.
  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
@@ -759,6 +1727,10 @@ Optimization stops because too small variations for x.
  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
@@ -771,6 +1743,10 @@ Optimization stops because too small variations for x.
  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
@@ -783,6 +1759,10 @@ Optimization stops because too small variations for x.
  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
@@ -795,6 +1775,10 @@ Optimization stops because too small variations for x.
  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
@@ -807,6 +1791,10 @@ Optimization stops because too small variations for x.
  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
@@ -819,6 +1807,10 @@ Optimization stops because too small variations for x.
  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
@@ -831,6 +1823,10 @@ Optimization stops because too small variations for x.
  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
@@ -843,6 +1839,10 @@ Optimization stops because too small variations for x.
  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
@@ -855,6 +1855,10 @@ Optimization stops because too small variations for x.
  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
@@ -867,18 +1871,70 @@ Optimization stops because too small variations for x.
  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
@@ -893,6 +1949,14 @@ Optimization stops because too small variations for x.
      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
@@ -913,7 +1977,15 @@ Optimization stops because too small variations for x.
  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:
@@ -924,6 +1996,10 @@ Optimization stops because too small variations for x.
  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
@@ -936,6 +2012,10 @@ Optimization stops because too small variations for x.
  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
@@ -948,6 +2028,10 @@ Optimization stops because too small variations for x.
  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
@@ -960,6 +2044,10 @@ Optimization stops because too small variations for x.
  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
@@ -972,6 +2060,10 @@ Optimization stops because too small variations for x.
  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
@@ -984,6 +2076,10 @@ Optimization stops because too small variations for x.
  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
@@ -996,9 +2092,25 @@ Optimization stops because too small variations for x.
  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
@@ -1011,7 +2123,15 @@ Optimization stops because too small variations for x.
  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
@@ -1024,7 +2144,15 @@ Optimization stops because too small variations for x.
  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
@@ -1037,6 +2165,10 @@ Optimization stops because too small variations for x.
  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
@@ -1049,6 +2181,10 @@ Optimization stops because too small variations for x.
  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
@@ -1061,6 +2197,10 @@ Optimization stops because too small variations for x.
  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
@@ -1073,6 +2213,10 @@ Optimization stops because too small variations for x.
  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
@@ -1085,6 +2229,10 @@ Optimization stops because too small variations for x.
  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
@@ -1097,7 +2245,15 @@ Optimization stops because too small variations for x.
  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
@@ -1110,6 +2266,10 @@ Optimization stops because too small variations for x.
  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
@@ -1122,6 +2282,10 @@ Optimization stops because too small variations for x.
  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
@@ -1134,6 +2298,10 @@ Optimization stops because too small variations for x.
  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
@@ -1146,6 +2314,10 @@ Optimization stops because too small variations for x.
  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
@@ -1158,7 +2330,15 @@ Optimization stops because too small variations for x.
  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
@@ -1171,6 +2351,10 @@ Optimization stops because too small variations for x.
  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
@@ -1183,6 +2367,10 @@ Optimization stops because too small variations for x.
  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
@@ -1195,6 +2383,10 @@ Optimization stops because too small variations for x.
  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
@@ -1207,6 +2399,10 @@ Optimization stops because too small variations for x.
  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
@@ -1219,6 +2415,10 @@ Optimization stops because too small variations for x.
  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
@@ -1231,6 +2431,10 @@ Optimization stops because too small variations for x.
  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
@@ -1243,7 +2447,15 @@ Optimization stops because too small variations for x.
  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
@@ -1256,6 +2468,10 @@ Optimization stops because too small variations for x.
  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
@@ -1268,6 +2484,10 @@ Optimization stops because too small variations for x.
  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
@@ -1280,6 +2500,10 @@ Optimization stops because too small variations for x.
  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
@@ -1292,7 +2516,15 @@ Optimization stops because too small variations for x.
  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
@@ -1305,6 +2537,10 @@ Optimization stops because too small variations for x.
  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
@@ -1317,6 +2553,10 @@ Optimization stops because too small variations for x.
  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
@@ -1329,6 +2569,10 @@ Optimization stops because too small variations for x.
  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
@@ -1341,6 +2585,10 @@ Optimization stops because too small variations for x.
  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
@@ -1353,6 +2601,10 @@ Optimization stops because too small variations for x.
  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
@@ -1365,6 +2617,10 @@ Optimization stops because too small variations for x.
  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
@@ -1377,6 +2633,10 @@ Optimization stops because too small variations for x.
  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
@@ -1389,6 +2649,10 @@ Optimization stops because too small variations for x.
  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
@@ -1401,6 +2665,10 @@ Optimization stops because too small variations for x.
  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
@@ -1413,18 +2681,70 @@ Optimization stops because too small variations for x.
  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
index a492ffd..1b33ef5 100644 (file)
@@ -27,6 +27,42 @@ endfunction
 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);
index c1075f8..9f96f7d 100644 (file)
@@ -4,6 +4,7 @@
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
+// <-- CLI SHELL MODE -->
 // <-- Non-regression test for bug 3770 -->
 //
 // <-- Bugzilla URL -->
@@ -24,7 +25,7 @@ function [y]=objf4(x)
      -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);
@@ -33,9 +34,9 @@ function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
   fx = objf(x);
   g = numdiff(objf,x)';
   H = eye(n,n);
-  if (ni > 0) then
+  if (ni > 0) then 
     ci = cif(x)
-    if (length(ci) ~= ni) then
+    if (length(ci) ~= ni) then 
       error('Ci pas de longueur ni')
     end
     A = numdiff(cif,x)
@@ -53,7 +54,7 @@ function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
   logic_t2 = and(ci >= -tol);
   logic_t3 = and(lambda >=0);
   t4 = norm(lambda .*ci);
-  if( logic_t2 & logic_t3 & max(t0,t4) < tol) then
+  if( logic_t2 & logic_t3 & max(t0,t4) < tol) then 
     break
   end
   eta = 0.25;
@@ -62,7 +63,7 @@ function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
     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
+    if (info_qp ~=0) then 
       info = 1000 + info_qp;
       break
     end
@@ -78,15 +79,15 @@ function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
       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
+      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
+  g_new = numdiff(objf,x_new)'; 
+  if(ni>0) then 
     A_new = numdiff(cif,x_new);
   else
     A_new = [];
@@ -99,7 +100,7 @@ function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
     break
   end
   y = g_new - g;
-  if(~isempty(A)) then
+  if(~isempty(A)) then 
     t = ((A_new-A)'*lambda);
     y = y - t;
   end
@@ -118,7 +119,7 @@ function [x,fx,ci,lambda,info,iter]=sqp(x,objf,cif,lb,ub,ni,maxiter,tol)
   end
   r = theta*y + (1-theta)*H*delx;
   d2 = delx'*r;
-  if (d1==0 | d2 ==0) then
+  if (d1==0 | d2 ==0) then 
     info = 102;
     break
   end
@@ -143,6 +144,70 @@ 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
diff --git a/scilab/modules/optimization/tests/nonreg_tests/bug_4083.dia.ref b/scilab/modules/optimization/tests/nonreg_tests/bug_4083.dia.ref
new file mode 100644 (file)
index 0000000..5c3477d
--- /dev/null
@@ -0,0 +1,44 @@
+// =============================================================================
+// 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 -->
+// <-- 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/scilab/modules/optimization/tests/nonreg_tests/bug_4083.tst b/scilab/modules/optimization/tests/nonreg_tests/bug_4083.tst
new file mode 100644 (file)
index 0000000..831c7c9
--- /dev/null
@@ -0,0 +1,36 @@
+// =============================================================================
+// 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 -->
+
+// <-- 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);
index 53366d8..75b7b12 100644 (file)
@@ -6,6 +6,7 @@
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 // <-- CLI SHELL MODE -->
+// <-- ENGLISH IMPOSED -->
 //
 // <-- Non-regression test for bug 8160 -->
 //
 //
 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
+
index d5c3801..1d07e8a 100644 (file)
@@ -6,6 +6,7 @@
 //  This file is distributed under the same license as the Scilab package.\r
 // =============================================================================\r
 // <-- CLI SHELL MODE -->\r
+// <-- ENGLISH IMPOSED -->\r
 //\r
 // <-- Non-regression test for bug 8160 -->\r
 //\r
 x=[1;2;3];\r
 \r
 assert_checkfalse(execstr("derivative(list(),x)", "errcatch") == 0);\r
-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); \r
+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);\r
 assert_checkerror("derivative(list(),x)", refMsg);\r
 \r
 assert_checkfalse(execstr("derivative(list(""foo""),x)", "errcatch") == 0);\r
-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); \r
+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);\r
 assert_checkerror("derivative(list(""foo""),x)", refMsg);\r
 \r
 \r
 assert_checkfalse(execstr("derivative(list(""foo"",""aa""),x)", "errcatch") == 0);\r
-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")); \r
+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"));\r
 assert_checkerror("derivative(list(""foo"",""aa""),x)", refMsg);\r
 \r
 \r
 \r
-\r\r
+\r
+\r