Hello community,
here is the log from the commit of package octave-forge-optim for openSUSE:Factory checked in at 2016-11-28 15:05:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-optim (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-optim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-optim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-optim/octave-forge-optim.changes 2016-06-14 23:07:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-optim.new/octave-forge-optim.changes 2016-11-28 15:05:42.000000000 +0100
@@ -1,0 +2,16 @@
+Mon Oct 31 20:57:46 UTC 2016 - dmitry_r@opensuse.org
+
+- Update to version 1.5.2
+ * Builds with Octave 4.2.
+ * Links to core Octave documentation work now in html version of
+ package documentation.
+ * Fixed treatment of one-parameter-functions in `jacobs'.
+ * The sign of `lambda' returned for equality constraints by
+ `quadprog' has been changed for compatibility with Matlab.
+ * Deprecated `nmsmax' -- the same code is in `fminsearch' in core
+ Octave, with a slightly different interface.
+ * Fixed bug which could break building oct-files.
+- Fix GCC warnings
+ * optim-gcc-warnings.patch
+
+-------------------------------------------------------------------
Old:
----
optim-1.5.0.tar.gz
New:
----
optim-1.5.2.tar.gz
optim-gcc-warnings.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-optim.spec ++++++
--- /var/tmp/diff_new_pack.Q82VI2/_old 2016-11-28 15:05:43.000000000 +0100
+++ /var/tmp/diff_new_pack.Q82VI2/_new 2016-11-28 15:05:43.000000000 +0100
@@ -18,13 +18,15 @@
%define octpkg optim
Name: octave-forge-%{octpkg}
-Version: 1.5.0
+Version: 1.5.2
Release: 0
Summary: Non-linear optimization toolkit for Octave
License: GPL-3.0+
Group: Productivity/Scientific/Math
Url: http://octave.sourceforge.net
Source0: http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
+#PATCH-FIX-UPSTREAM optim-gcc-warnings.patch -- http://savannah.gnu.org/bugs/?49505
+Patch1: optim-gcc-warnings.patch
BuildRequires: blas-devel
BuildRequires: gcc-c++
BuildRequires: hdf5-devel
@@ -40,6 +42,7 @@
%prep
%setup -q -c %{name}-%{version}
+%patch1 -p0
%octave_pkg_src
%build
++++++ optim-1.5.0.tar.gz -> optim-1.5.2.tar.gz ++++++
++++ 2097 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/DESCRIPTION new/optim-1.5.2/DESCRIPTION
--- old/optim-1.5.0/DESCRIPTION 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/DESCRIPTION 2016-09-18 19:31:55.000000000 +0200
@@ -1,6 +1,6 @@
-Name: Optim
-Version: 1.5.0
-Date: 2016-02-21
+Name: optim
+Version: 1.5.2
+Date: 2016-09-18
Author: various authors
Maintainer: Olaf Till
Title: Optimization.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/NEWS new/optim-1.5.2/NEWS
--- old/optim-1.5.0/NEWS 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/NEWS 2016-09-18 19:31:55.000000000 +0200
@@ -1,3 +1,26 @@
+optim 1.5.2:
+------------
+
+ ** Some build fixes. Builds with Octave 4.2.
+
+ ** Links to core Octave documentation work now in html version of
+ package documentation.
+
+optim 1.5.1:
+------------
+
+ ** Fixed treatment of one-parameter-functions in `jacobs'.
+
+ ** The sign of `lambda' returned for equality constraints by
+ `quadprog' has been changed for compatibility with Matlab.
+
+ ** Deprecated `nmsmax' -- the same code is in `fminsearch' in core
+ Octave, with a slightly different interface.
+
+ ** Fixed portability issue in building documentation.
+
+ ** Fixed bug which could break building oct-files.
+
optim 1.5.0:
------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/Additional-parameters.html new/optim-1.5.2/doc/html/Additional-parameters.html
--- old/optim-1.5.0/doc/html/Additional-parameters.html 2016-02-21 11:36:33.000000000 +0100
+++ new/optim-1.5.2/doc/html/Additional-parameters.html 2016-09-18 19:32:08.000000000 +0200
@@ -80,7 +80,7 @@
defined by the optimizer. Often, a user function needs additional
arguments, not covered by the defined interface, which are constant
throughout the optimization. These can be supplied by wrapping the user
-function into an anonymous function. See <a href="../octave/Anonymous-Functions.html#Anonymous-Functions">(octave)Anonymous
+function into an anonymous function. See <a href="https://www.gnu.org/software/octave/doc/interpreter/Anonymous-Functions.html#Anonymous-Functions">(octave)Anonymous
Functions</a>, for further explanation and examples.
</p>
<p>There are also some older optimizers in the optim package, written when
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/Common-frontend-options.html new/optim-1.5.2/doc/html/Common-frontend-options.html
--- old/optim-1.5.0/doc/html/Common-frontend-options.html 2016-02-21 11:36:33.000000000 +0100
+++ new/optim-1.5.2/doc/html/Common-frontend-options.html 2016-09-18 19:32:08.000000000 +0200
@@ -77,7 +77,7 @@
<p>All frontends for optimization and for result statistics
(<a href="nonlin_005fmin.html#nonlin_005fmin">nonlin_min</a>, <a href="nonlin_005fresidmin.html#nonlin_005fresidmin">nonlin_residmin</a>, <a href="nonlin_005fcurvefit.html#nonlin_005fcurvefit">nonlin_curvefit</a>,
<a href="residmin_005fstat.html#residmin_005fstat">residmin_stat</a>, <a href="curvefit_005fstat.html#curvefit_005fstat">curvefit_stat</a>)accept the following options,
-settable with <a href="../octave/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
+settable with <a href="https://www.gnu.org/software/octave/doc/interpreter/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
</p>
<p>These options are handled within the frontend.
</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/Common-optimization-options.html new/optim-1.5.2/doc/html/Common-optimization-options.html
--- old/optim-1.5.0/doc/html/Common-optimization-options.html 2016-02-21 11:36:33.000000000 +0100
+++ new/optim-1.5.2/doc/html/Common-optimization-options.html 2016-09-18 19:32:08.000000000 +0200
@@ -76,7 +76,7 @@
<p>All frontends for optimization (<a href="nonlin_005fmin.html#nonlin_005fmin">nonlin_min</a>, <a href="nonlin_005fresidmin.html#nonlin_005fresidmin">nonlin_residmin</a>,
<a href="nonlin_005fcurvefit.html#nonlin_005fcurvefit">nonlin_curvefit</a>) accept the following options, settable with
-<a href="../octave/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
</p>
<a name="Settings-handled-within-the-frontend"></a>
<h4 class="subheading">Settings handled within the frontend</h4>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/LinearRegression.html new/optim-1.5.2/doc/html/LinearRegression.html
--- old/optim-1.5.0/doc/html/LinearRegression.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/LinearRegression.html 2016-09-18 19:32:07.000000000 +0200
@@ -110,9 +110,9 @@
</dd></dl>
-<p>See also <a href="../octave/XREFregress.html#XREFregress">(octave)regress</a>, <a href="leasqr.html#XREFleasqr">leasqr</a>,
+<p>See also <a href="https://www.gnu.org/software/octave/doc/interpreter/XREFregress.html#XREFregress">(octave)regress</a>, <a href="leasqr.html#XREFleasqr">leasqr</a>,
<a href="nonlin_005fcurvefit.html#XREFnonlin_005fcurvefit">nonlin_curvefit</a>,
-<a href="../octave/XREFpolyfit.html#XREFpolyfit">(octave)polyfit</a>, <a href="wpolyfit.html#XREFwpolyfit">wpolyfit</a>,
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFpolyfit.html#XREFpolyfit">(octave)polyfit</a>, <a href="wpolyfit.html#XREFwpolyfit">wpolyfit</a>,
<a href="expfit.html#XREFexpfit">expfit</a>.
</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/Zero-finders.html new/optim-1.5.2/doc/html/Zero-finders.html
--- old/optim-1.5.0/doc/html/Zero-finders.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/Zero-finders.html 2016-09-18 19:32:07.000000000 +0200
@@ -78,7 +78,7 @@
just a vectorized version of Octaves fzero
(
see
-<a href="../octave/XREFfzero.html#XREFfzero">(octave)fzero</a>).
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFfzero.html#XREFfzero">(octave)fzero</a>).
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">• <a href="vfzero.html#vfzero" accesskey="1">vfzero</a>:</td><td> </td><td align="left" valign="top">A vectorized version of fzero.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/index.html new/optim-1.5.2/doc/html/index.html
--- old/optim-1.5.0/doc/html/index.html 2016-02-21 11:36:31.000000000 +0100
+++ new/optim-1.5.2/doc/html/index.html 2016-09-18 19:32:06.000000000 +0200
@@ -90,16 +90,17 @@
<a name="Additional-documentation-for-the-optim-package-for-Octave"></a>
<h1 class="top">Additional documentation for the optim package for Octave</h1>
-<p><strong>Note: Some links in this document lead to Octaves core
-documentation. These links probably don’t work in the html version of
-this document. They should work, however, in the info version accessible
-from the Octave commandline with <code>optim_doc()</code>.</strong>
+<p>The info version of this document is accessible, after package
+installation, from the Octave commandline with <code>optim_doc()</code>.
+</p>
+<p>This documentation applies to version 1.5.2 of the optim
+package.
</p>
<p>The optim package is a collection of additional functions related to
numerical optimization. For Octaves core optimization functions (not
contained in this package)
see
-<a href="../octave/Optimization.html#Optimization">(octave)Optimization</a>.
+<a href="https://www.gnu.org/software/octave/doc/interpreter/Optimization.html#Optimization">(octave)Optimization</a>.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">Types of functions in the optim package
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/linprog.html new/optim-1.5.2/doc/html/linprog.html
--- old/optim-1.5.0/doc/html/linprog.html 2016-02-21 11:36:33.000000000 +0100
+++ new/optim-1.5.2/doc/html/linprog.html 2016-09-18 19:32:08.000000000 +0200
@@ -105,7 +105,7 @@
</dd></dl>
-<p>See also <a href="../octave/XREFglpk.html#XREFglpk">(octave)glpk</a>.
+<p>See also <a href="https://www.gnu.org/software/octave/doc/interpreter/XREFglpk.html#XREFglpk">(octave)glpk</a>.
</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/nmsmax.html new/optim-1.5.2/doc/html/nmsmax.html
--- old/optim-1.5.0/doc/html/nmsmax.html 2016-02-21 11:36:31.000000000 +0100
+++ new/optim-1.5.2/doc/html/nmsmax.html 2016-09-18 19:32:06.000000000 +0200
@@ -74,6 +74,9 @@
<h3 class="section">1.7 A Nelder-Mead simplex algorithm</h3>
<a name="index-nmsmax"></a>
+<p>This function is deprecated. It is available with a slightly different
+interface in core Octave as ‘fminsearch’.
+</p>
<a name="Helptext_003a"></a>
<h4 class="subheading">Helptext:</h4>
@@ -113,6 +116,11 @@
</pre>
+<hr>
+<div class="header">
+<p>
+Next: <a href="mdsmax.html#mdsmax" accesskey="n" rel="next">mdsmax</a>, Previous: <a href="fmins.html#fmins" accesskey="p" rel="prev">fmins</a>, Up: <a href="Scalar-optimization.html#Scalar-optimization" accesskey="u" rel="up">Scalar optimization</a> [<a href="Function-index.html#Function-index" title="Index" rel="index">Index</a>]</p>
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/nonlin_005fmin.html new/optim-1.5.2/doc/html/nonlin_005fmin.html
--- old/optim-1.5.0/doc/html/nonlin_005fmin.html 2016-02-21 11:36:31.000000000 +0100
+++ new/optim-1.5.2/doc/html/nonlin_005fmin.html 2016-09-18 19:32:06.000000000 +0200
@@ -123,7 +123,7 @@
<h4 class="subheading">Settings</h4>
<p>The fields of the <var>settings</var> structure can be set with
-<a href="../octave/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
</p>
<p>For settings common to all frontends (including these for statistics)
see
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/nonlin_005fresidmin.html new/optim-1.5.2/doc/html/nonlin_005fresidmin.html
--- old/optim-1.5.0/doc/html/nonlin_005fresidmin.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/nonlin_005fresidmin.html 2016-09-18 19:32:07.000000000 +0200
@@ -130,7 +130,7 @@
<h4 class="subheading">Settings</h4>
<p>The fields of the <var>settings</var> structure can be set with
-<a href="../octave/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
</p>
<p>For settings common to all frontends (including these for statistics)
see
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/numgradient.html new/optim-1.5.2/doc/html/numgradient.html
--- old/optim-1.5.0/doc/html/numgradient.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/numgradient.html 2016-09-18 19:32:07.000000000 +0200
@@ -80,13 +80,13 @@
<a name="XREFnumgradient"></a><pre class="verbatim">numgradient(f, {args}, minarg)
Numeric central difference gradient of f with respect
-to argument \"minarg\".
+to argument "minarg".
* first argument: function name (string)
* second argument: all arguments of the function (cell array)
* third argument: (optional) the argument to differentiate w.r.t.
(scalar, default=1)
-\"f\" may be vector-valued. If \"f\" returns
+"f" may be vector-valued. If "f" returns
an n-vector, and the argument is a k-vector, the gradient
will be an nxk matrix
@@ -94,7 +94,7 @@
function a = f(x);
a = [x'*x; 2*x];
endfunction
-numgradient(\"f\", {ones(2,1)})
+numgradient("f", {ones(2,1)})
ans =
2.00000 2.00000
@@ -102,6 +102,7 @@
0.00000 2.00000
+
</pre>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/numhessian.html new/optim-1.5.2/doc/html/numhessian.html
--- old/optim-1.5.0/doc/html/numhessian.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/numhessian.html 2016-09-18 19:32:07.000000000 +0200
@@ -80,7 +80,7 @@
<a name="XREFnumhessian"></a><pre class="verbatim">numhessian(f, {args}, minarg)
Numeric second derivative of f with respect
-to argument \"minarg\".
+to argument "minarg".
* first argument: function name (string)
* second argument: all arguments of the function (cell array)
* third argument: (optional) the argument to differentiate w.r.t.
@@ -93,17 +93,18 @@
a = x'*x + log(y);
endfunction
-numhessian(\"f\", {ones(2,1), 1})
+numhessian("f", {ones(2,1), 1})
ans =
2.0000e+00 -7.4507e-09
-7.4507e-09 2.0000e+00
Now, w.r.t. second argument:
-numhessian(\"f\", {ones(2,1), 1}, 2)
+numhessian("f", {ones(2,1), 1}, 2)
ans = -1.0000
+
</pre>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/octave_005fsqp.html new/optim-1.5.2/doc/html/octave_005fsqp.html
--- old/optim-1.5.0/doc/html/octave_005fsqp.html 2016-02-21 11:36:31.000000000 +0100
+++ new/optim-1.5.2/doc/html/octave_005fsqp.html 2016-09-18 19:32:06.000000000 +0200
@@ -82,7 +82,7 @@
</p>
<p>Compared to calling <code>sqp</code> directly (
see
-<a href="../octave/XREFsqp.html#XREFsqp">(octave)sqp</a>),
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFsqp.html#XREFsqp">(octave)sqp</a>),
</p>
<ul>
<li> a different default (numerical) gradient function is used (that of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/quadprog.html new/optim-1.5.2/doc/html/quadprog.html
--- old/optim-1.5.0/doc/html/quadprog.html 2016-02-21 11:36:33.000000000 +0100
+++ new/optim-1.5.2/doc/html/quadprog.html 2016-09-18 19:32:08.000000000 +0200
@@ -149,7 +149,15 @@
</dd>
<dt><var>lambda</var></dt>
<dd><p>Structure containing Lagrange multipliers corresponding to the
-constraints.
+constraints. For equality constraints, the sign of the multipliers
+is chosen to satisfy the equation
+</p><div class="example">
+<pre class="example">0.5 H * x + f + A' * lambda_inequ + Aeq' * lambda_equ = 0 .
+</pre></div>
+<p>If lower and upper bounds are equal, or so close to each other that
+they are considered equal by the algorithm, only one of these
+bounds is considered active when computing the solution, and a
+positive lambda will be placed only at this bound.
</p>
</dd>
</dl>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/residmin_005fstat.html new/optim-1.5.2/doc/html/residmin_005fstat.html
--- old/optim-1.5.0/doc/html/residmin_005fstat.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/residmin_005fstat.html 2016-09-18 19:32:07.000000000 +0200
@@ -113,7 +113,7 @@
<h4 class="subheading">Further settings</h4>
<p>The fields of the <var>settings</var> structure can be set with
-<a href="../octave/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
+<a href="https://www.gnu.org/software/octave/doc/interpreter/XREFoptimset.html#XREFoptimset">(octave)optimset</a>.
</p>
<p>For settings common to all frontends
see
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/samin.html new/optim-1.5.2/doc/html/samin.html
--- old/optim-1.5.0/doc/html/samin.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/samin.html 2016-09-18 19:32:06.000000000 +0200
@@ -82,10 +82,10 @@
<a name="XREFsamin"></a><pre class="verbatim">samin: simulated annealing minimization of a function. See samin_example.m
-usage: [x, obj, convergence, details] = samin(\"f\", {args}, {control})
+usage: [x, obj, convergence, details] = samin("f", {args}, {control})
Arguments:
-* \"f\": function name (string)
+* "f": function name (string)
* {args}: a cell array that holds all arguments of the function,
* {control}: a cell array with 11 elements
* LB - vector of lower bounds
@@ -121,6 +121,7 @@
Example: see samin_example
+
</pre>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/html/wpolyfit.html new/optim-1.5.2/doc/html/wpolyfit.html
--- old/optim-1.5.0/doc/html/wpolyfit.html 2016-02-21 11:36:32.000000000 +0100
+++ new/optim-1.5.2/doc/html/wpolyfit.html 2016-09-18 19:32:07.000000000 +0200
@@ -166,7 +166,7 @@
</p></dd></dl>
-<p>See also <a href="../octave/XREFpolyfit.html#XREFpolyfit">(octave)polyfit</a>.
+<p>See also <a href="https://www.gnu.org/software/octave/doc/interpreter/XREFpolyfit.html#XREFpolyfit">(octave)polyfit</a>.
</p>
<hr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/htmlxref.cnf new/optim-1.5.2/doc/htmlxref.cnf
--- old/optim-1.5.0/doc/htmlxref.cnf 1970-01-01 01:00:00.000000000 +0100
+++ new/optim-1.5.2/doc/htmlxref.cnf 2016-09-18 19:31:55.000000000 +0200
@@ -0,0 +1 @@
+octave node https://www.gnu.org/software/octave/doc/interpreter/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/optim.info new/optim-1.5.2/doc/optim.info
--- old/optim-1.5.0/doc/optim.info 2016-02-21 11:36:30.000000000 +0100
+++ new/optim-1.5.2/doc/optim.info 2016-09-18 19:32:05.000000000 +0200
@@ -24,7 +24,9 @@
Additional documentation for the optim package for Octave
*********************************************************
-The optim package is a collection of additional functions related to
+This documentation applies to version 1.5.2 of the optim package.
+
+ The optim package is a collection of additional functions related to
numerical optimization. For Octaves core optimization functions (not
contained in this package) *note (octave)Optimization::.
@@ -405,6 +407,9 @@
1.7 A Nelder-Mead simplex algorithm
===================================
+This function is deprecated. It is available with a slightly different
+interface in core Octave as 'fminsearch'.
+
Helptext:
---------
@@ -904,10 +909,10 @@
samin: simulated annealing minimization of a function. See samin_example.m
-usage: [x, obj, convergence, details] = samin(\"f\", {args}, {control})
+usage: [x, obj, convergence, details] = samin("f", {args}, {control})
Arguments:
-* \"f\": function name (string)
+* "f": function name (string)
* {args}: a cell array that holds all arguments of the function,
* {control}: a cell array with 11 elements
* LB - vector of lower bounds
@@ -944,6 +949,7 @@
+
File: optim.info, Node: de_min, Next: battery, Prev: samin, Up: Scalar optimization
@@ -2316,13 +2322,13 @@
numgradient(f, {args}, minarg)
Numeric central difference gradient of f with respect
-to argument \"minarg\".
+to argument "minarg".
* first argument: function name (string)
* second argument: all arguments of the function (cell array)
* third argument: (optional) the argument to differentiate w.r.t.
(scalar, default=1)
-\"f\" may be vector-valued. If \"f\" returns
+"f" may be vector-valued. If "f" returns
an n-vector, and the argument is a k-vector, the gradient
will be an nxk matrix
@@ -2330,7 +2336,7 @@
function a = f(x);
a = [x'*x; 2*x];
endfunction
-numgradient(\"f\", {ones(2,1)})
+numgradient("f", {ones(2,1)})
ans =
2.00000 2.00000
@@ -2339,6 +2345,7 @@
+
File: optim.info, Node: numhessian, Next: cdiff, Prev: numgradient, Up: Gradient functions
@@ -2351,7 +2358,7 @@
numhessian(f, {args}, minarg)
Numeric second derivative of f with respect
-to argument \"minarg\".
+to argument "minarg".
* first argument: function name (string)
* second argument: all arguments of the function (cell array)
* third argument: (optional) the argument to differentiate w.r.t.
@@ -2364,18 +2371,19 @@
a = x'*x + log(y);
endfunction
-numhessian(\"f\", {ones(2,1), 1})
+numhessian("f", {ones(2,1), 1})
ans =
2.0000e+00 -7.4507e-09
-7.4507e-09 2.0000e+00
Now, w.r.t. second argument:
-numhessian(\"f\", {ones(2,1), 1}, 2)
+numhessian("f", {ones(2,1), 1}, 2)
ans = -1.0000
+
File: optim.info, Node: cdiff, Next: jacobs, Prev: numhessian, Up: Gradient functions
@@ -2639,7 +2647,13 @@
LAMBDA
Structure containing Lagrange multipliers corresponding to the
- constraints.
+ constraints. For equality constraints, the sign of the
+ multipliers is chosen to satisfy the equation
+ 0.5 H * x + f + A' * lambda_inequ + Aeq' * lambda_equ = 0 .
+ If lower and upper bounds are equal, or so close to each other
+ that they are considered equal by the algorithm, only one of
+ these bounds is considered active when computing the solution,
+ and a positive lambda will be placed only at this bound.
This function calls Octave's '__qp__' back-end algorithm
internally.
@@ -3450,112 +3464,112 @@
Tag Table:
Node: Top799
-Node: Scalar optimization2742
-Node: nonlin_min4420
-Ref: XREFnonlin_min4624
-Node: lm_feasible10477
-Node: octave_sqp11769
-Node: siman13054
-Node: d2_min15970
-Node: fmins16725
-Ref: XREFfmins16924
-Node: nmsmax18347
-Ref: XREFnmsmax18531
-Node: mdsmax20467
-Ref: XREFmdsmax20660
-Node: adsmax22983
-Ref: XREFadsmax23185
-Node: nelder_mead_min25066
-Ref: XREFnelder_mead_min25368
-Node: powell28050
-Ref: XREFpowell28226
-Node: bfgsmin30910
-Ref: XREFbfgsmin31175
-Node: nrm32887
-Ref: XREFnrm33067
-Node: cg_min33221
-Ref: XREFcg_min33384
-Node: brent_line_min35807
-Ref: XREFbrent_line_min35969
-Node: line_min37051
-Ref: XREFline_min37265
-Node: samin38058
-Ref: XREFsamin38347
-Node: de_min40148
-Ref: XREFde_min40367
-Node: battery44707
-Ref: XREFbattery44864
-Node: Residual optimization45328
-Node: nonlin_residmin47521
-Ref: XREFnonlin_residmin47750
-Ref: XREFoptiondfdp50691
-Node: nonlin_curvefit53378
-Ref: XREFnonlin_curvefit54267
-Node: lm_svd_feasible55444
-Node: residmin_stat56460
-Ref: XREFresidmin_stat56659
-Node: curvefit_stat59454
-Ref: XREFcurvefit_stat59887
-Node: wls60663
-Node: lsqlin61785
-Ref: XREFlsqlin62093
-Node: leasqr63734
-Ref: XREFleasqr64508
-Node: expfit74023
-Ref: XREFexpfit74250
-Node: polyfitinf75834
-Ref: XREFpolyfitinf76053
-Node: wpolyfit80694
-Ref: XREFwpolyfit80888
-Node: polyconf83876
-Ref: XREFpolyconf84133
-Node: LinearRegression85544
-Node: wsolve87126
-Ref: XREFwsolve87324
-Node: Zero finders89020
-Node: vfzero89471
-Ref: XREFvfzero89594
-Node: Gradient functions91507
-Node: dfpdp92418
-Ref: XREFdfpdp92673
-Node: deriv93755
-Ref: XREFderiv93927
-Node: numgradient94753
-Ref: XREFnumgradient94953
-Node: numhessian95551
-Ref: XREFnumhessian95733
-Node: cdiff96339
-Ref: XREFcdiff96572
-Node: jacobs97927
-Ref: XREFjacobs98060
-Node: Helper functions99091
-Node: cpiv_bard99445
-Ref: XREFcpiv_bard99618
-Node: gjp100798
-Ref: XREFgjp100945
-Node: Documentation101762
-Ref: XREFoptim_doc101957
-Node: Compatibility wrappers102357
-Node: linprog102883
-Ref: XREFlinprog103067
-Node: quadprog103679
-Ref: XREFquadprog103882
-Node: lsqnonlin105573
-Ref: XREFlsqnonlin105870
-Node: lsqcurvefit109581
-Ref: XREFlsqcurvefit109841
-Node: nlinfit113854
-Ref: XREFnlinfit114136
-Node: Common frontend options117132
-Node: Common optimization options120923
-Node: Parameter structures128470
-Node: Structure-based user functions130269
-Node: Structure-based gradients and Hessians132456
-Node: Structure-based linear constraints133442
-Node: Structure-based configuration settings134036
-Node: Non-scalar parameters135177
-Node: Additional parameters136181
-Node: Function index137484
-Node: Concept index140734
+Node: Scalar optimization2812
+Node: nonlin_min4490
+Ref: XREFnonlin_min4694
+Node: lm_feasible10547
+Node: octave_sqp11839
+Node: siman13124
+Node: d2_min16040
+Node: fmins16795
+Ref: XREFfmins16994
+Node: nmsmax18417
+Ref: XREFnmsmax18716
+Node: mdsmax20652
+Ref: XREFmdsmax20845
+Node: adsmax23168
+Ref: XREFadsmax23370
+Node: nelder_mead_min25251
+Ref: XREFnelder_mead_min25553
+Node: powell28235
+Ref: XREFpowell28411
+Node: bfgsmin31095
+Ref: XREFbfgsmin31360
+Node: nrm33072
+Ref: XREFnrm33252
+Node: cg_min33406
+Ref: XREFcg_min33569
+Node: brent_line_min35992
+Ref: XREFbrent_line_min36154
+Node: line_min37236
+Ref: XREFline_min37450
+Node: samin38243
+Ref: XREFsamin38532
+Node: de_min40330
+Ref: XREFde_min40549
+Node: battery44889
+Ref: XREFbattery45046
+Node: Residual optimization45510
+Node: nonlin_residmin47703
+Ref: XREFnonlin_residmin47932
+Ref: XREFoptiondfdp50873
+Node: nonlin_curvefit53560
+Ref: XREFnonlin_curvefit54449
+Node: lm_svd_feasible55626
+Node: residmin_stat56642
+Ref: XREFresidmin_stat56841
+Node: curvefit_stat59636
+Ref: XREFcurvefit_stat60069
+Node: wls60845
+Node: lsqlin61967
+Ref: XREFlsqlin62275
+Node: leasqr63916
+Ref: XREFleasqr64690
+Node: expfit74205
+Ref: XREFexpfit74432
+Node: polyfitinf76016
+Ref: XREFpolyfitinf76235
+Node: wpolyfit80876
+Ref: XREFwpolyfit81070
+Node: polyconf84058
+Ref: XREFpolyconf84315
+Node: LinearRegression85726
+Node: wsolve87308
+Ref: XREFwsolve87506
+Node: Zero finders89202
+Node: vfzero89653
+Ref: XREFvfzero89776
+Node: Gradient functions91689
+Node: dfpdp92600
+Ref: XREFdfpdp92855
+Node: deriv93937
+Ref: XREFderiv94109
+Node: numgradient94935
+Ref: XREFnumgradient95135
+Node: numhessian95726
+Ref: XREFnumhessian95908
+Node: cdiff96509
+Ref: XREFcdiff96742
+Node: jacobs98097
+Ref: XREFjacobs98230
+Node: Helper functions99261
+Node: cpiv_bard99615
+Ref: XREFcpiv_bard99788
+Node: gjp100968
+Ref: XREFgjp101115
+Node: Documentation101932
+Ref: XREFoptim_doc102127
+Node: Compatibility wrappers102527
+Node: linprog103053
+Ref: XREFlinprog103237
+Node: quadprog103849
+Ref: XREFquadprog104052
+Node: lsqnonlin106201
+Ref: XREFlsqnonlin106498
+Node: lsqcurvefit110209
+Ref: XREFlsqcurvefit110469
+Node: nlinfit114482
+Ref: XREFnlinfit114764
+Node: Common frontend options117760
+Node: Common optimization options121551
+Node: Parameter structures129098
+Node: Structure-based user functions130897
+Node: Structure-based gradients and Hessians133084
+Node: Structure-based linear constraints134070
+Node: Structure-based configuration settings134664
+Node: Non-scalar parameters135805
+Node: Additional parameters136809
+Node: Function index138112
+Node: Concept index141362
End Tag Table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/optim.texi new/optim-1.5.2/doc/optim.texi
--- old/optim-1.5.0/doc/optim.texi 2016-02-21 11:36:29.000000000 +0100
+++ new/optim-1.5.2/doc/optim.texi 2016-09-18 19:32:03.000000000 +0200
@@ -57,12 +57,13 @@
@top Additional documentation for the optim package for Octave
@ifhtml
-@strong{Note: Some links in this document lead to Octaves core
-documentation. These links probably don't work in the html version of
-this document. They should work, however, in the info version accessible
-from the Octave commandline with @code{optim_doc()}.}
+The info version of this document is accessible, after package
+installation, from the Octave commandline with @code{optim_doc()}.
@end ifhtml
+This documentation applies to version 1.5.2 of the optim
+package.
+
The optim package is a collection of additional functions related to
numerical optimization. For Octaves core optimization functions (not
contained in this package)
@@ -490,6 +491,9 @@
@section A Nelder-Mead simplex algorithm
@mfnindex nmsmax
+This function is deprecated. It is available with a slightly different
+interface in core Octave as `fminsearch'.
+
@subheading Helptext:
@anchor{XREFnmsmax}
@@ -1012,10 +1016,10 @@
@verbatim
samin: simulated annealing minimization of a function. See samin_example.m
-usage: [x, obj, convergence, details] = samin(\"f\", {args}, {control})
+usage: [x, obj, convergence, details] = samin("f", {args}, {control})
Arguments:
-* \"f\": function name (string)
+* "f": function name (string)
* {args}: a cell array that holds all arguments of the function,
* {control}: a cell array with 11 elements
* LB - vector of lower bounds
@@ -1051,6 +1055,7 @@
Example: see samin_example
+
@end verbatim
@c ------------------------------------------------------------------
@@ -2576,13 +2581,13 @@
numgradient(f, {args}, minarg)
Numeric central difference gradient of f with respect
-to argument \"minarg\".
+to argument "minarg".
* first argument: function name (string)
* second argument: all arguments of the function (cell array)
* third argument: (optional) the argument to differentiate w.r.t.
(scalar, default=1)
-\"f\" may be vector-valued. If \"f\" returns
+"f" may be vector-valued. If "f" returns
an n-vector, and the argument is a k-vector, the gradient
will be an nxk matrix
@@ -2590,7 +2595,7 @@
function a = f(x);
a = [x'*x; 2*x];
endfunction
-numgradient(\"f\", {ones(2,1)})
+numgradient("f", {ones(2,1)})
ans =
2.00000 2.00000
@@ -2598,6 +2603,7 @@
0.00000 2.00000
+
@end verbatim
@c ------------------------------------------------------------------
@@ -2613,7 +2619,7 @@
numhessian(f, {args}, minarg)
Numeric second derivative of f with respect
-to argument \"minarg\".
+to argument "minarg".
* first argument: function name (string)
* second argument: all arguments of the function (cell array)
* third argument: (optional) the argument to differentiate w.r.t.
@@ -2626,17 +2632,18 @@
a = x'*x + log(y);
endfunction
-numhessian(\"f\", {ones(2,1), 1})
+numhessian("f", {ones(2,1), 1})
ans =
2.0000e+00 -7.4507e-09
-7.4507e-09 2.0000e+00
Now, w.r.t. second argument:
-numhessian(\"f\", {ones(2,1), 1}, 2)
+numhessian("f", {ones(2,1), 1}, 2)
ans = -1.0000
+
@end verbatim
@c ------------------------------------------------------------------
@@ -2954,7 +2961,15 @@
@item lambda
Structure containing Lagrange multipliers corresponding to the
-constraints.
+constraints. For equality constraints, the sign of the multipliers
+is chosen to satisfy the equation
+@example
+0.5 H * x + f + A' * lambda_inequ + Aeq' * lambda_equ = 0 .
+@end example
+If lower and upper bounds are equal, or so close to each other that
+they are considered equal by the algorithm, only one of these
+bounds is considered active when computing the solution, and a
+positive lambda will be placed only at this bound.
@end table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/doc/optim.txi new/optim-1.5.2/doc/optim.txi
--- old/optim-1.5.0/doc/optim.txi 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/doc/optim.txi 2016-09-18 19:31:55.000000000 +0200
@@ -55,12 +55,13 @@
@top Additional documentation for the optim package for Octave
@ifhtml
-@strong{Note: Some links in this document lead to Octaves core
-documentation. These links probably don't work in the html version of
-this document. They should work, however, in the info version accessible
-from the Octave commandline with @code{optim_doc()}.}
+The info version of this document is accessible, after package
+installation, from the Octave commandline with @code{optim_doc()}.
@end ifhtml
+This documentation applies to version @PACKAGEVERSION of the optim
+package.
+
The optim package is a collection of additional functions related to
numerical optimization. For Octaves core optimization functions (not
contained in this package)
@@ -401,6 +402,9 @@
@section A Nelder-Mead simplex algorithm
@mfnindex nmsmax
+This function is deprecated. It is available with a slightly different
+interface in core Octave as `fminsearch'.
+
@subheading Helptext:
@DOCSTRINGVERBATIM(nmsmax)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/jacobs.m new/optim-1.5.2/inst/jacobs.m
--- old/optim-1.5.0/inst/jacobs.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/jacobs.m 2016-09-18 19:31:55.000000000 +0200
@@ -180,7 +180,7 @@
Df(:, idx(1)) = t_Df;
- for count = idx(2:end).'
+ for count = (idx.')(2:end)
Df(:, count) = imag (f (x(:, count))(:));
endfor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/lsqcurvefit.m new/optim-1.5.2/inst/lsqcurvefit.m
--- old/optim-1.5.0/inst/lsqcurvefit.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/lsqcurvefit.m 2016-09-18 19:31:55.000000000 +0200
@@ -125,7 +125,7 @@
## @seealso {lsqnonlin, nonlin_residmin, nonlin_curvefit}
## @end deftypefn
-## PKG_ADD: __all_opts__ ("lsqcurvefit");
+## PKG_ADD: [~] = __all_opts__ ("lsqcurvefit");
function varargout = lsqcurvefit (varargin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/lsqlin.m new/optim-1.5.2/inst/lsqlin.m
--- old/optim-1.5.0/inst/lsqlin.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/lsqlin.m 2016-09-18 19:31:55.000000000 +0200
@@ -88,7 +88,7 @@
## @seealso{quadprog}
## @end deftypefn
-## PKG_ADD: __all_opts__ ("lsqlin");
+## PKG_ADD: [~] = __all_opts__ ("lsqlin");
function varargout = lsqlin (C, d, A, b, varargin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/lsqnonlin.m new/optim-1.5.2/inst/lsqnonlin.m
--- old/optim-1.5.0/inst/lsqnonlin.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/lsqnonlin.m 2016-09-18 19:31:55.000000000 +0200
@@ -126,7 +126,7 @@
## @seealso {lsqcurvefit, nonlin_residmin, nonlin_curvefit}
## @end deftypefn
-## PKG_ADD: __all_opts__ ("lsqnonlin");
+## PKG_ADD: [~] = __all_opts__ ("lsqnonlin");
function varargout = lsqnonlin (varargin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/nlinfit.m new/optim-1.5.2/inst/nlinfit.m
--- old/optim-1.5.0/inst/nlinfit.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/nlinfit.m 2016-09-18 19:31:55.000000000 +0200
@@ -93,7 +93,7 @@
##
## modified by Olaf Till
-## PKG_ADD: __all_stat_opts__ ("nlinfit");
+## PKG_ADD: [~] = __all_stat_opts__ ("nlinfit");
function varargout = nlinfit (X, Y, modelfun, beta0, varargin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/nmsmax.m new/optim-1.5.2/inst/nmsmax.m
--- old/optim-1.5.0/inst/nmsmax.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/nmsmax.m 2016-09-18 19:31:55.000000000 +0200
@@ -55,6 +55,13 @@
function [x, fmax, nf] = nmsmax(fun, x, stopit, savit, varargin)
+ persistent warned = false;
+ if (! warned)
+ warned = true;
+ warning ("Octave:deprecated-function",
+ "`nmsmax' has been deprecated, and will be removed in the future. The function is available with a slightly different interface in core Octave as `fminsearch'.");
+ endif
+
x0 = x(:); % Work with column vector internally.
n = length(x0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/nonlin_min.m new/optim-1.5.2/inst/nonlin_min.m
--- old/optim-1.5.0/inst/nonlin_min.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/nonlin_min.m 2016-09-18 19:31:55.000000000 +0200
@@ -70,7 +70,7 @@
##
## @end deftypefn
-## PKG_ADD: __all_opts__ ("nonlin_min");
+## PKG_ADD: [~] = __all_opts__ ("nonlin_min");
function [p, objf, cvg, outp] = nonlin_min (f, pin, settings)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/nonlin_residmin.m new/optim-1.5.2/inst/nonlin_residmin.m
--- old/optim-1.5.0/inst/nonlin_residmin.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/nonlin_residmin.m 2016-09-18 19:31:55.000000000 +0200
@@ -76,7 +76,7 @@
## @seealso {nonlin_curvefit}
## @end deftypefn
-## PKG_ADD: __all_opts__ ("nonlin_residmin");
+## PKG_ADD: [~] = __all_opts__ ("nonlin_residmin");
function [p, resid, cvg, outp] = nonlin_residmin (varargin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/powell.m new/optim-1.5.2/inst/powell.m
--- old/optim-1.5.0/inst/powell.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/powell.m 2016-09-18 19:31:55.000000000 +0200
@@ -79,7 +79,7 @@
## @end enumerate
## @end deftypefn
-## PKG_ADD: __all_opts__ ("powell");
+## PKG_ADD: [~] = __all_opts__ ("powell");
function [p, obj_value, convergence, iters, nevs] = powell (f, p0, options = struct ())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/private/__read_options__.m new/optim-1.5.2/inst/private/__read_options__.m
--- old/optim-1.5.0/inst/private/__read_options__.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/private/__read_options__.m 1970-01-01 01:00:00.000000000 +0100
@@ -1,153 +0,0 @@
-## Copyright (C) 2002 Etienne Grossmann
-##
-## This program is free software; you can redistribute it and/or modify it under
-## the terms of the GNU General Public License as published by the Free Software
-## Foundation; either version 3 of the License, or (at your option) any later
-## version.
-##
-## This program is distributed in the hope that it will be useful, but WITHOUT
-## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-## details.
-##
-## You should have received a copy of the GNU General Public License along with
-## this program; if not, see http://www.gnu.org/licenses/.
-
-## -*- texinfo -*-
-## @deftypefn{Function File} {[@var{op}, @var{nread}] =} __read_options__ (@var{args}, @var{varargin})
-## Undocumented internal function.
-## @end deftypefn
-
-function [op,nread] = __read_options__ (args, varargin) ## pos 2.1.39
-
- verbose = 0;
-
- op = struct (); # Empty struct
- op0 = op1 = " ";
- skipnan = prefix = quiet = nocase = quiet = 0;
- extra = "";
-
-
- nargs = nargin-1; # nargin is now a function
- if rem (nargs, 2), error ("odd number of optional args"); endif
-
-
- i=1;
- while i 1 # Ambiguous option name
-
- fullen = zeros (1,length (ii)); # Full length of each optio
- tmp = correct = "";
- j = 0;
- for i = ii
- fullen(++j) = spi(find (spi > i,1))-i ;
- tmp = [tmp,"', '",opts(i:i+fullen(j)-1)];
- endfor
- tmp = tmp(5:length(tmp));
-
- if sum (fullen == min (fullen)) > 1 || ...
- ((min (fullen) != length(name)) && ! prefix) ,
- error ("ambiguous option '%s'. Could be '%s'",oname,tmp);
- endif
- j = find (fullen == min (fullen), 1);
- ii = ii(j);
- endif
-
- # Full name of option (w/ correct case)
-
- fullname = opts_orig(ii:spi(find (spi > ii, 1))-1);
- if ii < iend
- if verbose, printf ("read_options : found boolean '%s'\n",fullname); endif
- op.(fullname) = 1;
- else
- if verbose, printf ("read_options : found '%s'\n",fullname); endif
- if nread < length (args)
- tmp = args{++nread};
- if verbose, printf ("read_options : size is %i x %i\n",size(tmp)); endif
- if !isnumeric (tmp) || !all (isnan (tmp(:))) || ...
- !isfield (op, fullname)
- op.(fullname) = tmp;
- else
- if verbose, printf ("read_options : ignoring nan\n"); endif
- endif
- else
- error ("options end before I can read value of option '%s'",oname);
- endif
- endif
- endwhile
-endfunction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/quadprog.m new/optim-1.5.2/inst/quadprog.m
--- old/optim-1.5.0/inst/quadprog.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/quadprog.m 2016-09-18 19:31:55.000000000 +0200
@@ -84,14 +84,22 @@
##
## @item lambda
## Structure containing Lagrange multipliers corresponding to the
-## constraints.
+## constraints. For equality constraints, the sign of the multipliers
+## is chosen to satisfy the equation
+## @example
+## 0.5 H * x + f + A' * lambda_inequ + Aeq' * lambda_equ = 0 .
+## @end example
+## If lower and upper bounds are equal, or so close to each other that
+## they are considered equal by the algorithm, only one of these
+## bounds is considered active when computing the solution, and a
+## positive lambda will be placed only at this bound.
##
## @end table
##
## This function calls Octave's @code{__qp__} back-end algorithm internally.
## @end deftypefn
-## PKG_ADD: __all_opts__ ("quadprog");
+## PKG_ADD: [~] = __all_opts__ ("quadprog");
## adapted from Octaves qp.m with enhanced handling of lambda by Asma
## Afzal
@@ -377,41 +385,69 @@
if (nout >= 5 && exitflag == 0)
lm_idx = 1; lambda_not_ineq = [];
- ## Pick multipliers corresponding to equality constraints first if present
+ ## Pick multipliers corresponding to equality constraints first if
+ ## present
if (n_eq > 0)
- lambda.eqlin = qp_lambda(lm_idx:lm_idx + n_eq - count_not_ineq - 1);
+ ## Matlab specifies in its online help pages the condition
+ ## 'gradient f + lambda * gradient equality_constraints = 0',
+ ## which determines this sign of lambda for equality
+ ## constraints. The difference to __sqp__ probably results from
+ ## the different 'direction' of _in_equality constraints (<=
+ ## versus >=), which are usually handled together with equality
+ ## constraints in the algorithm.
+ lambda.eqlin = -qp_lambda(lm_idx:lm_idx + n_eq - count_not_ineq
+ - 1);
## Multipliers corresponding to too close bounds making equality
## constraints
- lambda_not_ineq = qp_lambda(lm_idx + n_eq - count_not_ineq: lm_idx + n_eq -1);
+ lambda_not_ineq = -qp_lambda(lm_idx + n_eq - count_not_ineq:
+ lm_idx + n_eq -1);
lm_idx += n_eq;
endif
- ## Pick multipliers corresponding to inequality constraints if present
+ ## Pick multipliers corresponding to inequality constraints if
+ ## present
if (! isempty (allargin{1}))
ineq_tmp = qp_lambda(lm_idx:lm_idx + sum (! idx_ineq) - 1);
lambda.ineqlin = ineq_tmp;
lm_idx = lm_idx + sum (! idx_ineq);
endif
+
+ ## Multipliers corresponding to bounds. Multipliers of two close
+ ## bounds, having been treated as equality constraints, have to be
+ ## inserted here (for one of these bounds only, otherwise we'd
+ ## have an additional term with respect to the implicitely used
+ ## Lagrangian at the result). The derivative of the equality
+ ## constraint, given the way this constraint is (implicitely)
+ ## formulated in this algorithm, is the same as the derivative of
+ ## the corresponding upper bound, so lambda is assigned to the
+ ## upper bound if it's positive. If it's negative, this can't be
+ ## done (bounds correspond to inequality constraints), so it is
+ ## negated and assigned to the lower bound instead.
+ pos_idx = ! (neg_idx = lambda_not_ineq < 0);
+ idx_pos_lambda = idx_neg_lambda = false (n, 1);
+ idx_pos_lambda(idx_bounds_eq) = pos_idx;
+ idx_neg_lambda(idx_bounds_eq) = neg_idx;
+
## Pick multipliers corresponding to lower bounds if present
if (! isempty (allargin{5}))
lambda.lower = zeros (n, 1);
- lb_tmp = qp_lambda(lm_idx:lm_idx + sum (idx_lb) - count_not_ineq - 1);
+ lb_tmp = qp_lambda(lm_idx:lm_idx + sum (idx_lb) - count_not_ineq
+ - 1);
## Take care of the position of too close and -Inf bounds
- ## Place zeros for the corresponding multipliers.
idx = idx_bounds_ineq & idx_lb;
lambda.lower(idx) = lb_tmp;
- lambda.lower(idx_bounds_eq) = lambda_not_ineq;
+ lambda.lower(idx_neg_lambda) = -lambda_not_ineq(neg_idx);
lambda.lower = lambda.lower(:);
lm_idx += sum (idx_lb) - count_not_ineq;
endif
## Pick multipliers corresponding to upper bounds if present
if (! isempty (allargin{6}))
lambda.upper = zeros (n, 1);
- ub_tmp = qp_lambda(lm_idx:lm_idx + sum (idx_ub) - count_not_ineq - 1);
+ ub_tmp = qp_lambda(lm_idx:lm_idx + sum (idx_ub) - count_not_ineq
+ - 1);
## Take care of the position of -Inf bounds
- ## Place the multipliers for too close bounds in the respective positions
idx = idx_bounds_ineq & idx_ub;
lambda.upper(idx) = ub_tmp;
- ## lambda.upper(! idx) = 0;
+ lambda.upper(idx_pos_lambda) = lambda_not_ineq(pos_idx);
lambda.upper = lambda.upper(:);
endif
varargout{5} = lambda;
@@ -441,7 +477,7 @@
%! A= [-1 -3; 2 5; 3 4];
%! b = [-15; 100; 80];
%! l= zeros(2,1);
-%! [x,fval,exitflag,output] = quadprog(H,f,A,b,[],[],l,[])
+%! [x,fval,exitflag,output] = quadprog(H,f,A,b,[],[],l,[]);
%! assert(x,[0;5])
%! assert(fval,20)
%! assert(exitflag,1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/residmin_stat.m new/optim-1.5.2/inst/residmin_stat.m
--- old/optim-1.5.0/inst/residmin_stat.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/residmin_stat.m 2016-09-18 19:31:55.000000000 +0200
@@ -58,7 +58,7 @@
## @seealso {curvefit_stat}
## @end deftypefn
-## PKG_ADD: __all_opts__ ("residmin_stat");
+## PKG_ADD: [~] = __all_opts__ ("residmin_stat");
function ret = residmin_stat (varargin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/inst/vfzero.m new/optim-1.5.2/inst/vfzero.m
--- old/optim-1.5.0/inst/vfzero.m 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/inst/vfzero.m 2016-09-18 19:31:55.000000000 +0200
@@ -80,7 +80,7 @@
## Author: Jaroslav Hajek
-## PKG_ADD: __all_opts__ ("vfzero");
+## PKG_ADD: [~] = __all_opts__ ("vfzero");
function [x, fval, info, output] = vfzero (fun, x0, options = struct ())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/octave-optim.metainfo.xml new/optim-1.5.2/octave-optim.metainfo.xml
--- old/optim-1.5.0/octave-optim.metainfo.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/optim-1.5.2/octave-optim.metainfo.xml 2016-09-18 19:31:55.000000000 +0200
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2016 Colin B. Macdonald
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without any warranty.
+-->
+<component type="addon">
+ <id>octave-optim</id>
+ <extends>www.octave.org-octave.desktop</extends>
+ <name>Optim</name>
+ <summary>Non-linear optimization toolkit</summary>
+ <description>
+ <p>The optim package is a collection of additional functions related to
+numerical optimization.</p>
+ </description>
+ <keywords>
+ <keyword>non-linear optimization</keyword>
+ <keyword>residual minimization</keyword>
+ <keyword>curve fitting</keyword>
+ <keyword>optimization statistics</keyword>
+ <keyword>zero finders</keyword>
+ <keyword>gradients</keyword>
+ <keyword>derivatives</keyword>
+ <keyword>levenberg</keyword>
+ <keyword>marquardt</keyword>
+ <keyword>simulated annealing</keyword>
+ </keywords>
+ <url type="homepage">http://octave.sourceforge.net/optim</url>
+ <url type="bugtracker">https://savannah.gnu.org/bugs/?func=additem&group=octave</url>
+ GPL-3.0+
+ Octave-Forge Community
+ octave-maintainers@gnu.org
+ FSFAP
+</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/src/configure.ac new/optim-1.5.2/src/configure.ac
--- old/optim-1.5.0/src/configure.ac 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/src/configure.ac 2016-09-18 19:31:55.000000000 +0200
@@ -18,14 +18,27 @@
### http://www.gnu.org/licenses/.
AC_PREREQ([2.62])
-AC_INIT([optim], [1.5.0], [i7tiol@t-online.de])
+AC_INIT([optim], [1.5.2], [i7tiol@t-online.de])
AC_CONFIG_SRCDIR([numgradient.cc])
AC_CONFIG_HEADERS([config.h])
# Checks for programs.
-AC_PROG_CXX
AC_CHECK_PROG(MKOCTFILE, mkoctfile, mkoctfile)
+if test -z "$MKOCTFILE"; then
+AC_MSG_ERROR([mkoctfile not found], 1);
+fi
AC_CHECK_PROG(OCTAVE_CONFIG, octave-config, octave-config)
+if test -z "$OCTAVE_CONFIG"; then
+AC_MSG_ERROR([octave-config not found], 1);
+fi
+
+AC_PROG_SED
+
+# The same value of CXX as Octave was compiled with is supposed to be used.
+CXX=${CXX:-`${MKOCTFILE} -p CXX`}
+AC_PROG_CXX
+
+AC_PROG_CXXCPP
# Checks for libraries.
@@ -41,19 +54,27 @@
# Start of checks for Octave features, preparations for checks.
OCTLIBDIR=${OCTLIBDIR:-`$OCTAVE_CONFIG -p OCTLIBDIR`}
+## We need Octaves include path both with and without '/octave'
+## appended. The path without '/octave' is needed to selectively test
+## for Octave headers, like octave/....h. The path with '/octave' is
+## needed since some Octave headers contain include directives for
+## other Octave headers with <> instead of "".
OCTINCLUDEDIR=${OCTINCLUDEDIR:-`$OCTAVE_CONFIG -p OCTINCLUDEDIR`}
+TPINCLUDEDIR=`echo $OCTINCLUDEDIR | $SED -e 's/\/octave$//'`
AC_LANG_PUSH([C++])
TCXXFLAGS=$CXXFLAGS
TLDFLAGS=$LDFLAGS
TLIBS=$LIBS
+TCPPFLAGS=$CPPFLAGS
LDFLAGS="-L$OCTLIBDIR $LDFLAGS"
LIBS="-loctinterp $LIBS"
-CXXFLAGS="-I$OCTINCLUDEDIR $CXXFLAGS"
+# CXXFLAGS=
+CPPFLAGS="-I$OCTINCLUDEDIR -I$TPINCLUDEDIR $CPPFLAGS"
## Presence of 'error_state' -- does _not_ indicate no exceptions are
## used.
AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[#include ]
+ [AC_LANG_PROGRAM([[#include ]
[#include ]],
[[printf ("%i", error_state);]])],
[AC_DEFINE([HAVE_OCTAVE_ERROR_STATE], 1)])
@@ -61,7 +82,7 @@
## Presence of 'verror (octave_execution_exception&, const char *,
## va_list)'
AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[#include ]],
+ [AC_LANG_PROGRAM([[#include ]],
[[octave_execution_exception e;]
[va_list args;]
[verror (e, "test", args);]])],
@@ -70,6 +91,7 @@
LIBS=$TLIBS
LDFLAGS=$TLDFLAGS
CXXFLAGS=$TCXXFLAGS
+CPPFLAGS=$TCPPFLAGS
AC_LANG_POP([C++])
# End of checks for Octave features.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/optim-1.5.0/src/munge-texi.pl new/optim-1.5.2/src/munge-texi.pl
--- old/optim-1.5.0/src/munge-texi.pl 2016-02-21 11:35:53.000000000 +0100
+++ new/optim-1.5.2/src/munge-texi.pl 2016-09-18 19:31:55.000000000 +0200
@@ -66,6 +66,19 @@
# Add warning header
print '@c This file is generated automatically by the packages munge-texi.pl.',"\n\n";
+# parse ../DESCRIPTION to get package version
+open (FH, "../DESCRIPTION") or die "unable to open file ../DESCRIPTION\n";
+while (<FH>)
+{
+ # this represents the current logic of pkg
+ if (/^Version\s*:\s*([^\s]+)/i)
+ {
+ $version = $1;
+ }
+}
+close (FH);
+defined ($version) or die "unable to find version string in ../DESCRIPTION\n";
+
TXI_LINE: while (<STDIN>)
{
if (/^\s*\@DOCSTRING\((\S+)\)/)
@@ -119,6 +132,9 @@
next TXI_LINE;
}
+ # replace @PACKAGEVERSION with version string
+ s/\@PACKAGEVERSION/$version/o;
+
# pass ordinary lines straight through to output
print $_;
}
++++++ optim-gcc-warnings.patch ++++++
Index: optim-1.5.2/src/samin.cc
===================================================================
--- optim-1.5.2.orig/src/samin.cc
+++ optim-1.5.2/src/samin.cc
@@ -282,7 +282,7 @@ Example: see samin_example\n\
return octave_value_list();
}
- double f, fp, p, pp, fopt, rand_draw, ratio, t;
+ double f, fp, p, fopt, rand_draw, ratio, t;
Matrix details(1,3); // record function evaluations, temperatures and function values
RowVector info(3);
@@ -533,4 +533,6 @@ Example: see samin_example\n\
x = xopt;
}
}
+ // silence compiler warning
+ return octave_value_list ();
}