Skip to content

Commit 9893f5e

Browse files
committed
Upgraded to v1.4.0
1 parent 2273895 commit 9893f5e

File tree

100 files changed

+12322
-5925
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+12322
-5925
lines changed

dfols/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@
2222
2323
"""
2424

25-
__version__ = '1.3.0'
25+
__version__ = '1.4.0'

docs/build/doctrees/advanced.doctree

-7.09 KB
Binary file not shown.
133 Bytes
Binary file not shown.
-1.08 KB
Binary file not shown.
351 KB
Binary file not shown.

docs/build/doctrees/history.doctree

1.24 KB
Binary file not shown.

docs/build/doctrees/index.doctree

-928 Bytes
Binary file not shown.

docs/build/doctrees/info.doctree

-4.36 KB
Binary file not shown.

docs/build/doctrees/install.doctree

-694 Bytes
Binary file not shown.

docs/build/doctrees/userguide.doctree

4.66 KB
Binary file not shown.

docs/build/html/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: f48a4434832128cee1c37b97e0d08ba7
3+
config: 9225f36eae372b3a31ab5086859194b5
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/build/html/_sources/contributors.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Contributors
33

44
Main author
55
-----------
6-
* Lindon Roberts (Australian National University)
6+
* Lindon Roberts (University of Sydney)
77

88
Contributors
99
------------

docs/build/html/_sources/history.rst.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,9 @@ Version 1.3.0 (8 Nov 2021)
5151
* Handle finitely many arbitrary convex constraints in addition to simple bound constraints.
5252
* Add module-level logging for more informative log outputs.
5353
* Only new functionality is added, so there is no change to the solver for unconstrained/bound-constrained problems.
54+
55+
Version 1.4.0 (29 Jan 2024)
56+
---------------------------
57+
* Require newer SciPy version (at least 1.11) as a dependency - avoids occasional undetermined behavior but no changes to the DFO-LS algorithm.
58+
* Gracefully handle NaN objective value from evaluation at a new trial point (trust-region step).
59+

docs/build/html/_sources/index.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization
99

1010
**Date:** |today|
1111

12-
**Author:** `Lindon Roberts <lindon.roberts@anu.edu.au>`_
12+
**Author:** `Lindon Roberts <lindon.roberts@sydney.edu.au>`_
1313

1414
DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares.
1515

docs/build/html/_sources/install.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ DFO-LS requires the following software to be installed:
1010
Additionally, the following python packages should be installed (these will be installed automatically if using *pip*, see `Installation using pip`_):
1111

1212
* NumPy 1.11 or higher (http://www.numpy.org/)
13-
* SciPy 0.18 or higher (http://www.scipy.org/)
13+
* SciPy 1.11 or higher (http://www.scipy.org/)
1414
* Pandas 0.17 or higher (http://pandas.pydata.org/)
1515

1616
**Optional package:** DFO-LS versions 1.2 and higher also support the `trustregion <https://github.com/lindonroberts/trust-region>`_ package for fast trust-region subproblem solutions. To install this, make sure you have a Fortran compiler (e.g. `gfortran <https://gcc.gnu.org/wiki/GFortran>`_) and NumPy installed, then run :code:`pip install trustregion`. You do not have to have trustregion installed for DFO-LS to work, and it is not installed by default.

docs/build/html/_sources/userguide.rst.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ The possible values of :code:`soln.flag` are defined by the following variables:
5252
* :code:`soln.EXIT_INPUT_ERROR` - error in the inputs.
5353
* :code:`soln.EXIT_TR_INCREASE_ERROR` - error occurred when solving the trust region subproblem.
5454
* :code:`soln.EXIT_LINALG_ERROR` - linear algebra error, e.g. the interpolation points produced a singular linear system.
55+
* :code:`soln.EXIT_EVAL_ERROR` - the objective function returned a NaN value when evaluating at a new trial point.
5556

5657
These variables are defined in the :code:`soln` object, so can be accessed with, for example
5758

@@ -225,7 +226,7 @@ An alternative option available is to get DFO-LS to print to terminal progress i
225226
1 56 1.00e-02 2.00e-01 1.50e-08 1.00e-08 57
226227
227228
Handling Arbitrary Convex Constraints
228-
-----------------------------
229+
-------------------------------------
229230
DFO-LS can also handle more general constraints where they can be written as the intersection of finitely many convex sets. For example, the below code
230231
minimizes the Rosenbrock function subject to a constraint set given by the intersection of two convex sets. Note the intersection of the user-provided convex
231232
sets must be non-empty.
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
/* Compatability shim for jQuery and underscores.js.
2+
*
3+
* Copyright Sphinx contributors
4+
* Released under the two clause BSD licence
5+
*/
6+
7+
/**
8+
* small helper function to urldecode strings
9+
*
10+
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
11+
*/
12+
jQuery.urldecode = function(x) {
13+
if (!x) {
14+
return x
15+
}
16+
return decodeURIComponent(x.replace(/\+/g, ' '));
17+
};
18+
19+
/**
20+
* small helper function to urlencode strings
21+
*/
22+
jQuery.urlencode = encodeURIComponent;
23+
24+
/**
25+
* This function returns the parsed url parameters of the
26+
* current request. Multiple values per key are supported,
27+
* it will always return arrays of strings for the value parts.
28+
*/
29+
jQuery.getQueryParameters = function(s) {
30+
if (typeof s === 'undefined')
31+
s = document.location.search;
32+
var parts = s.substr(s.indexOf('?') + 1).split('&');
33+
var result = {};
34+
for (var i = 0; i < parts.length; i++) {
35+
var tmp = parts[i].split('=', 2);
36+
var key = jQuery.urldecode(tmp[0]);
37+
var value = jQuery.urldecode(tmp[1]);
38+
if (key in result)
39+
result[key].push(value);
40+
else
41+
result[key] = [value];
42+
}
43+
return result;
44+
};
45+
46+
/**
47+
* highlight a given string on a jquery object by wrapping it in
48+
* span elements with the given class name.
49+
*/
50+
jQuery.fn.highlightText = function(text, className) {
51+
function highlight(node, addItems) {
52+
if (node.nodeType === 3) {
53+
var val = node.nodeValue;
54+
var pos = val.toLowerCase().indexOf(text);
55+
if (pos >= 0 &&
56+
!jQuery(node.parentNode).hasClass(className) &&
57+
!jQuery(node.parentNode).hasClass("nohighlight")) {
58+
var span;
59+
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
60+
if (isInSVG) {
61+
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
62+
} else {
63+
span = document.createElement("span");
64+
span.className = className;
65+
}
66+
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
67+
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
68+
document.createTextNode(val.substr(pos + text.length)),
69+
node.nextSibling));
70+
node.nodeValue = val.substr(0, pos);
71+
if (isInSVG) {
72+
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
73+
var bbox = node.parentElement.getBBox();
74+
rect.x.baseVal.value = bbox.x;
75+
rect.y.baseVal.value = bbox.y;
76+
rect.width.baseVal.value = bbox.width;
77+
rect.height.baseVal.value = bbox.height;
78+
rect.setAttribute('class', className);
79+
addItems.push({
80+
"parent": node.parentNode,
81+
"target": rect});
82+
}
83+
}
84+
}
85+
else if (!jQuery(node).is("button, select, textarea")) {
86+
jQuery.each(node.childNodes, function() {
87+
highlight(this, addItems);
88+
});
89+
}
90+
}
91+
var addItems = [];
92+
var result = this.each(function() {
93+
highlight(this, addItems);
94+
});
95+
for (var i = 0; i < addItems.length; ++i) {
96+
jQuery(addItems[i].parent).before(addItems[i].target);
97+
}
98+
return result;
99+
};
100+
101+
/*
102+
* backward compatibility for jQuery.browser
103+
* This will be supported until firefox bug is fixed.
104+
*/
105+
if (!jQuery.browser) {
106+
jQuery.uaMatch = function(ua) {
107+
ua = ua.toLowerCase();
108+
109+
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
110+
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
111+
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
112+
/(msie) ([\w.]+)/.exec(ua) ||
113+
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
114+
[];
115+
116+
return {
117+
browser: match[ 1 ] || "",
118+
version: match[ 2 ] || "0"
119+
};
120+
};
121+
jQuery.browser = {};
122+
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
123+
}

0 commit comments

Comments
 (0)