diff --git a/dfols/__init__.py b/dfols/__init__.py index ff68c18..667e6b2 100644 --- a/dfols/__init__.py +++ b/dfols/__init__.py @@ -39,7 +39,7 @@ from __future__ import absolute_import, division, print_function, unicode_literals # DFO-LS version -__version__ = '1.5.0' +__version__ = '1.5.1' # Main solver & exit flags from .solver import * diff --git a/dfols/tests/test_model.py b/dfols/tests/test_model.py index bb127f7..c46a91e 100644 --- a/dfols/tests/test_model.py +++ b/dfols/tests/test_model.py @@ -211,8 +211,8 @@ def runTest(self): self.assertTrue(array_compare(model.rsave, np.array([0.0, 0.0])), 'Wrong rsave after saving 3') self.assertAlmostEqual(model.objsave, 0.0, 'Wrong fsave after saving 3') self.assertEqual(model.nsamples_save, 2, 'Wrong nsamples_save after saving 3') - self.assertEqual(model.eval_num_save, 7, 'Wrong eval_num_save after saving 2') - self.assertIsNone(model.jacsave_eval_nums, 'jacsave_eval_nums not none after saving 2') + self.assertEqual(model.eval_num_save, 7, 'Wrong eval_num_save after saving 3') + self.assertIsNone(model.jacsave_eval_nums, 'jacsave_eval_nums not none after saving 3') class TestAveraging(unittest.TestCase): diff --git a/docs/advanced.rst b/docs/advanced.rst index 48fb6cd..51c2f32 100644 --- a/docs/advanced.rst +++ b/docs/advanced.rst @@ -24,7 +24,7 @@ Initialization of Points ------------------------ * :code:`init.random_initial_directions` - Build the initial interpolation set using random directions (as opposed to coordinate directions). Default as of version 1.2 is :code:`False`. * :code:`init.random_directions_make_orthogonal` - If building initial interpolation set with random directions, whether or not these should be orthogonalized. Default is :code:`True`. -* :code:`init.run_in_parallel` - If using random directions, whether or not to ask for all :code:`objfun` to be evaluated at all points without any intermediate processing. Default is :code:`False`. +* :code:`init.run_in_parallel` - If using random directions or non-random with input :code:`npt` at most :code:`len(x0)+1`, whether or not to ask for all :code:`objfun` to be evaluated at all points without any intermediate processing. Default is :code:`False`. Trust Region Management ----------------------- diff --git a/docs/build/doctrees/advanced.doctree b/docs/build/doctrees/advanced.doctree index 6be8bce..fc38b0a 100755 Binary files a/docs/build/doctrees/advanced.doctree and b/docs/build/doctrees/advanced.doctree differ diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index a9c63c1..ac81d28 100755 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/history.doctree b/docs/build/doctrees/history.doctree index 7acb797..fa4883c 100755 Binary files a/docs/build/doctrees/history.doctree and b/docs/build/doctrees/history.doctree differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index ea1d8b2..be78945 100755 Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ diff --git a/docs/build/doctrees/userguide.doctree b/docs/build/doctrees/userguide.doctree index 8f2d54e..ef37df6 100755 Binary files a/docs/build/doctrees/userguide.doctree and b/docs/build/doctrees/userguide.doctree differ diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index b70a534..d105758 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 8fe9d19f5645917bc7a4a240ff52ff51 +config: 57a11b064dfa88ccc9f8feaa9e7f040a tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_sources/advanced.rst.txt b/docs/build/html/_sources/advanced.rst.txt index 48fb6cd..51c2f32 100644 --- a/docs/build/html/_sources/advanced.rst.txt +++ b/docs/build/html/_sources/advanced.rst.txt @@ -24,7 +24,7 @@ Initialization of Points ------------------------ * :code:`init.random_initial_directions` - Build the initial interpolation set using random directions (as opposed to coordinate directions). Default as of version 1.2 is :code:`False`. * :code:`init.random_directions_make_orthogonal` - If building initial interpolation set with random directions, whether or not these should be orthogonalized. Default is :code:`True`. -* :code:`init.run_in_parallel` - If using random directions, whether or not to ask for all :code:`objfun` to be evaluated at all points without any intermediate processing. Default is :code:`False`. +* :code:`init.run_in_parallel` - If using random directions or non-random with input :code:`npt` at most :code:`len(x0)+1`, whether or not to ask for all :code:`objfun` to be evaluated at all points without any intermediate processing. Default is :code:`False`. Trust Region Management ----------------------- diff --git a/docs/build/html/_sources/history.rst.txt b/docs/build/html/_sources/history.rst.txt index 76d1205..a035c46 100644 --- a/docs/build/html/_sources/history.rst.txt +++ b/docs/build/html/_sources/history.rst.txt @@ -66,3 +66,8 @@ Version 1.5.0 (11 Sep 2024) --------------------------- * Add support for (possibly nonsmooth) regularizer term. * Drop warning about infeasible initial point if the point is on an upper/lower bound. + +Version 1.5.1 (10 Oct 2024) +--------------------------- +* Add return values :code:`soln.xmin_eval_num` and :code:`soln.jacmin_eval_nums` +* Allow option for parallel initial evaluations for non-random directions if :code:`npt` not too large diff --git a/docs/build/html/_sources/userguide.rst.txt b/docs/build/html/_sources/userguide.rst.txt index 01bc950..cbdd08b 100644 --- a/docs/build/html/_sources/userguide.rst.txt +++ b/docs/build/html/_sources/userguide.rst.txt @@ -45,6 +45,8 @@ The output of :code:`dfols.solve` is an object containing: * :code:`soln.flag` - an exit flag, which can take one of several values (listed below), an Integer. * :code:`soln.msg` - a description of why the algorithm finished, a String. * :code:`soln.diagnostic_info` - a table of diagnostic information showing the progress of the solver, a Pandas DataFrame. +* :code:`soln.xmin_eval_num` - an integer representing which evaluation point (i.e. same as :code:`soln.nx`) gave the solution :code:`soln.x`. Evaluation counts are 1-indexed, to match the logging information. +* :code:`soln.jacmin_eval_nums` - a NumPy integer array of length :code:`npt` with the evaluation point numbers (i.e. same as :code:`soln.nx`) used to build :code:`soln.jacobian` via linear interpolation to the residual values at these points. Evaluation counts are 1-indexed, to match the logging information. This array will usually, but not always, include :code:`soln.xmin_eval_num`. The possible values of :code:`soln.flag` are defined by the following variables: @@ -149,8 +151,10 @@ Note that DFO-LS is a randomized algorithm: in its first phase, it builds an int Residual vector = [0. 0.] Objective value f(xmin) = 0 Needed 33 objective evaluations (at 33 points) - Approximate Jacobian = [[-2.00180000e+01 1.00000000e+01] - [-1.00000000e+00 8.19971362e-16]] + Approximate Jacobian = [[-1.9982000e+01 1.0000000e+01] + [-1.0000000e+00 1.0079924e-14]] + Solution xmin was evaluation point 33 + Approximate Jacobian formed using evaluation points [29 31 32] Exit flag = 0 Success: Objective is sufficiently small **************************** @@ -176,11 +180,13 @@ DFO-LS correctly finds the solution to the constrained problem: ****** DFO-LS Results ****** Solution xmin = [0.9 0.81] - Residual vector = [3.10862447e-14 1.00000000e-01] + Residual vector = [0. 0.1] Objective value f(xmin) = 0.01 - Needed 58 objective evaluations (at 58 points) - Approximate Jacobian = [[-1.79999999e+01 9.99999998e+00] - [-1.00000000e+00 8.62398179e-10]] + Needed 56 objective evaluations (at 56 points) + Approximate Jacobian = [[-1.79999999e+01 1.00000000e+01] + [-1.00000000e+00 -5.15519307e-10]] + Solution xmin was evaluation point 42 + Approximate Jacobian formed using evaluation points [55 42 54] Exit flag = 0 Success: rho has reached rhoend **************************** @@ -212,8 +218,8 @@ And for the simple bounds example we can now see each evaluation of :code:`objfu Function eval 2 at point 2 has f = 14.337296 at x = [-1.08 0.85] Function eval 3 at point 3 has f = 55.25 at x = [-1.2 0.73] ... - Function eval 57 at point 57 has f = 0.010000001407575 at x = [0.89999999 0.80999999] - Function eval 58 at point 58 has f = 0.00999999999999997 at x = [0.9 0.81] + Function eval 55 at point 55 has obj = 0.0100000000000225 at x = [0.9 0.80999998] + Function eval 56 at point 56 has obj = 0.01 at x = [0.9 0.81] Did a total of 1 run(s) If we wanted to save this output to a file, we could replace the above call to :code:`logging.basicConfig()` with @@ -310,6 +316,8 @@ gave an increase in the model. This is common in the case where multiple constra Needed 10 objective evaluations (at 10 points) Approximate Jacobian = [[-1.79826221e+01 1.00004412e+01] [-1.00000000e+00 -1.81976605e-15]] + Solution xmin was evaluation point 5 + Approximate Jacobian formed using evaluation points [8 5 9] Exit flag = 5 Warning (trust region increase): Either multiple constraints are active or trust region step gave model increase **************************** @@ -395,6 +403,8 @@ The solution found by DFO-LS is: ... [ 4.50000000e+01 4.60000000e+01 4.70000000e+01 4.80000000e+01 4.90000000e+01]] + Solution xmin was evaluation point 34 + Approximate Jacobian formed using evaluation points [30 32 29 31 33 27] Exit flag = 0 Success: rho has reached rhoend **************************** @@ -404,7 +414,7 @@ Note that many LASSO-type algorithms can produce a solution with many entries be Example: Noisy Objective Evaluation ----------------------------------- -As described in :doc:`info`, derivative-free algorithms such as DFO-LS are particularly useful when :code:`objfun` has noise. Let's modify the previous example to include random noise in our objective evaluation, and compare it to a derivative-based solver: +As described in :doc:`info`, derivative-free algorithms such as DFO-LS are particularly useful when :code:`objfun` has noise. Let's modify the previous example to include random noise in our objective evaluation, and compare it to SciPy's derivative-based solver (the below results came from using SciPy v1.13.0): .. code-block:: python @@ -463,25 +473,27 @@ The output of this is: objfun(x0) = [-4.39545837 2.20903317] ****** DFO-LS Results ****** - Solution xmin = [1. 1.00000003] - Residual vector = [ 1.59634974e-07 -4.63036198e-09] - Objective value f(xmin) = 2.550476524e-14 - Needed 53 objective evaluations (at 53 points) - Approximate Jacobian = [[-1.98196347e+01 9.90335675e+00] - [-1.01941978e+00 4.24991776e-05]] + Solution xmin = [1.00000001 1.00000002] + Residual vector = [ 5.17481720e-09 -1.04150014e-08] + Objective value f(xmin) = 1.352509879e-16 + Needed 35 objective evaluations (at 35 points) + Approximate Jacobian = [[-1.98079840e+01 1.00105722e+01] + [-9.93887907e-01 -3.06567570e-04]] + Solution xmin was evaluation point 35 + Approximate Jacobian formed using evaluation points [30 33 34] Exit flag = 0 Success: Objective is sufficiently small **************************** ** SciPy results ** - Solution xmin = [-1.20000087 1.00000235] - Objective value f(xmin) = 23.95535774 - Needed 6 objective evaluations + Solution xmin = [-1.2 1. ] + Objective value f(xmin) = 23.83907501 + Needed 5 objective evaluations Exit flag = 3 `xtol` termination condition is satisfied. -DFO-LS is able to find the solution with 20 more function evaluations as in the noise-free case. However SciPy's derivative-based solver, which has no trouble solving the noise-free problem, is unable to make any progress. +DFO-LS is able to find the solution, but SciPy's derivative-based solver, which has no trouble solving the noise-free problem, is unable to make any progress. As noted above, DFO-LS has an input parameter :code:`objfun_has_noise` to indicate if :code:`objfun` has noise in it, which it does in this case. Therefore we can call DFO-LS with @@ -495,11 +507,13 @@ Using this setting, we find the correct solution faster: ****** DFO-LS Results ****** Solution xmin = [1. 1.] - Residual vector = [-4.06227943e-08 2.51525603e-10] - Objective value f(xmin) = 1.650274685e-15 - Needed 29 objective evaluations (at 29 points) - Approximate Jacobian = [[-1.99950530e+01 1.00670067e+01] - [-9.96161167e-01 -2.41166495e-04]] + Residual vector = [-6.56093684e-10 -1.17835345e-10] + Objective value f(xmin) = 4.443440912e-19 + Needed 28 objective evaluations (at 28 points) + Approximate Jacobian = [[-1.98649933e+01 9.93403044e+00] + [-9.93112150e-01 5.78830812e-03]] + Solution xmin was evaluation point 28 + Approximate Jacobian formed using evaluation points [27 25 26] Exit flag = 0 Success: Objective is sufficiently small **************************** @@ -551,20 +565,22 @@ The output of this is (noting that DFO-LS moves :math:`x_0` to be far away enoug ****** DFO-LS Results ****** Solution xmin = [ 4.98830861e+02 -1.01256863e-01] - Residual vector = [-0.1816709 0.06098397 0.76276301 0.11962354 -0.26589796 -0.59788814 - -1.02611897 -1.5123537 -1.56145452 -1.63266662] + Residual vector = [-0.1816709 0.06098396 0.76276296 0.11962351 -0.26589799 -0.59788816 + -1.02611898 -1.51235371 -1.56145452 -1.63266662] Objective value f(xmin) = 9.504886892 - Needed 79 objective evaluations (at 79 points) - Approximate Jacobian = [[-9.12897463e-01 -4.09843514e+02] - [-8.59085679e-01 -6.42808544e+02] - [-2.47252555e-01 -1.70205419e+03] - [-1.34676365e-01 -1.33017181e+03] - [-8.71355033e-02 -1.04752848e+03] - [-5.75304364e-02 -8.09280752e+02] - [-2.83184867e-02 -4.97239623e+02] - [-2.22992989e-03 -6.70749826e+01] - [-5.24129962e-04 -1.95045269e+01] - [-2.65956876e-04 -1.07858081e+01]] + Needed 111 objective evaluations (at 111 points) + Approximate Jacobian = [[-9.12901055e-01 -4.09843504e+02] + [-8.59087363e-01 -6.42808534e+02] + [-2.47254068e-01 -1.70205403e+03] + [-1.34676757e-01 -1.33017163e+03] + [-8.71358948e-02 -1.04752831e+03] + [-5.75309286e-02 -8.09280596e+02] + [-2.83185935e-02 -4.97239504e+02] + [-2.22997879e-03 -6.70749550e+01] + [-5.24146460e-04 -1.95045170e+01] + [-2.65964661e-04 -1.07858021e+01]] + Solution xmin was evaluation point 111 + Approximate Jacobian formed using evaluation points [104 109 110] Exit flag = 0 Success: rho has reached rhoend **************************** @@ -641,11 +657,13 @@ The output of this is ****** DFO-LS Results ****** Solution xmin = [ 0.09777309 -2.32510588] - Residual vector = [-1.45394186e-09 -1.95108811e-08] - Objective value f(xmin) = 3.827884295e-16 + Residual vector = [-1.38601752e-09 -1.70204653e-08] + Objective value f(xmin) = 2.916172822e-16 Needed 13 objective evaluations (at 13 points) - Approximate Jacobian = [[ 3.32499552 0.90216381] - [10.22664908 -1.00061604]] + Approximate Jacobian = [[ 3.32527052 0.90227531] + [10.22943034 -0.99958226]] + Solution xmin was evaluation point 13 + Approximate Jacobian formed using evaluation points [ 8 11 12] Exit flag = 0 Success: Objective is sufficiently small **************************** diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index f476d73..5426053 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '1.5.0', + VERSION: '1.5.1', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/advanced.html b/docs/build/html/advanced.html index ad63b62..5ee71e1 100644 --- a/docs/build/html/advanced.html +++ b/docs/build/html/advanced.html @@ -4,7 +4,7 @@ - Advanced Usage — DFO-LS v1.5.0 documentation + Advanced Usage — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ DFO-LS
- 1.5.0 + 1.5.1
@@ -103,7 +103,7 @@

Advanced Usage

This section describes different optional user parameters available in DFO-LS.

-

In the last section (Using DFO-LS), we introduced dfols.solve(), which has the optional input user_params. This is a Python dictionary of user parameters. We will now go through the settings which can be changed in this way. More details are available in the papers [CFMR2018], [HR2022] and [LLR2024].

+

In the last section (Using DFO-LS), we introduced dfols.solve(), which has the optional input user_params. This is a Python dictionary of user parameters. We will now go through the settings which can be changed in this way. More details are available in the papers [CFMR2018], [HR2022] and [LLR2024].

The default values, used if no override is given, in some cases vary depending on whether objfun has stochastic noise; that is, whether evaluating objfun(x) several times at the same x gives the same result or not. Whether or not this is the case is determined by the objfun_has_noise input to dfols.solve() (and not by inspecting objfun, for instance).

General Algorithm Parameters

@@ -128,7 +128,7 @@

Initialization of Points
  • init.random_initial_directions - Build the initial interpolation set using random directions (as opposed to coordinate directions). Default as of version 1.2 is False.

  • init.random_directions_make_orthogonal - If building initial interpolation set with random directions, whether or not these should be orthogonalized. Default is True.

  • -
  • init.run_in_parallel - If using random directions, whether or not to ask for all objfun to be evaluated at all points without any intermediate processing. Default is False.

  • +
  • init.run_in_parallel - If using random directions or non-random with input npt at most len(x0)+1, whether or not to ask for all objfun to be evaluated at all points without any intermediate processing. Default is False.

  • diff --git a/docs/build/html/contributors.html b/docs/build/html/contributors.html index 0156f53..084c5ca 100644 --- a/docs/build/html/contributors.html +++ b/docs/build/html/contributors.html @@ -4,7 +4,7 @@ - Contributors — DFO-LS v1.5.0 documentation + Contributors — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -36,7 +36,7 @@ DFO-LS
    - 1.5.0 + 1.5.1
    diff --git a/docs/build/html/diagnostic.html b/docs/build/html/diagnostic.html index 58cb3d4..5b3a22c 100644 --- a/docs/build/html/diagnostic.html +++ b/docs/build/html/diagnostic.html @@ -4,7 +4,7 @@ - Diagnostic Information — DFO-LS v1.5.0 documentation + Diagnostic Information — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ DFO-LS
    - 1.5.0 + 1.5.1
    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 7212250..a65bdc7 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -3,7 +3,7 @@ - Index — DFO-LS v1.5.0 documentation + Index — DFO-LS v1.5.1 documentation @@ -14,7 +14,7 @@ - + @@ -34,7 +34,7 @@ DFO-LS
    - 1.5.0 + 1.5.1
    diff --git a/docs/build/html/history.html b/docs/build/html/history.html index ae3f205..29c04d9 100644 --- a/docs/build/html/history.html +++ b/docs/build/html/history.html @@ -4,7 +4,7 @@ - Version History — DFO-LS v1.5.0 documentation + Version History — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ DFO-LS
    - 1.5.0 + 1.5.1
    @@ -68,6 +68,7 @@
  • Version 1.4.0 (29 Jan 2024)
  • Version 1.4.1 (11 Apr 2024)
  • Version 1.5.0 (11 Sep 2024)
  • +
  • Version 1.5.1 (10 Oct 2024)
  • Contributors
  • @@ -191,6 +192,13 @@

    Version 1.5.0 (11 Sep 2024) +

    Version 1.5.1 (10 Oct 2024)

    +
      +
    • Add return values soln.xmin_eval_num and soln.jacmin_eval_nums

    • +
    • Allow option for parallel initial evaluations for non-random directions if npt not too large

    • +
    +

    diff --git a/docs/build/html/index.html b/docs/build/html/index.html index aedaf91..20c94cf 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -4,7 +4,7 @@ - DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization — DFO-LS v1.5.0 documentation + DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ DFO-LS
    - 1.5.0 + 1.5.1
    @@ -84,8 +84,8 @@

    DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization

    -

    Release: 1.5.0

    -

    Date: 11 September 2024

    +

    Release: 1.5.1

    +

    Date: 10 October 2024

    Author: Lindon Roberts

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

    That is, DFO-LS solves

    @@ -189,6 +189,7 @@

    DFO-LS: Derivative-Free Optimizer for Least-Squares MinimizationVersion 1.4.0 (29 Jan 2024)
  • Version 1.4.1 (11 Apr 2024)
  • Version 1.5.0 (11 Sep 2024)
  • +
  • Version 1.5.1 (10 Oct 2024)
  • Contributors
      diff --git a/docs/build/html/info.html b/docs/build/html/info.html index 0a6357c..3467c04 100644 --- a/docs/build/html/info.html +++ b/docs/build/html/info.html @@ -4,7 +4,7 @@ - Overview — DFO-LS v1.5.0 documentation + Overview — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ DFO-LS
      - 1.5.0 + 1.5.1
      diff --git a/docs/build/html/install.html b/docs/build/html/install.html index 77782c6..5a9dde3 100644 --- a/docs/build/html/install.html +++ b/docs/build/html/install.html @@ -4,7 +4,7 @@ - Installing DFO-LS — DFO-LS v1.5.0 documentation + Installing DFO-LS — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ DFO-LS
      - 1.5.0 + 1.5.1
      diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index ba3a643..455e5de 100644 Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ diff --git a/docs/build/html/search.html b/docs/build/html/search.html index 26115f8..9a6dfdf 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -3,7 +3,7 @@ - Search — DFO-LS v1.5.0 documentation + Search — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -37,7 +37,7 @@ DFO-LS
      - 1.5.0 + 1.5.1
      diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index aff4c43..cde55e4 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["advanced", "contributors", "diagnostic", "history", "index", "info", "install", "userguide"], "filenames": ["advanced.rst", "contributors.rst", "diagnostic.rst", "history.rst", "index.rst", "info.rst", "install.rst", "userguide.rst"], "titles": ["Advanced Usage", "Contributors", "Diagnostic Information", "Version History", "DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization", "Overview", "Installing DFO-LS", "Using DFO-LS"], "terms": {"thi": [0, 2, 3, 4, 5, 6, 7], "section": [0, 2, 3, 7], "describ": [0, 5, 7], "differ": [0, 3, 5, 7], "option": [0, 3, 4, 5, 6], "user": [0, 4, 5, 7], "avail": [0, 7], "dfo": [0, 2, 3], "l": [0, 2, 3], "In": [0, 2, 5, 7], "last": [0, 2], "us": [0, 2, 3, 4], "we": [0, 2, 5, 7], "introduc": [0, 3], "dfol": [0, 2, 6, 7], "solv": [0, 2, 4], "which": [0, 2, 3, 4, 5, 7], "ha": [0, 2, 3, 4, 5, 7], "input": [0, 3, 4, 5, 7], "user_param": [0, 2, 7], "i": [0, 2, 3, 4, 5, 6, 7], "python": [0, 3, 6, 7], "dictionari": [0, 7], "now": [0, 7], "go": 0, "through": [0, 3], "can": [0, 5, 6, 7], "chang": [0, 2, 3], "wai": [0, 5, 7], "more": [0, 3, 4, 5], "detail": [0, 4, 7], "ar": [0, 4, 5, 7], "paper": [0, 4, 5, 7], "cfmr2018": [0, 5, 7], "hr2021": [], "The": [0, 2, 4, 7], "default": [0, 3, 6, 7], "overrid": 0, "given": [0, 4, 5, 7], "some": [0, 5, 6, 7], "case": [0, 4, 5, 7], "vari": 0, "depend": [0, 2, 3, 5, 7], "whether": [0, 5, 7], "objfun": [0, 2, 3, 7], "evalu": [0, 2, 3, 4, 5], "x": [0, 4, 5, 7], "sever": [0, 5, 7], "time": [0, 2, 5, 7], "same": [0, 4, 5, 7], "give": [0, 7], "result": [0, 2, 3, 5, 7], "determin": [0, 5, 7], "objfun_has_nois": [0, 7], "inspect": 0, "instanc": [0, 5], "rounding_error_const": 0, "intern": [0, 5, 7], "all": [0, 2, 4, 5, 7], "store": [0, 3], "respect": [0, 7], "base": [0, 3, 4, 5, 7], "x_b": 0, "y_t": 0, "reduc": [0, 3], "risk": 0, "roundoff": 0, "error": [0, 2, 4, 5, 7], "shift": [0, 7], "x_k": [0, 5], "when": [0, 3, 4, 7], "s_k": [0, 2, 5], "leq": [0, 4, 5, 7], "text": [0, 2, 4, 5, 7], "const": 0, "where": [0, 5, 7], "0": [0, 2, 4, 5, 7], "1": [0, 1, 2, 4, 5, 6, 7], "safety_step_thresh": 0, "threshold": [0, 7], "call": [0, 2, 4, 5, 7], "safeti": [0, 2, 3], "step": [0, 2, 3, 5, 7], "gamma_": 0, "rho_k": [0, 2], "5": [0, 1, 4, 7], "check_objfun_for_overflow": 0, "cap": [0, 4, 5, 7], "r_i": [0, 5, 7], "thei": [0, 5, 7], "larg": [0, 5], "enough": [0, 7], "an": [0, 3, 4, 5, 6, 7], "overflowerror": 0, "encount": 0, "try": [0, 4, 5], "f": [0, 2, 4, 5, 7], "true": [0, 2, 5, 7], "n_to_print_whole_x_vector": 0, "If": [0, 4, 5, 6, 7], "print": [0, 3, 7], "function": [0, 3, 4, 5, 7], "screen": 0, "file": [0, 2, 6, 7], "maximum": [0, 2, 7], "len": [0, 7], "full": [0, 3, 4, 7], "vector": [0, 2, 5, 7], "should": [0, 4, 6, 7], "also": [0, 4, 5, 6, 7], "6": [0, 4, 7], "save_diagnostic_info": [0, 2], "flag": [0, 7], "so": [0, 2, 3, 4, 7], "save": [0, 2, 7], "diagnost": [0, 4, 7], "each": [0, 2, 5, 7], "iter": [0, 3, 4, 7], "fals": [0, 7], "save_poised": [0, 2], "includ": [0, 2, 7], "lambda": [0, 2, 4, 7], "poised": [0, 2], "y_k": [0, 2], "most": [0, 2, 5, 7], "computation": 0, "expens": [0, 2, 5], "piec": [0, 2], "save_xk": [0, 2], "save_rk": [0, 2], "r_1": [0, 5, 7], "cdot": [0, 4, 5, 7], "r_m": [0, 5, 7], "alwai": [0, 5], "init": 0, "random_initial_direct": 0, "build": [0, 7], "random": [0, 3, 7], "direct": [0, 7], "oppos": 0, "coordin": [0, 7], "version": [0, 1, 4, 6], "2": [0, 4, 5, 6, 7], "random_directions_make_orthogon": 0, "orthogon": 0, "run_in_parallel": 0, "ask": [0, 4, 7], "without": [0, 4], "ani": [0, 2, 4, 7], "intermedi": 0, "process": [0, 5], "tr_radiu": 0, "eta1": 0, "unsuccess": 0, "eta_1": 0, "eta2": 0, "veri": [0, 5, 7], "success": [0, 2, 7], "eta_2": 0, "7": [0, 3, 7], "gamma_dec": 0, "ratio": [0, 2], "decreas": [0, 5, 7], "delta_k": [0, 2, 5], "dec": 0, "smooth": 0, "problem": [0, 2, 3, 4, 5, 7], "98": 0, "noisi": [0, 4, 5], "e": [0, 2, 4, 5, 6, 7], "gamma_inc": 0, "increas": [0, 7], "inc": 0, "gamma_inc_overlin": 0, "overlin": 0, "gamma": 0, "_": [0, 7], "4": [0, 4, 5, 7], "alpha1": 0, "alpha_1": 0, "9": [0, 6, 7], "alpha2": 0, "alpha_2": 0, "95": 0, "abs_tol": 0, "toler": 0, "quit": 0, "below": [0, 7], "10": [0, 7], "12": [0, 4], "rel_tol": 0, "rel": 0, "x_0": [0, 7], "20": [0, 4, 7], "history_for_slow": 0, "histori": [0, 4], "current": [0, 4, 5, 7], "thresh_for_slow": 0, "max_slow_it": 0, "number": [0, 2, 5, 7], "consecut": 0, "befor": [0, 7], "x0": [0, 2, 7], "quit_on_noise_level": 0, "within": [0, 3, 7], "level": [0, 3, 6, 7], "scale_factor_for_quit": 0, "factor": 0, "criterion": 0, "multiplicative_noise_level": 0, "onli": [0, 2, 3, 5, 7], "specifi": [0, 7], "one": [0, 2, 5, 6, 7], "addit": [0, 3], "none": [0, 7], "additive_noise_level": 0, "precondit": 0, "scale": [0, 3, 7], "linear": [0, 2, 5, 7], "system": [0, 2, 4, 6], "improv": [0, 3, 4, 5, 7], "condit": [0, 2, 7], "throw_error_on_nan": 0, "throw": 0, "numpi": [0, 3, 6, 7], "linalg": [0, 7], "linalgerror": 0, "nan": [0, 3, 7], "gracefulli": [0, 3], "num_extra_step": 0, "extra": [0, 3, 4, 7], "other": 0, "than": [0, 3, 7], "accept": 0, "move": [0, 5, 7], "n": [0, 4, 5, 7], "increase_num_extra_steps_with_restart": 0, "amount": [0, 7], "momentum_extra_step": 0, "momentum": 0, "method": [0, 3, 4, 5, 7], "geometri": [0, 3, 5], "use_restart": 0, "do": [0, 5, 6, 7], "reach": [0, 7], "rho_": 0, "end": 0, "max_unsuccessful_restart": 0, "allow": [0, 7], "did": [0, 7], "further": 0, "rhoend_scal": 0, "use_soft_restart": 0, "soft": [0, 7], "hard": 0, "num_geom_step": 0, "For": [0, 4, 5, 6, 7], "3": [0, 1, 4, 5, 6, 7], "move_xk": 0, "preserv": 0, "best": [0, 2, 5, 7], "new": [0, 3, 5, 7], "increase_npt": 0, "increase_npt_amt": 0, "increase_ndirs_initial_amt": 0, "ndirs_initi": 0, "To": [0, 2, 5, 6, 7], "avoid": [0, 3, 4, 7], "phase": [0, 7], "use_old_rk": 0, "recycl": 0, "found": [0, 2, 7], "perform": [0, 3, 5, 7], "max_npt": 0, "npt": [0, 2, 7], "max_fake_successful_step": 0, "run": [0, 6, 7], "smaller": 0, "larger": 0, "previou": [0, 7], "maxfun": [0, 7], "auto_detect": 0, "automat": [0, 6, 7], "still": 0, "trigger": 0, "radiu": [0, 2, 3, 5, 7], "etc": [0, 2], "how": [0, 2, 4, 6], "mani": [0, 3, 4, 5, 7], "data": [0, 4, 5], "radii": 0, "There": [0, 5, 7], "two": [0, 5], "criteria": 0, "over": [0, 7], "jacobian": [0, 2, 3, 7], "consist": 0, "trend": 0, "measur": [0, 5], "slope": 0, "correl": 0, "coeffici": 0, "line": [0, 3, 7], "fit": [0, 4], "30": 0, "min_chgj_slop": 0, "minimum": [0, 7], "rate": 0, "j_k": [0, 2], "j_": [0, 2, 7], "k": [0, 2, 4, 5, 7], "_f": [0, 2], "past": 0, "caus": [0, 7], "015": 0, "min_correl": 0, "requir": [0, 3, 4, 5, 7], "add": [0, 3, 7], "exclud": 0, "less": 0, "setup": [0, 3], "cost": [0, 3, 7], "impract": 0, "have": [0, 5, 6, 7], "effect": 0, "full_rank": 0, "use_full_rank_interp": 0, "perturb": 0, "make": [0, 3, 5, 6, 7], "compon": [0, 7], "search": [0, 3, 5], "space": [0, 3, 5], "m": [0, 4, 5, 6, 7], "geq": [0, 7], "otherwis": [0, 5], "opposit": 0, "perturb_trust_region_step": 0, "yet": 0, "altern": [0, 4, 6, 7], "delta_scale_new_dirn": 0, "ad": [0, 3, 4], "length": 0, "scale_factor": 0, "magnitud": [0, 7], "svd_scale_factor": 0, "floor": 0, "singular": [0, 7], "nonzero": 0, "min_sing_v": 0, "absolut": 0, "svd_max_jac_cond": 0, "after": 0, "appli": [0, 7], "anoth": 0, "smallest": [0, 2], "sinc": [0, 2, 7], "largest": 0, "fix": [0, 3, 7], "8": [0, 4, 7], "do_geom_step": 0, "while": [0, 5], "per": [0, 2, 3, 7], "usual": 0, "do_safety_step": 0, "regular": [1, 3, 4, 5], "reduce_delta": 0, "full_geom_step": 0, "post": 0, "involv": [0, 5], "cannot": [0, 5], "reset_delta": 0, "reset": 0, "its": [0, 7], "reset_rho": 0, "lower": [0, 2, 3, 7], "bound": [0, 2, 3, 4], "dure": [0, 3], "num_new_dirns_each_it": 0, "approach": 0, "recommend": 0, "d_tol": 0, "stop": [0, 3], "max_it": 0, "take": [0, 5, 7], "100": [0, 7], "matrix_rank": 0, "r_tol": 0, "what": [0, 2], "posisbl": 0, "diagon": 0, "entri": [0, 7], "qr": 0, "being": [0, 7], "consid": [0, 5], "zero": [0, 3, 7], "18": 0, "coralia": [0, 4, 5, 7], "carti": [0, 4, 5, 7], "jan": [0, 4, 5, 7], "fiala": [0, 4, 5, 7], "benjamin": [0, 5, 7], "marteau": [0, 4, 5, 7], "lindon": [0, 1, 4, 5, 7], "robert": [0, 1, 4, 5, 7], "flexibl": [0, 4, 5, 7], "robust": [0, 4, 5, 7], "deriv": [0, 5, 7], "free": [0, 5, 7], "optim": [0, 2, 5, 7], "solver": [0, 3, 4, 5, 7], "acm": [0, 4, 5, 7], "transact": [0, 4, 5, 7], "mathemat": [0, 4, 5, 7], "softwar": [0, 4, 5, 6, 7], "45": [0, 4, 5, 7], "2019": [0, 4, 5, 7], "pp": [0, 4, 5, 7], "32": [0, 4, 5, 7], "41": [0, 4, 5, 7], "preprint": [0, 4, 5, 7], "hough": [0, 1, 4, 5, 7], "convex": [0, 1, 3, 4, 5], "constrain": [0, 3, 4, 5, 7], "arxiv": [0, 4, 5, 7], "2111": [], "05443": [], "2021": 4, "univers": 1, "sydnei": 1, "matthew": [0, 1, 5, 7], "waterloo": 1, "handl": [1, 3, 4], "gener": [1, 4], "constraint": [1, 3, 4, 5], "saw": 2, "output": [2, 3, 4, 5], "return": [2, 3, 7], "contain": [2, 6, 7], "about": [2, 3, 7], "soln": [2, 7], "diagnostic_info": [2, 7], "object": [2, 3, 4, 5], "panda": [2, 6, 7], "datafram": [2, 7], "row": 2, "explain": 2, "mean": [0, 2, 5], "type": [2, 5, 7], "column": 2, "csv": 2, "previous": 2, "defin": [2, 7], "turn": 2, "log": [2, 3, 4, 7], "info": [2, 7], "to_csv": 2, "myfil": [2, 7], "exactli": [2, 7], "termin": [2, 4, 7], "mai": [2, 4, 5, 7], "fulli": 2, "popul": 2, "xk": 2, "point": [2, 3, 4, 5, 7], "far": [2, 7], "rk": 2, "residu": [2, 5, 7], "fk": 2, "valu": [2, 3, 4, 5, 7], "rho": [2, 7], "delta": [2, 7], "norm_sk": 2, "norm": [2, 7], "interpolation_error": 2, "sum": [2, 4, 5, 7], "squar": [0, 2, 5], "from": [2, 3, 4, 5, 6, 7], "interpolation_condition_numb": 2, "matrix": [2, 4, 7], "interpolation_change_j_norm": 2, "frobeniu": 2, "interpolation_total_residu": 2, "total": [2, 7], "set": [2, 3, 4, 5, 7], "pois": 2, "comput": [2, 5, 7], "max_distance_xk": 2, "distanc": 2, "norm_gk": 2, "gradient": 2, "g_k": 2, "nrun": [2, 7], "been": [2, 4, 7], "restart": [2, 3, 4, 7], "nf": [2, 7], "see": [2, 6, 7], "nx": [2, 7], "nsampl": [2, 7], "iter_this_run": 2, "iters_tot": 2, "iter_typ": 2, "A": [2, 4, 5], "descript": [2, 5, 7], "had": 2, "g": [2, 5, 6, 7], "actual": 2, "predict": [2, 5], "reduct": 2, "slow_it": 2, "equal": 2, "slow": [2, 4, 7], "wa": [2, 4, 6, 7], "list": [3, 7], "updat": 3, "between": 3, "them": [3, 5, 7], "initi": [3, 4, 7], "releas": [3, 4], "minor": 3, "bug": 3, "trust": [3, 4, 5, 6, 7], "region": [3, 4, 5, 6, 7], "subproblem": [0, 3, 5, 6, 7], "crvmin": 3, "calcul": [0, 3, 5, 7], "correctli": [3, 7], "minim": [3, 5], "impact": [3, 7], "arg": 3, "pass": [3, 7], "argument": [3, 4], "paramet": [3, 4], "regim": 3, "correct": [3, 7], "exit": [3, 7], "retriev": 3, "instal": [3, 4], "invers": 3, "ensur": [3, 7], "whole": 3, "feasibl": [3, 4, 7], "overflow": 3, "link": 3, "code": [3, 6, 7], "zenodo": 3, "creat": 3, "doi": 3, "algorithm": [3, 4, 7], "determinist": 3, "initialis": [3, 7], "longer": 3, "necessari": 3, "seed": [3, 7], "reproduc": [3, 7], "model": [3, 4, 5, 7], "hessian": 3, "rather": 3, "just": [3, 7], "upper": [3, 7], "triangular": 3, "part": [3, 7], "runtim": 3, "oper": [3, 7], "faster": [3, 7], "solut": [3, 4, 5, 6, 7], "fortran": [3, 6], "trustregion": [3, 6], "packag": [3, 4, 6], "interpol": [3, 4, 5, 7], "multipl": [3, 4, 5, 7], "right": [3, 7], "hand": [3, 5, 6], "side": [3, 5], "don": 3, "t": [3, 4, 5, 7], "adjust": [3, 7], "start": [3, 5, 7], "close": [3, 5, 7], "long": 3, "behavior": 3, "enabl": 3, "bugfix": 3, "divid": 3, "warn": [3, 7], "auto": 3, "detect": 3, "remov": [3, 6], "deprec": 3, "customis": 3, "finit": [3, 5], "arbitrari": [3, 7], "simpl": [3, 4, 6], "modul": [3, 7], "inform": [3, 4, 5, 7], "unconstrain": 3, "newer": 3, "scipi": [3, 5, 6, 7], "least": [0, 3, 5], "11": [4, 6, 7], "occasion": 3, "undetermin": 3, "trial": [3, 5, 7], "date": 4, "29": [4, 7], "januari": [], "2024": [0, 4, 5, 7], "author": 4, "find": [4, 5, 7], "local": [4, 7], "nonlinear": 4, "stand": 4, "That": [4, 5], "min_": [4, 5, 7], "mathbb": [4, 5, 7], "r": [4, 5, 7], "quad": [4, 5, 7], "sum_": [4, 5, 7], "r_": [4, 5, 7], "": [4, 5, 7], "c": [4, 5, 6, 7], "b": [4, 5, 7], "intersect": [4, 5, 7], "provid": [4, 5, 6, 7], "non": [4, 7], "relax": [4, 7], "never": [4, 7], "our": [4, 5, 7], "j": [4, 7], "gn": 4, "you": [4, 5, 6, 7], "interest": [4, 5], "structur": 4, "wish": [4, 5, 7], "py": 4, "bobyqa": 4, "featur": 4, "under": 4, "gnu": 4, "public": 4, "licens": 4, "pleas": 4, "contact": 4, "nag": 4, "conda": 4, "pip": 4, "manual": 4, "test": [4, 7], "uninstal": 4, "overview": [4, 7], "equat": 4, "refer": 4, "exampl": [4, 5, 6], "estim": [4, 5], "advanc": [4, 7], "usag": [4, 7], "manag": 4, "small": [4, 5, 7], "progress": [4, 7], "stochast": [4, 7], "nois": [4, 5, 7], "regress": [4, 7], "dynam": 4, "grow": 4, "dykstra": [4, 7], "check": [4, 5], "rank": 4, "count": 4, "feb": 4, "2018": 4, "jun": 4, "16": [4, 7], "apr": 4, "2020": 4, "13": [4, 7], "26": 4, "nov": 4, "contributor": 4, "main": [4, 5, 7], "develop": [4, 5], "supervis": 4, "support": [3, 4, 6, 7], "epsrc": 4, "centr": 4, "doctor": 4, "train": 4, "industri": 4, "focus": 4, "ep": 4, "l015803": 4, "collabor": 4, "numer": 4, "group": 4, "design": [5, 7], "simpli": 5, "doe": [5, 7], "nor": 5, "attempt": 5, "differenc": 5, "situat": 5, "prefer": 5, "vast": 5, "major": 5, "even": 5, "imposs": 5, "inaccur": 5, "By": 5, "get": [5, 7], "happen": 5, "mont": 5, "carlo": 5, "simul": 5, "physic": 5, "experi": 5, "everi": [5, 7], "prohibit": 5, "fewest": 5, "possibl": [5, 7], "howev": [5, 7], "probabl": 5, "good": [5, 7], "idea": 5, "librari": 5, "common": [4, 5, 7], "quantit": 5, "disciplin": 5, "observ": [5, 7], "typic": [4, 5], "proccess": 5, "known": [5, 7], "mathrm": 5, "ob": 5, "x_1": [5, 7], "ldot": 5, "x_n": 5, "quantiti": 5, "y": [5, 7], "need": [5, 7], "suitabl": [5, 7], "choic": [4, 5, 7], "directli": [5, 6, 7], "calibr": [5, 7], "relationship": 5, "suppos": [5, 7], "_1": [4, 5, 7], "y_1": 5, "_m": 5, "y_m": 5, "Then": 5, "produc": [5, 7], "y_i": [5, 7], "_i": [5, 7], "form": [5, 7], "As": [5, 7], "abov": [5, 6, 7], "particularli": [5, 7], "satisfi": [5, 7], "r_2": 5, "vdot": 5, "Such": 5, "possibli": [3, 4, 5, 7], "infinit": 5, "often": [5, 7], "certainli": 5, "unknown": 5, "sai": 5, "underdetermin": 5, "overdetermin": 5, "choos": [5, 7], "sin": 5, "x_2": [5, 7], "similarli": 5, "like": [5, 7], "keep": 5, "exist": 5, "sens": 5, "instead": [4, 5, 7], "approxim": [5, 7], "left": 5, "formul": 5, "similar": 5, "difficult": 5, "strongli": 5, "closest": [5, 7], "guarante": 5, "your": [5, 6, 7], "techniqu": 5, "deflat": 5, "categori": 5, "nonconvex": 5, "m_k": 5, "approx": [5, 7], "maintain": 5, "size": [5, 7], "At": 5, "task": 5, "x_": [5, 7], "stai": 5, "put": 5, "delta_": 5, "repeat": 5, "construct": [5, 7], "sure": [5, 6], "accur": [0, 5, 7], "regularli": 5, "well": 5, "aren": 5, "complet": 5, "follow": [6, 7], "http": [6, 7], "www": 6, "org": 6, "addition": 6, "higher": 6, "17": [], "pydata": 6, "fast": 6, "compil": 6, "gfortran": 6, "work": 6, "anaconda": 6, "environ": 6, "forg": 6, "easi": [6, 7], "root": 6, "block": [], "bash": [], "sudo": [], "easy_instal": [], "privileg": [], "want": 7, "privat": [], "home": [], "directori": [6, 7], "note": [4, 6, 7], "older": 6, "present": 6, "upgrad": 6, "latest": 6, "download": 6, "sourc": 6, "github": [6, 7], "unpack": 6, "git": 6, "clone": 6, "com": [6, 7], "numericalalgorithmsgroup": 6, "cd": 6, "written": 6, "pure": 6, "It": [6, 7], "navig": 6, "top": 6, "rerun": 6, "pull": 6, "admin": [], "html": 7, "document": [6, 7], "locat": 6, "site": 6, "interfac": 7, "empti": 7, "framework": 7, "depth": 7, "technic": 7, "via": 7, "both": 7, "must": [0, 7], "dimension": 7, "arrai": 7, "shape": 7, "min": 7, "resid": 7, "float": 7, "first": 7, "partial": 7, "x_j": 7, "integ": 7, "sampl": 7, "averag": 7, "msg": 7, "why": 7, "finish": 7, "string": 7, "tabl": 7, "show": 7, "variabl": 7, "exit_success": 7, "successfulli": 7, "suffici": 7, "exit_maxfun_warn": 7, "exit_slow_warn": 7, "exit_false_success_warn": 7, "wors": 7, "exit_tr_increase_warn": 7, "exit_input_error": 7, "exit_tr_increase_error": 7, "occur": 7, "exit_linalg_error": 7, "algebra": 7, "exit_eval_error": 7, "These": 7, "access": 7, "project": 7, "rhobeg": 7, "rhoend": 7, "1e": 7, "scaling_within_bound": 7, "do_log": 7, "print_progress": 7, "tupl": 7, "a_i": 7, "b_i": 7, "either": 7, "f1": 7, "f2": 7, "fn": 7, "onto": 7, "correspond": 7, "max": 7, "infti": 7, "request": 7, "1000": 7, "nrestart": 7, "applic": 7, "param1": 7, "val1": 7, "param2": 7, "val2": 7, "next": 7, "indic": 7, "sensibl": 7, "overridden": 7, "becom": 7, "order": 7, "visibl": 7, "unless": 7, "practic": 7, "achiev": 7, "rosenbrock": 7, "write": 7, "commonli": 7, "purpos": 7, "script": 7, "__future__": 7, "import": 7, "print_funct": 7, "np": 7, "def": 7, "displai": 7, "along": 7, "xmin": 7, "33": 7, "00180000e": 7, "01": 7, "00000000e": 7, "00": 7, "19971362e": 7, "page": 7, "extend": 7, "alon": 7, "85": 7, "81": 7, "10862447e": 7, "14": 7, "58": 7, "79999999e": 7, "99999998e": 7, "62398179e": 7, "outsid": 7, "runtimewarn": 7, "out": 7, "basicconfig": 7, "format": 7, "messag": 7, "And": 7, "eval": 7, "39": 7, "65": 7, "337296": 7, "08": 7, "55": 7, "25": 7, "73": 7, "57": 7, "010000001407575": 7, "89999999": 7, "80999999": 7, "00999999999999997": 7, "could": 7, "replac": 7, "filenam": 7, "filemod": 7, "w": 7, "deactiv": 7, "obj": 7, "grad": 7, "43e": 7, "61e": 7, "02": 7, "20e": 7, "35e": 7, "77e": 7, "80e": 7, "00e": 7, "50e": 7, "56": 7, "subject": [], "pball": [], "pbox": [], "ball": 7, "box": [0, 4, 5, 7], "lie": [], "One": [], "equival": [], "separ": [], "u": 7, "debug": [], "implement": 7, "too": 7, "becaus": 7, "gave": 7, "activ": 7, "15359245": 7, "43592448": 7, "81557703": 7, "79826221e": 7, "00004412e": 7, "81976605e": 7, "15": 7, "let": 7, "modifi": 7, "compar": 7, "gaussian": 7, "rosenbrock_noisi": 7, "normal": 7, "demonstr": 7, "rang": 7, "str": 7, "opt": 7, "least_squar": 7, "10g": 7, "nfev": 7, "statu": 7, "4776183": 7, "20880346": 7, "44306447": 7, "24929965": 7, "48217255": 7, "17849989": 7, "44180389": 7, "19667014": 7, "39545837": 7, "20903317": 7, "00000003": 7, "59634974e": 7, "07": 7, "63036198e": 7, "09": 7, "550476524e": 7, "53": 7, "98196347e": 7, "90335675e": 7, "01941978e": 7, "24991776e": 7, "05": 7, "20000087": 7, "00000235": 7, "23": 7, "95535774": 7, "xtol": 7, "abl": 7, "troubl": 7, "unabl": 7, "therefor": 7, "06227943e": 7, "51525603e": 7, "650274685e": 7, "99950530e": 7, "00670067e": 7, "96161167e": 7, "41166495e": 7, "04": 7, "short": 7, "taken": 7, "here": 7, "t_i": 7, "exponenti": 7, "decai": 7, "exp": 7, "origin": 7, "uk": 7, "mathwork": 7, "help": 7, "ug": 7, "lsqcurvefit": 7, "tdata": 7, "19": 7, "24": 7, "28": 7, "35": 7, "60": 7, "74": 7, "ydata": 7, "455": 7, "428": 7, "124": 7, "67": 7, "43": 7, "prediction_error": 7, "expect": 7, "1e20": 7, "awai": 7, "98830861e": 7, "01256863e": 7, "1816709": 7, "06098397": 7, "76276301": 7, "11962354": 7, "26589796": 7, "59788814": 7, "02611897": 7, "5123537": 7, "56145452": 7, "63266662": 7, "504886892": 7, "79": 7, "12897463e": 7, "09843514e": 7, "59085679e": 7, "42808544e": 7, "47252555e": 7, "70205419e": 7, "03": 7, "34676365e": 7, "33017181e": 7, "71355033e": 7, "04752848e": 7, "75304364e": 7, "09280752e": 7, "83184867e": 7, "97239623e": 7, "22992989e": 7, "70749826e": 7, "24129962e": 7, "95045269e": 7, "65956876e": 7, "07858081e": 7, "plot": 7, "v": 7, "linspac": 7, "90": 7, "matplotlib": 7, "pyplot": 7, "plt": 7, "figur": 7, "ax": 7, "gca": 7, "label": 7, "bo": 7, "set_xlabel": 7, "set_ylabel": 7, "legend": 7, "loc": 7, "grid": 7, "lastli": 7, "sa": 7, "cdl": 7, "en": 7, "imlug": 7, "66112": 7, "viewer": 7, "htm": 7, "imlug_genstatexpls_sect004": 7, "math": 7, "x1": 7, "x2": 7, "nonlinear_system": 7, "09777309": 7, "32510588": 7, "45394186e": 7, "95108811e": 7, "827884295e": 7, "32499552": 7, "90216381": 7, "22664908": 7, "00061604": 7, "high": 7, "accuraci": [0, 7], "april": [], "siam": [0, 4, 5, 7], "journal": [0, 4, 5, 7], "21": [0, 4, 5, 7], "2022": [0, 4, 5, 7], "2552": [0, 4, 5, 7], "2579": [0, 4, 5, 7], "pyproject": [3, 6], "toml": [3, 6], "pytest": 6, "pyarg": 6, "hr2022": [0, 5, 7], "migrat": 3, "drop": 3, "v1": 3, "func_tol": 0, "criticality_measur": 0, "critic": 0, "stationar": 0, "tr_step": 0, "fista": 0, "500": 0, "sfista": 0, "max_iters_sc": 0, "septemb": 4, "h": [0, 4, 5, 7], "c_1": [4, 5, 7], "c_n": [4, 5, 7], "c_i": [4, 5, 7], "lipschitz": [4, 7], "continu": [4, 7], "differenti": [4, 7], "overfit": [4, 7], "l1": [4, 7], "lasso": [4, 7], "tikhonov": [4, 7], "ridg": [4, 7], "_2": [4, 7], "incorpor": [4, 7], "term": [3, 4, 7], "sqrt": [4, 7], "although": 4, "slightli": [4, 7], "violat": [4, 7], "round": [4, 7], "liu": [0, 1, 4, 5, 7], "lam": [0, 1, 4, 5, 7], "black": [0, 4, 5, 7], "2407": [0, 4, 5, 7], "14915": [0, 4, 5, 7], "australian": [1, 4], "research": 4, "council": 4, "de240100006": 4, "llr2024": [0, 5, 7], "yanjun": [0, 1, 5, 7], "kevin": [0, 1, 5, 7], "lh": 7, "prox_uh": 7, "argsf": 7, "argsh": 7, "argsprox": 7, "constant": 7, "euclidean": 7, "posit": 7, "l_h": 7, "proxim": 7, "operatornam": 7, "prox": 7, "uh": 7, "sign": 7, "ab": 7, "princeton": 1, "nonsmooth": [1, 3], "nation": 1, "infeas": 3, "sep": 4, "know": 7, "proj": 7, "argmin": 7, "better": 7, "explicitli": 7, "unit": 7, "simplex": 7, "x_i": 7, "inequ": 7, "explicit": 7, "express": 7, "onlin": 7, "databas": 7, "textbook": 7, "b2017": 7, "name": 7, "center": 7, "ball_proj": 7, "potenti": 7, "encourag": 7, "certain": 7, "properti": 7, "wide": 7, "spars": 7, "revers": 7, "triangl": 7, "henc": 7, "frac": 7, "2u": 7, "element": 7, "wise": 7, "artifici": 7, "dimens": 7, "arang": 7, "reshap": 7, "lda": 7, "85049254e": 7, "03534168e": 7, "19957812e": 7, "47953030e": 7, "30074165e": 7, "52029666": 7, "17185715": 7, "27822451": 7, "28821556": 7, "24831856": 7, "17654034": 7, "08211591": 7, "02946872": 7, "1546391": 7, "29091242": 7, "8682829845": 7, "34": 7, "75619848e": 7, "50000000e": 7, "60000000e": 7, "70000000e": 7, "80000000e": 7, "90000000e": 7, "relat": 7, "amir": 7, "beck": 7, "2017": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"advanc": 0, "usag": 0, "gener": [0, 7], "algorithm": [0, 2, 5], "paramet": [0, 5, 7], "log": 0, "output": [0, 7], "initi": 0, "point": 0, "trust": [0, 2], "region": [0, 2], "manag": 0, "termin": 0, "small": 0, "object": [0, 7], "valu": 0, "slow": 0, "progress": [0, 2], "stochast": 0, "nois": 0, "inform": [0, 2], "interpol": [0, 2], "regress": 0, "model": [0, 2], "multipl": 0, "restart": 0, "dynam": 0, "grow": 0, "set": 0, "dykstra": 0, "": 0, "check": 0, "matrix": 0, "rank": 0, "refer": [0, 5, 7], "contributor": 1, "main": 1, "author": 1, "diagnost": 2, "current": 2, "iter": 2, "count": 2, "version": 3, "histori": 3, "1": 3, "0": 3, "6": 3, "feb": 3, "2018": 3, "20": 3, "2": 3, "jun": 3, "16": 3, "jan": 3, "2019": 3, "5": 3, "apr": 3, "12": 3, "2020": 3, "13": 3, "26": 3, "2021": 3, "3": 3, "8": 3, "nov": 3, "4": 3, "29": 3, "2024": 3, "dfo": [4, 5, 6, 7], "l": [4, 5, 6, 7], "deriv": 4, "free": 4, "optim": 4, "least": [4, 7], "squar": [4, 7], "minim": [4, 7], "content": 4, "acknowledg": 4, "overview": 5, "when": 5, "us": [5, 6, 7], "fit": [5, 7], "solv": [5, 7], "nonlinear": [5, 7], "system": [5, 7], "equat": [5, 7], "detail": 5, "instal": 6, "requir": 6, "conda": 6, "pip": 6, "manual": 6, "test": 6, "uninstal": 6, "how": 7, "option": 7, "argument": 7, "A": 7, "simpl": 7, "exampl": 7, "ad": 7, "bound": 7, "more": 7, "handl": 0, "arbitrari": [], "convex": 7, "constraint": 7, "noisi": 7, "evalu": 7, "estim": 7, "data": 7, "11": 3, "regular": [0, 7], "sep": 3}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Diagnostic Information": [[2, "diagnostic-information"]], "Current Iterate": [[2, "current-iterate"]], "Trust Region": [[2, "trust-region"]], "Model Interpolation": [[2, "model-interpolation"]], "Iteration Count": [[2, "iteration-count"]], "Algorithm Progress": [[2, "algorithm-progress"]], "Version History": [[3, "version-history"]], "Version 1.0 (6 Feb 2018)": [[3, "version-1-0-6-feb-2018"]], "Version 1.0.1 (20 Feb 2018)": [[3, "version-1-0-1-20-feb-2018"]], "Version 1.0.2 (20 Jun 2018)": [[3, "version-1-0-2-20-jun-2018"]], "Version 1.1 (16 Jan 2019)": [[3, "version-1-1-16-jan-2019"]], "Version 1.1.1 (5 Apr 2019)": [[3, "version-1-1-1-5-apr-2019"]], "Version 1.2 (12 Feb 2020)": [[3, "version-1-2-12-feb-2020"]], "Version 1.2.1 (13 Feb 2020)": [[3, "version-1-2-1-13-feb-2020"]], "Version 1.2.2 (26 Feb 2021)": [[3, "version-1-2-2-26-feb-2021"]], "Version 1.2.3 (1 Jun 2021)": [[3, "version-1-2-3-1-jun-2021"]], "Version 1.3.0 (8 Nov 2021)": [[3, "version-1-3-0-8-nov-2021"]], "Version 1.4.0 (29 Jan 2024)": [[3, "version-1-4-0-29-jan-2024"]], "Version 1.4.1 (11 Apr 2024)": [[3, "version-1-4-1-11-apr-2024"]], "Version 1.5.0 (11 Sep 2024)": [[3, "version-1-5-0-11-sep-2024"]], "References": [[5, "references"], [7, "references"], [0, "references"]], "Overview": [[5, "overview"]], "When to use DFO-LS": [[5, "when-to-use-dfo-ls"]], "Parameter Fitting": [[5, "parameter-fitting"]], "Solving Nonlinear Systems of Equations": [[5, "solving-nonlinear-systems-of-equations"]], "Details of the DFO-LS Algorithm": [[5, "details-of-the-dfo-ls-algorithm"]], "Installing DFO-LS": [[6, "installing-dfo-ls"]], "Requirements": [[6, "requirements"]], "Installation using conda": [[6, "installation-using-conda"]], "Installation using pip": [[6, "installation-using-pip"]], "Manual installation": [[6, "manual-installation"]], "Testing": [[6, "testing"]], "Uninstallation": [[6, "uninstallation"]], "Contributors": [[1, "contributors"], [1, "id1"]], "Main author": [[1, "main-author"]], "DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization": [[4, "dfo-ls-derivative-free-optimizer-for-least-squares-minimization"]], "Contents:": [[4, null]], "Acknowledgements": [[4, "acknowledgements"]], "Using DFO-LS": [[7, "using-dfo-ls"]], "Nonlinear Least-Squares Minimization": [[7, "nonlinear-least-squares-minimization"]], "How to use DFO-LS": [[7, "how-to-use-dfo-ls"]], "Optional Arguments": [[7, "optional-arguments"]], "A Simple Example": [[7, "a-simple-example"]], "Adding Bounds and More Output": [[7, "adding-bounds-and-more-output"]], "Adding General Convex Constraints": [[7, "adding-general-convex-constraints"]], "Adding a Regularizer": [[7, "adding-a-regularizer"]], "Example: Noisy Objective Evaluation": [[7, "example-noisy-objective-evaluation"]], "Example: Parameter Estimation/Data Fitting": [[7, "example-parameter-estimation-data-fitting"]], "Example: Solving a Nonlinear System of Equations": [[7, "example-solving-a-nonlinear-system-of-equations"]], "Advanced Usage": [[0, "advanced-usage"]], "General Algorithm Parameters": [[0, "general-algorithm-parameters"]], "Logging and Output": [[0, "logging-and-output"]], "Initialization of Points": [[0, "initialization-of-points"]], "Trust Region Management": [[0, "trust-region-management"]], "Termination on Small Objective Value": [[0, "termination-on-small-objective-value"]], "Termination on Slow Progress": [[0, "termination-on-slow-progress"]], "Stochastic Noise Information": [[0, "stochastic-noise-information"]], "Interpolation Management": [[0, "interpolation-management"]], "Regression Model Management": [[0, "regression-model-management"]], "Multiple Restarts": [[0, "multiple-restarts"]], "Dynamically Growing Initial Set": [[0, "dynamically-growing-initial-set"]], "Dykstra\u2019s Algorithm": [[0, "dykstra-s-algorithm"]], "Checking Matrix Rank": [[0, "checking-matrix-rank"]], "Handling regularizer": [[0, "handling-regularizer"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["advanced", "contributors", "diagnostic", "history", "index", "info", "install", "userguide"], "filenames": ["advanced.rst", "contributors.rst", "diagnostic.rst", "history.rst", "index.rst", "info.rst", "install.rst", "userguide.rst"], "titles": ["Advanced Usage", "Contributors", "Diagnostic Information", "Version History", "DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization", "Overview", "Installing DFO-LS", "Using DFO-LS"], "terms": {"thi": [0, 2, 3, 4, 5, 6, 7], "section": [0, 2, 3, 7], "describ": [0, 5, 7], "differ": [0, 3, 5, 7], "option": [0, 3, 4, 5, 6], "user": [0, 4, 5, 7], "avail": [0, 7], "dfo": [0, 2, 3], "l": [0, 2, 3], "In": [0, 2, 5, 7], "last": [0, 2], "us": [0, 2, 3, 4], "we": [0, 2, 5, 7], "introduc": [0, 3], "dfol": [0, 2, 6, 7], "solv": [0, 2, 4], "which": [0, 2, 3, 4, 5, 7], "ha": [0, 2, 3, 4, 5, 7], "input": [0, 3, 4, 5, 7], "user_param": [0, 2, 7], "i": [0, 2, 3, 4, 5, 6, 7], "python": [0, 3, 6, 7], "dictionari": [0, 7], "now": [0, 7], "go": 0, "through": [0, 3], "can": [0, 5, 6, 7], "chang": [0, 2, 3], "wai": [0, 5, 7], "more": [0, 3, 4, 5], "detail": [0, 4, 7], "ar": [0, 4, 5, 7], "paper": [0, 4, 5, 7], "cfmr2018": [0, 5, 7], "hr2021": [], "The": [0, 2, 4, 7], "default": [0, 3, 6, 7], "overrid": 0, "given": [0, 4, 5, 7], "some": [0, 5, 6, 7], "case": [0, 4, 5, 7], "vari": 0, "depend": [0, 2, 3, 5, 7], "whether": [0, 5, 7], "objfun": [0, 2, 3, 7], "evalu": [0, 2, 3, 4, 5], "x": [0, 4, 5, 7], "sever": [0, 5, 7], "time": [0, 2, 5, 7], "same": [0, 4, 5, 7], "give": [0, 7], "result": [0, 2, 3, 5, 7], "determin": [0, 5, 7], "objfun_has_nois": [0, 7], "inspect": 0, "instanc": [0, 5], "rounding_error_const": 0, "intern": [0, 5, 7], "all": [0, 2, 4, 5, 7], "store": [0, 3], "respect": [0, 7], "base": [0, 3, 4, 5, 7], "x_b": 0, "y_t": 0, "reduc": [0, 3], "risk": 0, "roundoff": 0, "error": [0, 2, 4, 5, 7], "shift": [0, 7], "x_k": [0, 5], "when": [0, 3, 4, 7], "s_k": [0, 2, 5], "leq": [0, 4, 5, 7], "text": [0, 2, 4, 5, 7], "const": 0, "where": [0, 5, 7], "0": [0, 2, 4, 5, 7], "1": [0, 1, 2, 4, 5, 6, 7], "safety_step_thresh": 0, "threshold": [0, 7], "call": [0, 2, 4, 5, 7], "safeti": [0, 2, 3], "step": [0, 2, 3, 5, 7], "gamma_": 0, "rho_k": [0, 2], "5": [0, 1, 4, 7], "check_objfun_for_overflow": 0, "cap": [0, 4, 5, 7], "r_i": [0, 5, 7], "thei": [0, 5, 7], "larg": [0, 3, 5], "enough": [0, 7], "an": [0, 3, 4, 5, 6, 7], "overflowerror": 0, "encount": 0, "try": [0, 4, 5], "f": [0, 2, 4, 5, 7], "true": [0, 2, 5, 7], "n_to_print_whole_x_vector": 0, "If": [0, 4, 5, 6, 7], "print": [0, 3, 7], "function": [0, 3, 4, 5, 7], "screen": 0, "file": [0, 2, 6, 7], "maximum": [0, 2, 7], "len": [0, 7], "full": [0, 3, 4, 7], "vector": [0, 2, 5, 7], "should": [0, 4, 6, 7], "also": [0, 4, 5, 6, 7], "6": [0, 4, 7], "save_diagnostic_info": [0, 2], "flag": [0, 7], "so": [0, 2, 3, 4, 7], "save": [0, 2, 7], "diagnost": [0, 4, 7], "each": [0, 2, 5, 7], "iter": [0, 3, 4, 7], "fals": [0, 7], "save_poised": [0, 2], "includ": [0, 2, 7], "lambda": [0, 2, 4, 7], "poised": [0, 2], "y_k": [0, 2], "most": [0, 2, 5, 7], "computation": 0, "expens": [0, 2, 5], "piec": [0, 2], "save_xk": [0, 2], "save_rk": [0, 2], "r_1": [0, 5, 7], "cdot": [0, 4, 5, 7], "r_m": [0, 5, 7], "alwai": [0, 5, 7], "init": 0, "random_initial_direct": 0, "build": [0, 7], "random": [0, 3, 7], "direct": [0, 3, 7], "oppos": 0, "coordin": [0, 7], "version": [0, 1, 4, 6], "2": [0, 4, 5, 6, 7], "random_directions_make_orthogon": 0, "orthogon": 0, "run_in_parallel": 0, "ask": [0, 4, 7], "without": [0, 4], "ani": [0, 2, 4, 7], "intermedi": 0, "process": [0, 5], "tr_radiu": 0, "eta1": 0, "unsuccess": 0, "eta_1": 0, "eta2": 0, "veri": [0, 5, 7], "success": [0, 2, 7], "eta_2": 0, "7": [0, 3, 7], "gamma_dec": 0, "ratio": [0, 2], "decreas": [0, 5, 7], "delta_k": [0, 2, 5], "dec": 0, "smooth": 0, "problem": [0, 2, 3, 4, 5, 7], "98": 0, "noisi": [0, 4, 5], "e": [0, 2, 4, 5, 6, 7], "gamma_inc": 0, "increas": [0, 7], "inc": 0, "gamma_inc_overlin": 0, "overlin": 0, "gamma": 0, "_": [0, 7], "4": [0, 4, 5, 7], "alpha1": 0, "alpha_1": 0, "9": [0, 6, 7], "alpha2": 0, "alpha_2": 0, "95": 0, "abs_tol": 0, "toler": 0, "quit": 0, "below": [0, 7], "10": [0, 4, 7], "12": [0, 4, 7], "rel_tol": 0, "rel": 0, "x_0": [0, 7], "20": [0, 4, 7], "history_for_slow": 0, "histori": [0, 4], "current": [0, 4, 5, 7], "thresh_for_slow": 0, "max_slow_it": 0, "number": [0, 2, 5, 7], "consecut": 0, "befor": [0, 7], "x0": [0, 2, 7], "quit_on_noise_level": 0, "within": [0, 3, 7], "level": [0, 3, 6, 7], "scale_factor_for_quit": 0, "factor": 0, "criterion": 0, "multiplicative_noise_level": 0, "onli": [0, 2, 3, 5, 7], "specifi": [0, 7], "one": [0, 2, 5, 6, 7], "addit": [0, 3], "none": [0, 7], "additive_noise_level": 0, "precondit": 0, "scale": [0, 3, 7], "linear": [0, 2, 5, 7], "system": [0, 2, 4, 6], "improv": [0, 3, 4, 5, 7], "condit": [0, 2, 7], "throw_error_on_nan": 0, "throw": 0, "numpi": [0, 3, 6, 7], "linalg": [0, 7], "linalgerror": 0, "nan": [0, 3, 7], "gracefulli": [0, 3], "num_extra_step": 0, "extra": [0, 3, 4, 7], "other": 0, "than": [0, 3, 7], "accept": 0, "move": [0, 5, 7], "n": [0, 4, 5, 7], "increase_num_extra_steps_with_restart": 0, "amount": [0, 7], "momentum_extra_step": 0, "momentum": 0, "method": [0, 3, 4, 5, 7], "geometri": [0, 3, 5], "use_restart": 0, "do": [0, 5, 6, 7], "reach": [0, 7], "rho_": 0, "end": 0, "max_unsuccessful_restart": 0, "allow": [0, 3, 7], "did": [0, 7], "further": 0, "rhoend_scal": 0, "use_soft_restart": 0, "soft": [0, 7], "hard": 0, "num_geom_step": 0, "For": [0, 4, 5, 6, 7], "3": [0, 1, 4, 5, 6, 7], "move_xk": 0, "preserv": 0, "best": [0, 2, 5, 7], "new": [0, 3, 5, 7], "increase_npt": 0, "increase_npt_amt": 0, "increase_ndirs_initial_amt": 0, "ndirs_initi": 0, "To": [0, 2, 5, 6, 7], "avoid": [0, 3, 4, 7], "phase": [0, 7], "use_old_rk": 0, "recycl": 0, "found": [0, 2, 7], "perform": [0, 3, 5, 7], "max_npt": 0, "npt": [0, 2, 3, 7], "max_fake_successful_step": 0, "run": [0, 6, 7], "smaller": 0, "larger": 0, "previou": [0, 7], "maxfun": [0, 7], "auto_detect": 0, "automat": [0, 6, 7], "still": 0, "trigger": 0, "radiu": [0, 2, 3, 5, 7], "etc": [0, 2], "how": [0, 2, 4, 6], "mani": [0, 3, 4, 5, 7], "data": [0, 4, 5], "radii": 0, "There": [0, 5, 7], "two": [0, 5], "criteria": 0, "over": [0, 7], "jacobian": [0, 2, 3, 7], "consist": 0, "trend": 0, "measur": [0, 5], "slope": 0, "correl": 0, "coeffici": 0, "line": [0, 3, 7], "fit": [0, 4], "30": [0, 7], "min_chgj_slop": 0, "minimum": [0, 7], "rate": 0, "j_k": [0, 2], "j_": [0, 2, 7], "k": [0, 2, 4, 5, 7], "_f": [0, 2], "past": 0, "caus": [0, 7], "015": 0, "min_correl": 0, "requir": [0, 3, 4, 5, 7], "add": [0, 3, 7], "exclud": 0, "less": 0, "setup": [0, 3], "cost": [0, 3, 7], "impract": 0, "have": [0, 5, 6, 7], "effect": 0, "full_rank": 0, "use_full_rank_interp": 0, "perturb": 0, "make": [0, 3, 5, 6, 7], "compon": [0, 7], "search": [0, 3, 5], "space": [0, 3, 5], "m": [0, 4, 5, 6, 7], "geq": [0, 7], "otherwis": [0, 5], "opposit": 0, "perturb_trust_region_step": 0, "yet": 0, "altern": [0, 4, 6, 7], "delta_scale_new_dirn": 0, "ad": [0, 3, 4], "length": [0, 7], "scale_factor": 0, "magnitud": [0, 7], "svd_scale_factor": 0, "floor": 0, "singular": [0, 7], "nonzero": 0, "min_sing_v": 0, "absolut": 0, "svd_max_jac_cond": 0, "after": 0, "appli": [0, 7], "anoth": 0, "smallest": [0, 2], "sinc": [0, 2, 7], "largest": 0, "fix": [0, 3, 7], "8": [0, 4, 7], "do_geom_step": 0, "while": [0, 5], "per": [0, 2, 3, 7], "usual": [0, 7], "do_safety_step": 0, "regular": [1, 3, 4, 5], "reduce_delta": 0, "full_geom_step": 0, "post": 0, "involv": [0, 5], "cannot": [0, 5], "reset_delta": 0, "reset": 0, "its": [0, 7], "reset_rho": 0, "lower": [0, 2, 3, 7], "bound": [0, 2, 3, 4], "dure": [0, 3], "num_new_dirns_each_it": 0, "approach": 0, "recommend": 0, "d_tol": 0, "stop": [0, 3], "max_it": 0, "take": [0, 5, 7], "100": [0, 7], "matrix_rank": 0, "r_tol": 0, "what": [0, 2], "posisbl": 0, "diagon": 0, "entri": [0, 7], "qr": 0, "being": [0, 7], "consid": [0, 5], "zero": [0, 3, 7], "18": 0, "coralia": [0, 4, 5, 7], "carti": [0, 4, 5, 7], "jan": [0, 4, 5, 7], "fiala": [0, 4, 5, 7], "benjamin": [0, 5, 7], "marteau": [0, 4, 5, 7], "lindon": [0, 1, 4, 5, 7], "robert": [0, 1, 4, 5, 7], "flexibl": [0, 4, 5, 7], "robust": [0, 4, 5, 7], "deriv": [0, 5, 7], "free": [0, 5, 7], "optim": [0, 2, 5, 7], "solver": [0, 3, 4, 5, 7], "acm": [0, 4, 5, 7], "transact": [0, 4, 5, 7], "mathemat": [0, 4, 5, 7], "softwar": [0, 4, 5, 6, 7], "45": [0, 4, 5, 7], "2019": [0, 4, 5, 7], "pp": [0, 4, 5, 7], "32": [0, 4, 5, 7], "41": [0, 4, 5, 7], "preprint": [0, 4, 5, 7], "hough": [0, 1, 4, 5, 7], "convex": [0, 1, 3, 4, 5], "constrain": [0, 3, 4, 5, 7], "arxiv": [0, 4, 5, 7], "2111": [], "05443": [], "2021": 4, "univers": 1, "sydnei": 1, "matthew": [0, 1, 5, 7], "waterloo": 1, "handl": [1, 3, 4], "gener": [1, 4], "constraint": [1, 3, 4, 5], "saw": 2, "output": [2, 3, 4, 5], "return": [2, 3, 7], "contain": [2, 6, 7], "about": [2, 3, 7], "soln": [2, 3, 7], "diagnostic_info": [2, 7], "object": [2, 3, 4, 5], "panda": [2, 6, 7], "datafram": [2, 7], "row": 2, "explain": 2, "mean": [0, 2, 5], "type": [2, 5, 7], "column": 2, "csv": 2, "previous": 2, "defin": [2, 7], "turn": 2, "log": [2, 3, 4, 7], "info": [2, 7], "to_csv": 2, "myfil": [2, 7], "exactli": [2, 7], "termin": [2, 4, 7], "mai": [2, 4, 5, 7], "fulli": 2, "popul": 2, "xk": 2, "point": [2, 3, 4, 5, 7], "far": [2, 7], "rk": 2, "residu": [2, 5, 7], "fk": 2, "valu": [2, 3, 4, 5, 7], "rho": [2, 7], "delta": [2, 7], "norm_sk": 2, "norm": [2, 7], "interpolation_error": 2, "sum": [2, 4, 5, 7], "squar": [0, 2, 5], "from": [2, 3, 4, 5, 6, 7], "interpolation_condition_numb": 2, "matrix": [2, 4, 7], "interpolation_change_j_norm": 2, "frobeniu": 2, "interpolation_total_residu": 2, "total": [2, 7], "set": [2, 3, 4, 5, 7], "pois": 2, "comput": [2, 5, 7], "max_distance_xk": 2, "distanc": 2, "norm_gk": 2, "gradient": 2, "g_k": 2, "nrun": [2, 7], "been": [2, 4, 7], "restart": [2, 3, 4, 7], "nf": [2, 7], "see": [2, 6, 7], "nx": [2, 7], "nsampl": [2, 7], "iter_this_run": 2, "iters_tot": 2, "iter_typ": 2, "A": [2, 4, 5], "descript": [2, 5, 7], "had": 2, "g": [2, 5, 6, 7], "actual": 2, "predict": [2, 5], "reduct": 2, "slow_it": 2, "equal": 2, "slow": [2, 4, 7], "wa": [2, 4, 6, 7], "list": [3, 7], "updat": 3, "between": 3, "them": [3, 5, 7], "initi": [3, 4, 7], "releas": [3, 4], "minor": 3, "bug": 3, "trust": [3, 4, 5, 6, 7], "region": [3, 4, 5, 6, 7], "subproblem": [0, 3, 5, 6, 7], "crvmin": 3, "calcul": [0, 3, 5, 7], "correctli": [3, 7], "minim": [3, 5], "impact": [3, 7], "arg": 3, "pass": [3, 7], "argument": [3, 4], "paramet": [3, 4], "regim": 3, "correct": [3, 7], "exit": [3, 7], "retriev": 3, "instal": [3, 4], "invers": 3, "ensur": [3, 7], "whole": 3, "feasibl": [3, 4, 7], "overflow": 3, "link": 3, "code": [3, 6, 7], "zenodo": 3, "creat": 3, "doi": 3, "algorithm": [3, 4, 7], "determinist": 3, "initialis": [3, 7], "longer": 3, "necessari": 3, "seed": [3, 7], "reproduc": [3, 7], "model": [3, 4, 5, 7], "hessian": 3, "rather": 3, "just": [3, 7], "upper": [3, 7], "triangular": 3, "part": [3, 7], "runtim": 3, "oper": [3, 7], "faster": [3, 7], "solut": [3, 4, 5, 6, 7], "fortran": [3, 6], "trustregion": [3, 6], "packag": [3, 4, 6], "interpol": [3, 4, 5, 7], "multipl": [3, 4, 5, 7], "right": [3, 7], "hand": [3, 5, 6], "side": [3, 5], "don": 3, "t": [3, 4, 5, 7], "adjust": [3, 7], "start": [3, 5, 7], "close": [3, 5, 7], "long": 3, "behavior": 3, "enabl": 3, "bugfix": 3, "divid": 3, "warn": [3, 7], "auto": 3, "detect": 3, "remov": [3, 6], "deprec": 3, "customis": 3, "finit": [3, 5], "arbitrari": [3, 7], "simpl": [3, 4, 6], "modul": [3, 7], "inform": [3, 4, 5, 7], "unconstrain": 3, "newer": 3, "scipi": [3, 5, 6, 7], "least": [0, 3, 5], "11": [4, 6, 7], "occasion": 3, "undetermin": 3, "trial": [3, 5, 7], "date": 4, "29": [4, 7], "januari": [], "2024": [0, 4, 5, 7], "author": 4, "find": [4, 5, 7], "local": [4, 7], "nonlinear": 4, "stand": 4, "That": [4, 5], "min_": [4, 5, 7], "mathbb": [4, 5, 7], "r": [4, 5, 7], "quad": [4, 5, 7], "sum_": [4, 5, 7], "r_": [4, 5, 7], "": [4, 5, 7], "c": [4, 5, 6, 7], "b": [4, 5, 7], "intersect": [4, 5, 7], "provid": [4, 5, 6, 7], "non": [0, 3, 4, 7], "relax": [4, 7], "never": [4, 7], "our": [4, 5, 7], "j": [4, 7], "gn": 4, "you": [4, 5, 6, 7], "interest": [4, 5], "structur": 4, "wish": [4, 5, 7], "py": 4, "bobyqa": 4, "featur": 4, "under": 4, "gnu": 4, "public": 4, "licens": 4, "pleas": 4, "contact": 4, "nag": 4, "conda": 4, "pip": 4, "manual": 4, "test": [4, 7], "uninstal": 4, "overview": [4, 7], "equat": 4, "refer": 4, "exampl": [4, 5, 6], "estim": [4, 5], "advanc": [4, 7], "usag": [4, 7], "manag": 4, "small": [4, 5, 7], "progress": [4, 7], "stochast": [4, 7], "nois": [4, 5, 7], "regress": [4, 7], "dynam": 4, "grow": 4, "dykstra": [4, 7], "check": [4, 5], "rank": 4, "count": [4, 7], "feb": 4, "2018": 4, "jun": 4, "16": [4, 7], "apr": 4, "2020": 4, "13": [4, 7], "26": [4, 7], "nov": 4, "contributor": 4, "main": [4, 5, 7], "develop": [4, 5], "supervis": 4, "support": [3, 4, 6, 7], "epsrc": 4, "centr": 4, "doctor": 4, "train": 4, "industri": 4, "focus": 4, "ep": 4, "l015803": 4, "collabor": 4, "numer": 4, "group": 4, "design": [5, 7], "simpli": 5, "doe": [5, 7], "nor": 5, "attempt": 5, "differenc": 5, "situat": 5, "prefer": 5, "vast": 5, "major": 5, "even": 5, "imposs": 5, "inaccur": 5, "By": 5, "get": [5, 7], "happen": 5, "mont": 5, "carlo": 5, "simul": 5, "physic": 5, "experi": 5, "everi": [5, 7], "prohibit": 5, "fewest": 5, "possibl": [5, 7], "howev": [5, 7], "probabl": 5, "good": [5, 7], "idea": 5, "librari": 5, "common": [4, 5, 7], "quantit": 5, "disciplin": 5, "observ": [5, 7], "typic": [4, 5], "proccess": 5, "known": [5, 7], "mathrm": 5, "ob": 5, "x_1": [5, 7], "ldot": 5, "x_n": 5, "quantiti": 5, "y": [5, 7], "need": [5, 7], "suitabl": [5, 7], "choic": [4, 5, 7], "directli": [5, 6, 7], "calibr": [5, 7], "relationship": 5, "suppos": [5, 7], "_1": [4, 5, 7], "y_1": 5, "_m": 5, "y_m": 5, "Then": 5, "produc": [5, 7], "y_i": [5, 7], "_i": [5, 7], "form": [5, 7], "As": [5, 7], "abov": [5, 6, 7], "particularli": [5, 7], "satisfi": [5, 7], "r_2": 5, "vdot": 5, "Such": 5, "possibli": [3, 4, 5, 7], "infinit": 5, "often": [5, 7], "certainli": 5, "unknown": 5, "sai": 5, "underdetermin": 5, "overdetermin": 5, "choos": [5, 7], "sin": 5, "x_2": [5, 7], "similarli": 5, "like": [5, 7], "keep": 5, "exist": 5, "sens": 5, "instead": [4, 5, 7], "approxim": [5, 7], "left": 5, "formul": 5, "similar": 5, "difficult": 5, "strongli": 5, "closest": [5, 7], "guarante": 5, "your": [5, 6, 7], "techniqu": 5, "deflat": 5, "categori": 5, "nonconvex": 5, "m_k": 5, "approx": [5, 7], "maintain": 5, "size": [5, 7], "At": 5, "task": 5, "x_": [5, 7], "stai": 5, "put": 5, "delta_": 5, "repeat": 5, "construct": [5, 7], "sure": [5, 6], "accur": [0, 5, 7], "regularli": 5, "well": 5, "aren": 5, "complet": 5, "follow": [6, 7], "http": [6, 7], "www": 6, "org": 6, "addition": 6, "higher": 6, "17": [], "pydata": 6, "fast": 6, "compil": 6, "gfortran": 6, "work": 6, "anaconda": 6, "environ": 6, "forg": 6, "easi": [6, 7], "root": 6, "block": [], "bash": [], "sudo": [], "easy_instal": [], "privileg": [], "want": 7, "privat": [], "home": [], "directori": [6, 7], "note": [4, 6, 7], "older": 6, "present": 6, "upgrad": 6, "latest": 6, "download": 6, "sourc": 6, "github": [6, 7], "unpack": 6, "git": 6, "clone": 6, "com": [6, 7], "numericalalgorithmsgroup": 6, "cd": 6, "written": 6, "pure": 6, "It": [6, 7], "navig": 6, "top": 6, "rerun": 6, "pull": 6, "admin": [], "html": 7, "document": [6, 7], "locat": 6, "site": 6, "interfac": 7, "empti": 7, "framework": 7, "depth": 7, "technic": 7, "via": 7, "both": 7, "must": [0, 7], "dimension": 7, "arrai": 7, "shape": 7, "min": 7, "resid": 7, "float": 7, "first": 7, "partial": 7, "x_j": 7, "integ": 7, "sampl": 7, "averag": 7, "msg": 7, "why": 7, "finish": 7, "string": 7, "tabl": 7, "show": 7, "variabl": 7, "exit_success": 7, "successfulli": 7, "suffici": 7, "exit_maxfun_warn": 7, "exit_slow_warn": 7, "exit_false_success_warn": 7, "wors": 7, "exit_tr_increase_warn": 7, "exit_input_error": 7, "exit_tr_increase_error": 7, "occur": 7, "exit_linalg_error": 7, "algebra": 7, "exit_eval_error": 7, "These": 7, "access": 7, "project": 7, "rhobeg": 7, "rhoend": 7, "1e": 7, "scaling_within_bound": 7, "do_log": 7, "print_progress": 7, "tupl": 7, "a_i": 7, "b_i": 7, "either": 7, "f1": 7, "f2": 7, "fn": 7, "onto": 7, "correspond": 7, "max": 7, "infti": 7, "request": 7, "1000": 7, "nrestart": 7, "applic": 7, "param1": 7, "val1": 7, "param2": 7, "val2": 7, "next": 7, "indic": 7, "sensibl": 7, "overridden": 7, "becom": 7, "order": 7, "visibl": 7, "unless": 7, "practic": 7, "achiev": 7, "rosenbrock": 7, "write": 7, "commonli": 7, "purpos": 7, "script": 7, "__future__": 7, "import": 7, "print_funct": 7, "np": 7, "def": 7, "displai": 7, "along": 7, "xmin": 7, "33": 7, "00180000e": [], "01": 7, "00000000e": 7, "00": 7, "19971362e": [], "page": 7, "extend": 7, "alon": 7, "85": 7, "81": 7, "10862447e": [], "14": 7, "58": [], "79999999e": 7, "99999998e": [], "62398179e": [], "outsid": 7, "runtimewarn": 7, "out": 7, "basicconfig": 7, "format": 7, "messag": 7, "And": 7, "eval": 7, "39": 7, "65": 7, "337296": 7, "08": 7, "55": 7, "25": 7, "73": 7, "57": 7, "010000001407575": [], "89999999": [], "80999999": [], "00999999999999997": [], "could": 7, "replac": 7, "filenam": 7, "filemod": 7, "w": 7, "deactiv": 7, "obj": 7, "grad": 7, "43e": 7, "61e": 7, "02": 7, "20e": 7, "35e": 7, "77e": 7, "80e": 7, "00e": 7, "50e": 7, "56": 7, "subject": [], "pball": [], "pbox": [], "ball": 7, "box": [0, 4, 5, 7], "lie": [], "One": [], "equival": [], "separ": [], "u": 7, "debug": [], "implement": 7, "too": [3, 7], "becaus": 7, "gave": 7, "activ": 7, "15359245": 7, "43592448": 7, "81557703": 7, "79826221e": 7, "00004412e": 7, "81976605e": 7, "15": 7, "let": 7, "modifi": 7, "compar": 7, "gaussian": 7, "rosenbrock_noisi": 7, "normal": 7, "demonstr": 7, "rang": 7, "str": 7, "opt": 7, "least_squar": 7, "10g": 7, "nfev": 7, "statu": 7, "4776183": 7, "20880346": 7, "44306447": 7, "24929965": 7, "48217255": 7, "17849989": 7, "44180389": 7, "19667014": 7, "39545837": 7, "20903317": 7, "00000003": [], "59634974e": [], "07": [], "63036198e": [], "09": 7, "550476524e": [], "53": [], "98196347e": [], "90335675e": [], "01941978e": [], "24991776e": [], "05": [], "20000087": [], "00000235": [], "23": 7, "95535774": [], "xtol": 7, "abl": 7, "troubl": 7, "unabl": 7, "therefor": 7, "06227943e": [], "51525603e": [], "650274685e": [], "99950530e": [], "00670067e": [], "96161167e": [], "41166495e": [], "04": 7, "short": 7, "taken": 7, "here": 7, "t_i": 7, "exponenti": 7, "decai": 7, "exp": 7, "origin": 7, "uk": 7, "mathwork": 7, "help": 7, "ug": 7, "lsqcurvefit": 7, "tdata": 7, "19": 7, "24": 7, "28": 7, "35": 7, "60": 7, "74": 7, "ydata": 7, "455": 7, "428": 7, "124": 7, "67": 7, "43": 7, "prediction_error": 7, "expect": 7, "1e20": 7, "awai": 7, "98830861e": 7, "01256863e": 7, "1816709": 7, "06098397": [], "76276301": [], "11962354": [], "26589796": [], "59788814": [], "02611897": [], "5123537": [], "56145452": 7, "63266662": 7, "504886892": 7, "79": [], "12897463e": [], "09843514e": [], "59085679e": [], "42808544e": [], "47252555e": [], "70205419e": [], "03": 7, "34676365e": [], "33017181e": [], "71355033e": [], "04752848e": [], "75304364e": [], "09280752e": [], "83184867e": [], "97239623e": [], "22992989e": [], "70749826e": [], "24129962e": [], "95045269e": [], "65956876e": [], "07858081e": [], "plot": 7, "v": 7, "linspac": 7, "90": 7, "matplotlib": 7, "pyplot": 7, "plt": 7, "figur": 7, "ax": 7, "gca": 7, "label": 7, "bo": 7, "set_xlabel": 7, "set_ylabel": 7, "legend": 7, "loc": 7, "grid": 7, "lastli": 7, "sa": 7, "cdl": 7, "en": 7, "imlug": 7, "66112": 7, "viewer": 7, "htm": 7, "imlug_genstatexpls_sect004": 7, "math": 7, "x1": 7, "x2": 7, "nonlinear_system": 7, "09777309": 7, "32510588": 7, "45394186e": [], "95108811e": [], "827884295e": [], "32499552": [], "90216381": [], "22664908": [], "00061604": [], "high": 7, "accuraci": [0, 7], "april": [], "siam": [0, 4, 5, 7], "journal": [0, 4, 5, 7], "21": [0, 4, 5, 7], "2022": [0, 4, 5, 7], "2552": [0, 4, 5, 7], "2579": [0, 4, 5, 7], "pyproject": [3, 6], "toml": [3, 6], "pytest": 6, "pyarg": 6, "hr2022": [0, 5, 7], "migrat": 3, "drop": 3, "v1": [3, 7], "func_tol": 0, "criticality_measur": 0, "critic": 0, "stationar": 0, "tr_step": 0, "fista": 0, "500": 0, "sfista": 0, "max_iters_sc": 0, "septemb": [], "h": [0, 4, 5, 7], "c_1": [4, 5, 7], "c_n": [4, 5, 7], "c_i": [4, 5, 7], "lipschitz": [4, 7], "continu": [4, 7], "differenti": [4, 7], "overfit": [4, 7], "l1": [4, 7], "lasso": [4, 7], "tikhonov": [4, 7], "ridg": [4, 7], "_2": [4, 7], "incorpor": [4, 7], "term": [3, 4, 7], "sqrt": [4, 7], "although": 4, "slightli": [4, 7], "violat": [4, 7], "round": [4, 7], "liu": [0, 1, 4, 5, 7], "lam": [0, 1, 4, 5, 7], "black": [0, 4, 5, 7], "2407": [0, 4, 5, 7], "14915": [0, 4, 5, 7], "australian": [1, 4], "research": 4, "council": 4, "de240100006": 4, "llr2024": [0, 5, 7], "yanjun": [0, 1, 5, 7], "kevin": [0, 1, 5, 7], "lh": 7, "prox_uh": 7, "argsf": 7, "argsh": 7, "argsprox": 7, "constant": 7, "euclidean": 7, "posit": 7, "l_h": 7, "proxim": 7, "operatornam": 7, "prox": 7, "uh": 7, "sign": 7, "ab": 7, "princeton": 1, "nonsmooth": [1, 3], "nation": 1, "infeas": 3, "sep": 4, "know": 7, "proj": 7, "argmin": 7, "better": 7, "explicitli": 7, "unit": 7, "simplex": 7, "x_i": 7, "inequ": 7, "explicit": 7, "express": 7, "onlin": 7, "databas": 7, "textbook": 7, "b2017": 7, "name": 7, "center": 7, "ball_proj": 7, "potenti": 7, "encourag": 7, "certain": 7, "properti": 7, "wide": 7, "spars": 7, "revers": 7, "triangl": 7, "henc": 7, "frac": 7, "2u": 7, "element": 7, "wise": 7, "artifici": 7, "dimens": 7, "arang": 7, "reshap": 7, "lda": 7, "85049254e": 7, "03534168e": 7, "19957812e": 7, "47953030e": 7, "30074165e": 7, "52029666": 7, "17185715": 7, "27822451": 7, "28821556": 7, "24831856": 7, "17654034": 7, "08211591": 7, "02946872": 7, "1546391": 7, "29091242": 7, "8682829845": 7, "34": 7, "75619848e": 7, "50000000e": 7, "60000000e": 7, "70000000e": 7, "80000000e": 7, "90000000e": 7, "relat": 7, "amir": 7, "beck": 7, "2017": 7, "octob": 4, "xmin_eval_num": [3, 7], "repres": 7, "index": 7, "match": 7, "jacmin_eval_num": [3, 7], "9982000e": 7, "0000000e": 7, "0079924e": 7, "31": 7, "15519307e": 7, "42": 7, "54": 7, "27": 7, "came": 7, "00000001": 7, "00000002": 7, "17481720e": 7, "04150014e": 7, "352509879e": 7, "98079840e": 7, "00105722e": 7, "93887907e": 7, "06567570e": 7, "83907501": 7, "56093684e": 7, "17835345e": 7, "443440912e": 7, "98649933e": 7, "93403044e": 7, "93112150e": 7, "78830812e": 7, "06098396": 7, "76276296": 7, "11962351": 7, "26589799": 7, "59788816": 7, "02611898": 7, "51235371": 7, "111": 7, "12901055e": 7, "09843504e": 7, "59087363e": 7, "42808534e": 7, "47254068e": 7, "70205403e": 7, "34676757e": 7, "33017163e": 7, "71358948e": 7, "04752831e": 7, "75309286e": 7, "09280596e": 7, "83185935e": 7, "97239504e": 7, "22997879e": 7, "70749550e": 7, "24146460e": 7, "95045170e": 7, "65964661e": 7, "07858021e": 7, "104": 7, "109": 7, "110": 7, "38601752e": 7, "70204653e": 7, "916172822e": 7, "32527052": 7, "90227531": 7, "22943034": 7, "99958226": 7, "0100000000000225": 7, "80999998": 7, "parallel": 3, "oct": 4}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"advanc": 0, "usag": 0, "gener": [0, 7], "algorithm": [0, 2, 5], "paramet": [0, 5, 7], "log": 0, "output": [0, 7], "initi": 0, "point": 0, "trust": [0, 2], "region": [0, 2], "manag": 0, "termin": 0, "small": 0, "object": [0, 7], "valu": 0, "slow": 0, "progress": [0, 2], "stochast": 0, "nois": 0, "inform": [0, 2], "interpol": [0, 2], "regress": 0, "model": [0, 2], "multipl": 0, "restart": 0, "dynam": 0, "grow": 0, "set": 0, "dykstra": 0, "": 0, "check": 0, "matrix": 0, "rank": 0, "refer": [0, 5, 7], "contributor": 1, "main": 1, "author": 1, "diagnost": 2, "current": 2, "iter": 2, "count": 2, "version": 3, "histori": 3, "1": 3, "0": 3, "6": 3, "feb": 3, "2018": 3, "20": 3, "2": 3, "jun": 3, "16": 3, "jan": 3, "2019": 3, "5": 3, "apr": 3, "12": 3, "2020": 3, "13": 3, "26": 3, "2021": 3, "3": 3, "8": 3, "nov": 3, "4": 3, "29": 3, "2024": 3, "dfo": [4, 5, 6, 7], "l": [4, 5, 6, 7], "deriv": 4, "free": 4, "optim": 4, "least": [4, 7], "squar": [4, 7], "minim": [4, 7], "content": 4, "acknowledg": 4, "overview": 5, "when": 5, "us": [5, 6, 7], "fit": [5, 7], "solv": [5, 7], "nonlinear": [5, 7], "system": [5, 7], "equat": [5, 7], "detail": 5, "instal": 6, "requir": 6, "conda": 6, "pip": 6, "manual": 6, "test": 6, "uninstal": 6, "how": 7, "option": 7, "argument": 7, "A": 7, "simpl": 7, "exampl": 7, "ad": 7, "bound": 7, "more": 7, "handl": 0, "arbitrari": [], "convex": 7, "constraint": 7, "noisi": 7, "evalu": 7, "estim": 7, "data": 7, "11": 3, "regular": [0, 7], "sep": 3, "10": 3, "oct": 3}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Advanced Usage": [[0, "advanced-usage"]], "General Algorithm Parameters": [[0, "general-algorithm-parameters"]], "Logging and Output": [[0, "logging-and-output"]], "Initialization of Points": [[0, "initialization-of-points"]], "Trust Region Management": [[0, "trust-region-management"]], "Termination on Small Objective Value": [[0, "termination-on-small-objective-value"]], "Termination on Slow Progress": [[0, "termination-on-slow-progress"]], "Stochastic Noise Information": [[0, "stochastic-noise-information"]], "Interpolation Management": [[0, "interpolation-management"]], "Regression Model Management": [[0, "regression-model-management"]], "Multiple Restarts": [[0, "multiple-restarts"]], "Dynamically Growing Initial Set": [[0, "dynamically-growing-initial-set"]], "Dykstra\u2019s Algorithm": [[0, "dykstra-s-algorithm"]], "Checking Matrix Rank": [[0, "checking-matrix-rank"]], "Handling regularizer": [[0, "handling-regularizer"]], "References": [[0, "references"], [5, "references"], [7, "references"]], "Contributors": [[1, "contributors"], [1, "id1"]], "Main author": [[1, "main-author"]], "Diagnostic Information": [[2, "diagnostic-information"]], "Current Iterate": [[2, "current-iterate"]], "Trust Region": [[2, "trust-region"]], "Model Interpolation": [[2, "model-interpolation"]], "Iteration Count": [[2, "iteration-count"]], "Algorithm Progress": [[2, "algorithm-progress"]], "DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization": [[4, "dfo-ls-derivative-free-optimizer-for-least-squares-minimization"]], "Contents:": [[4, null]], "Acknowledgements": [[4, "acknowledgements"]], "Overview": [[5, "overview"]], "When to use DFO-LS": [[5, "when-to-use-dfo-ls"]], "Parameter Fitting": [[5, "parameter-fitting"]], "Solving Nonlinear Systems of Equations": [[5, "solving-nonlinear-systems-of-equations"]], "Details of the DFO-LS Algorithm": [[5, "details-of-the-dfo-ls-algorithm"]], "Installing DFO-LS": [[6, "installing-dfo-ls"]], "Requirements": [[6, "requirements"]], "Installation using conda": [[6, "installation-using-conda"]], "Installation using pip": [[6, "installation-using-pip"]], "Manual installation": [[6, "manual-installation"]], "Testing": [[6, "testing"]], "Uninstallation": [[6, "uninstallation"]], "Using DFO-LS": [[7, "using-dfo-ls"]], "Nonlinear Least-Squares Minimization": [[7, "nonlinear-least-squares-minimization"]], "How to use DFO-LS": [[7, "how-to-use-dfo-ls"]], "Optional Arguments": [[7, "optional-arguments"]], "A Simple Example": [[7, "a-simple-example"]], "Adding Bounds and More Output": [[7, "adding-bounds-and-more-output"]], "Adding General Convex Constraints": [[7, "adding-general-convex-constraints"]], "Adding a Regularizer": [[7, "adding-a-regularizer"]], "Example: Noisy Objective Evaluation": [[7, "example-noisy-objective-evaluation"]], "Example: Parameter Estimation/Data Fitting": [[7, "example-parameter-estimation-data-fitting"]], "Example: Solving a Nonlinear System of Equations": [[7, "example-solving-a-nonlinear-system-of-equations"]], "Version History": [[3, "version-history"]], "Version 1.0 (6 Feb 2018)": [[3, "version-1-0-6-feb-2018"]], "Version 1.0.1 (20 Feb 2018)": [[3, "version-1-0-1-20-feb-2018"]], "Version 1.0.2 (20 Jun 2018)": [[3, "version-1-0-2-20-jun-2018"]], "Version 1.1 (16 Jan 2019)": [[3, "version-1-1-16-jan-2019"]], "Version 1.1.1 (5 Apr 2019)": [[3, "version-1-1-1-5-apr-2019"]], "Version 1.2 (12 Feb 2020)": [[3, "version-1-2-12-feb-2020"]], "Version 1.2.1 (13 Feb 2020)": [[3, "version-1-2-1-13-feb-2020"]], "Version 1.2.2 (26 Feb 2021)": [[3, "version-1-2-2-26-feb-2021"]], "Version 1.2.3 (1 Jun 2021)": [[3, "version-1-2-3-1-jun-2021"]], "Version 1.3.0 (8 Nov 2021)": [[3, "version-1-3-0-8-nov-2021"]], "Version 1.4.0 (29 Jan 2024)": [[3, "version-1-4-0-29-jan-2024"]], "Version 1.4.1 (11 Apr 2024)": [[3, "version-1-4-1-11-apr-2024"]], "Version 1.5.0 (11 Sep 2024)": [[3, "version-1-5-0-11-sep-2024"]], "Version 1.5.1 (10 Oct 2024)": [[3, "version-1-5-1-10-oct-2024"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/build/html/userguide.html b/docs/build/html/userguide.html index 1255df5..087dc98 100644 --- a/docs/build/html/userguide.html +++ b/docs/build/html/userguide.html @@ -4,7 +4,7 @@ - Using DFO-LS — DFO-LS v1.5.0 documentation + Using DFO-LS — DFO-LS v1.5.1 documentation @@ -15,7 +15,7 @@ - + @@ -38,7 +38,7 @@ DFO-LS
      - 1.5.0 + 1.5.1
      @@ -136,6 +136,8 @@

      How to use DFO-LSsoln.flag - an exit flag, which can take one of several values (listed below), an Integer.

    • soln.msg - a description of why the algorithm finished, a String.

    • soln.diagnostic_info - a table of diagnostic information showing the progress of the solver, a Pandas DataFrame.

    • +
    • soln.xmin_eval_num - an integer representing which evaluation point (i.e. same as soln.nx) gave the solution soln.x. Evaluation counts are 1-indexed, to match the logging information.

    • +
    • soln.jacmin_eval_nums - a NumPy integer array of length npt with the evaluation point numbers (i.e. same as soln.nx) used to build soln.jacobian via linear interpolation to the residual values at these points. Evaluation counts are 1-indexed, to match the logging information. This array will usually, but not always, include soln.xmin_eval_num.

    The possible values of soln.flag are defined by the following variables: