From b904bc2994dcc0f67740e5425615b8de95651158 Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Mon, 11 Oct 2021 17:02:03 -0400 Subject: [PATCH 01/11] Handle arbitrary convex constraints in DFO-LS --- dfols/__init__.py | 3 +- dfols/controller.py | 133 +++++++++++++-- dfols/model.py | 11 +- dfols/params.py | 11 ++ dfols/solver.py | 37 ++++- dfols/tests/test_model.py | 30 ++-- dfols/tests/test_trust_region.py | 274 ++++++++++++++++++++++++++++++- dfols/trust_region.py | 159 +++++++++++++++++- dfols/util.py | 53 +++++- dfols/version.py | 2 +- 10 files changed, 668 insertions(+), 45 deletions(-) diff --git a/dfols/__init__.py b/dfols/__init__.py index 74d7e05..5ae8a0e 100644 --- a/dfols/__init__.py +++ b/dfols/__init__.py @@ -7,8 +7,7 @@ It solves the nonlinear least-squares problem: min_{x} f(x) = r1(x)**2 + ... + rm(x)**2, -subject to the (optional) bounds - lb <= x <= ub, +(optionally) subject to finitely many convex constraints, where each function ri(x) is differentiable, possibly nonconvex. Since the derivatives of ri(x) are never required or approximated, the solver works when the evaluation of ri(x) is noisy. diff --git a/dfols/controller.py b/dfols/controller.py index 0796858..5ace32c 100644 --- a/dfols/controller.py +++ b/dfols/controller.py @@ -92,13 +92,13 @@ def able_to_do_restart(self): class Controller(object): - def __init__(self, objfun, args, x0, r0, r0_nsamples, xl, xu, npt, rhobeg, rhoend, nf, nx, maxfun, params, + def __init__(self, objfun, args, x0, r0, r0_nsamples, xl, xu, projections, npt, rhobeg, rhoend, nf, nx, maxfun, params, scaling_changes, do_logging): self.do_logging = do_logging self.objfun = objfun self.args = args self.maxfun = maxfun - self.model = Model(npt, x0, r0, xl, xu, r0_nsamples, precondition=params("interpolation.precondition"), + self.model = Model(npt, x0, r0, xl, xu, projections, r0_nsamples, precondition=params("interpolation.precondition"), abs_tol = params("model.abs_tol"), rel_tol = params("model.rel_tol"), do_logging=do_logging) self.nf = nf self.nx = nx @@ -137,6 +137,107 @@ def initialise_coordinate_directions(self, number_of_samples, num_directions, pa assert self.model.num_pts <= (self.n() + 1) * (self.n() + 2) // 2, "prelim: must have npt <= (n+1)(n+2)/2" assert 1 <= num_directions < self.model.num_pts, "Initialisation: must have 1 <= ndirs_initial < npt" + + if self.model.projections: + D = np.zeros((self.n(),self.n())) + k = 0 + while k < self.n(): + ek = np.zeros(self.n()) + ek[k] = 1 + p = np.dot(ek,self.delta) + yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) + D[k,:] = yk - self.model.xbase + + k += 1 # move on to next point + + # Have at least one L.D. vector, try negative direction on bad one first + k = 0 + mr_tol = params("matrix_rank.r_tol") + D_rank, diag = qr_rank(D,tol=mr_tol) + while D_rank != num_directions and k < self.n(): + if diag[k] < mr_tol: + ek = np.zeros(self.n()) + ek[k] = 1 + p = -np.dot(ek,self.delta) + yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) + dk = D[k,:].copy() + D[k,:] = yk - self.model.xbase + D_rank2, _diag2 = qr_rank(D,tol=params("matrix_rank.r_tol")) + if D_rank2 <= D_rank: + # Did not improve rank, revert change + D[k,:] = dk + # rank was improved, update D_rank for next comparison + D_rank = D_rank2 + k += 1 + + # Try random combination of negatives... + k = 0 + slctr = np.random.randint(0, 1+1, self.n()) # generate rand binary "selector" array + D_rank, diag = qr_rank(D,tol=params("matrix_rank.r_tol")) + while D_rank != num_directions and k < 100*self.n(): + if slctr[k%self.n()] == 1: # if selector says make -ve, make -ve + ek = np.zeros(self.n()) + ek[k%self.n()] = 1 + p = -np.dot(ek,self.delta) + yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) + dk = D[k%self.n(),:].copy() + D[k%self.n(),:] = yk - self.model.xbase + D_rank2, _diag2 = qr_rank(D,tol=params("matrix_rank.r_tol")) + if D_rank2 <= D_rank: + # Did not improve rank, revert change + D[k%self.n(),:] = dk + # rank was improved, update D_rank for next comparison + D_rank = D_rank2 + + # Go again + slctr = np.random.randint(0, 1+1, self.n()) + k += 1 + + # Set still not L.I? Try random directions + i = 0 + D_rank, diag = qr_rank(D,tol=params("matrix_rank.r_tol")) + while D_rank != num_directions and i <= 100*num_directions: + k = 0 + while k < self.n(): + if diag[k] < mr_tol: + p = np.random.normal(size=self.n()) + p = p/np.linalg.norm(p) + p = np.dot(p,self.delta) + yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) + dk = D[k,:].copy() + D[k,:] = yk - self.model.xbase + D_rank2, _diag2 = qr_rank(D,tol=params("matrix_rank.r_tol")) + if D_rank2 <= D_rank: + # Did not improve rank, revert change + D[k,:] = dk + # rank was improved, update D_rank for next comparison + D_rank = D_rank2 + k += 1 + i += 1 + + if D_rank != num_directions: + raise RuntimeError("Unable to generate suitable initial directions") + + # we have a L.I set of interpolation points + for k in range(0,self.n()): + # Evaluate objective at this new point + x = self.model.as_absolute_coordinates(D[k, :]) + rvec_list, f_list, num_samples_run, exit_info = self.evaluate_objective(x, number_of_samples, params) + + # Handle exit conditions (f < min obj value or maxfun reached) + if exit_info is not None: + if num_samples_run > 0: + self.model.save_point(x, np.mean(rvec_list[:num_samples_run, :], axis=0), num_samples_run, + x_in_abs_coords=True) + return exit_info # return & quit + + # Otherwise, add new results (increments model.npt_so_far) + self.model.change_point(k+1, x - self.model.xbase, rvec_list[0, :]) # expect step, not absolute x + for i in range(1, num_samples_run): + self.model.add_new_sample(k+1, rvec_extra=rvec_list[i, :]) + + return None # return & continue + at_lower_boundary = (self.model.sl > -0.01 * self.delta) # sl = xl - x0, should be -ve, actually < -rhobeg at_upper_boundary = (self.model.su < 0.01 * self.delta) # su = xu - x0, should be +ve, actually > rhobeg @@ -147,17 +248,19 @@ def initialise_coordinate_directions(self, number_of_samples, num_directions, pa # k = 2n+1, ..., (n+1)(n+2)/2 --> off-diagonal directions if 1 <= k < self.n() + 1: # first step along coord directions dirn = k - 1 # direction to move in (0,...,n-1) - stepa = self.delta if not at_upper_boundary[dirn] else -self.delta + stepa = self.delta if not at_upper_boundary[dirn] else -self.delta # take a +delta step if at lower, -delta if at upper stepb = None - xpts_added[k, dirn] = stepa + xpts_added[k, dirn] = stepa # set new (relative) point to the step since we haven't done any moving, so relative point is all zeros. elif self.n() + 1 <= k < 2 * self.n() + 1: # second step along coord directions dirn = k - self.n() - 1 # direction to move in (0,...,n-1) - stepa = xpts_added[k - self.n(), dirn] - stepb = -self.delta + stepa = xpts_added[k - self.n(), dirn] # previous step + stepb = -self.delta # new step if at_lower_boundary[dirn]: + # if at lower boundary, set the second step to be +ve stepb = min(2.0 * self.delta, self.model.su[dirn]) # su = xu - x0, should be +ve if at_upper_boundary[dirn]: + # if at upper boundary, set the second step to be -ve stepb = max(-2.0 * self.delta, self.model.sl[dirn]) # sl = xl - x0, should be -ve xpts_added[k, dirn] = stepb @@ -325,10 +428,13 @@ def get_new_direction_for_growing(self, step_length): return dirn * (step_length / LA.norm(dirn)) - def trust_region_step(self): + def trust_region_step(self, params): # Build model for full least squares objectives gopt, H = self.model.build_full_model() - d, gnew, crvmin = trsbox(self.model.xopt(), gopt, H, self.model.sl, self.model.su, self.delta) + if self.model.projections: + d, gnew, crvmin = ctrsbox(self.model.xopt(abs_coordinates=True), gopt, H, self.model.projections, self.delta, d_max_iters=params("dykstra.max_iters"), d_tol=params("dykstra.d_tol")) + else: + d, gnew, crvmin = trsbox(self.model.xopt(), gopt, H, self.model.sl, self.model.su, self.delta) return d, gopt, H, gnew, crvmin def geometry_step(self, knew, adelt, number_of_samples, params): @@ -337,8 +443,13 @@ def geometry_step(self, knew, adelt, number_of_samples, params): try: c, g = self.model.lagrange_gradient(knew) # c = 1.0 if knew == self.model.kopt else 0.0 # based at xopt, just like d - # Solve problem: bounds are sl <= xnew <= su, and ||xnew-xopt|| <= adelt - xnew = trsbox_geometry(self.model.xopt(), c, g, np.minimum(self.model.sl, 0.0), np.maximum(self.model.su, 0.0), adelt) + if self.model.projections: + # Solve problem: use projection onto arbitrary constraints, and ||xnew-xopt|| <= adelt + step = ctrsbox_geometry(self.model.xopt(abs_coordinates=True), c, g, self.model.projections, adelt, d_max_iters=params("dykstra.max_iters"), d_tol=params("dykstra.d_tol")) + xnew = self.model.xopt() + step + else: + # Solve problem: bounds are sl <= xnew <= su, and ||xnew-xopt|| <= adelt + xnew = trsbox_geometry(self.model.xopt(), c, g, np.minimum(self.model.sl, 0.0), np.maximum(self.model.su, 0.0), adelt) except LA.LinAlgError: exit_info = ExitInformation(EXIT_LINALG_ERROR, "Singular matrix encountered in geometry step") return exit_info # didn't fix geometry - return & quit @@ -499,7 +610,7 @@ def reduce_rho(self, current_iter, params): def calculate_ratio(self, current_iter, rvec_list, d, gopt, H): exit_info = None f = sumsq(np.mean(rvec_list, axis=0)) # estimate actual objective value - pred_reduction = - model_value(gopt, H, d) + pred_reduction = - model_value(gopt, H, d) # negative of m since m(0) = 0 actual_reduction = self.model.fopt() - f self.diffs = [abs(actual_reduction - pred_reduction), self.diffs[0], self.diffs[1]] if min(sqrt(sumsq(d)), self.delta) > self.rho: # if ||d|| >= rho, successful! diff --git a/dfols/model.py b/dfols/model.py index 20373a9..745f2e6 100644 --- a/dfols/model.py +++ b/dfols/model.py @@ -36,12 +36,12 @@ import scipy.linalg as LA from .trust_region import trsbox_geometry -from .util import sumsq +from .util import sumsq, dykstra __all__ = ['Model'] class Model(object): - def __init__(self, npt, x0, r0, xl, xu, r0_nsamples, n=None, m=None, abs_tol=1e-12, rel_tol=1e-20, precondition=True, + def __init__(self, npt, x0, r0, xl, xu, projections, r0_nsamples, n=None, m=None, abs_tol=1e-12, rel_tol=1e-20, precondition=True, do_logging=True): if n is None: n = len(x0) @@ -63,6 +63,7 @@ def __init__(self, npt, x0, r0, xl, xu, r0_nsamples, n=None, m=None, abs_tol=1e- self.xbase = x0.copy() self.sl = xl - self.xbase # lower bound w.r.t. xbase (require xpt >= sl) self.su = xu - self.xbase # upper bound w.r.t. xbase (require xpt <= su) + self.projections = projections self.points = np.zeros((npt, n)) # interpolation points w.r.t. xbase # Function values @@ -123,6 +124,8 @@ def xpt(self, k, abs_coordinates=False): return np.minimum(np.maximum(self.sl, self.points[k, :].copy()), self.su) else: # Apply bounds and convert back to absolute coordinates + if self.projections: + return dykstra(self.projections, self.xbase + self.points[k,:]) return self.xbase + np.minimum(np.maximum(self.sl, self.points[k, :]), self.su) def rvec(self, k): @@ -133,8 +136,10 @@ def fval(self, k): assert 0 <= k < self.npt(), "Invalid index %g" % k return self.fval[k] - def as_absolute_coordinates(self, x): + def as_absolute_coordinates(self, x, full_dykstra=False): # If x were an interpolation point, get the absolute coordinates of x + if self.projections: + return dykstra(self.projections, self.xbase + x) return self.xbase + np.minimum(np.maximum(self.sl, x), self.su) def xpt_directions(self, include_kopt=True): diff --git a/dfols/params.py b/dfols/params.py index e3e2622..e168c01 100644 --- a/dfols/params.py +++ b/dfols/params.py @@ -109,6 +109,11 @@ def __init__(self, n, npt, maxfun, objfun_has_noise=False): self.params["growing.full_rank.min_sing_val"] = 1e-6 # absolute floor on singular values self.params["growing.full_rank.svd_max_jac_cond"] = 1e8 # maximum condition number of Jacobian self.params["growing.perturb_trust_region_step"] = False # add random direction onto TRS solution? + # Dykstra's algorithm + self.params["dykstra.d_tol"] = 1e-10 + self.params["dykstra.max_iters"] = 100 + # Matrix rank algorithm + self.params["matrix_rank.r_tol"] = 1e-16 self.params_changed = {} for p in self.params: @@ -257,6 +262,12 @@ def param_type(self, key, npt): type_str, nonetype_ok, lower, upper = 'float', True, 1.0, None elif key == "growing.perturb_trust_region_step": type_str, nonetype_ok, lower, upper = 'bool', False, None, None + elif key == "dykstra.d_tol": + type_str, nonetype_ok, lower, upper = 'float', False, 0.0, None + elif key == "dykstra.max_iters": + type_str, nonetype_ok, lower, upper = 'int', False, 0, None + elif key == "matrix_rank.r_tol": + type_str, nonetype_ok, lower, upper = 'float', False, 0.0, None else: assert False, "ParameterList.param_type() has unknown key: %s" % key return type_str, nonetype_ok, lower, upper diff --git a/dfols/solver.py b/dfols/solver.py index f6279ba..cb487ef 100644 --- a/dfols/solver.py +++ b/dfols/solver.py @@ -93,7 +93,7 @@ def __str__(self): return output -def solve_main(objfun, x0, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns_so_far, nf_so_far, nx_so_far, nsamples, params, +def solve_main(objfun, x0, args, xl, xu, projections, npt, rhobeg, rhoend, maxfun, nruns_so_far, nf_so_far, nx_so_far, nsamples, params, diagnostic_info, scaling_changes, r0_avg_old=None, r0_nsamples_old=None, default_growing_method_set_by_user=None, do_logging=True, print_progress=False): # Evaluate at x0 (keep nf, nx correct and check for f < 1e-12) @@ -160,7 +160,7 @@ def solve_main(objfun, x0, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns_so_f params('growing.delta_scale_new_dirns', new_value=0.1) # Initialise controller - control = Controller(objfun, args, x0, r0_avg, num_samples_run, xl, xu, npt, rhobeg, rhoend, nf, nx, maxfun, + control = Controller(objfun, args, x0, r0_avg, num_samples_run, xl, xu, projections, npt, rhobeg, rhoend, nf, nx, maxfun, params, scaling_changes, do_logging) # Initialise interpolation set @@ -271,7 +271,7 @@ def solve_main(objfun, x0, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns_so_f # Trust region step - d, gopt, H, gnew, crvmin = control.trust_region_step() + d, gopt, H, gnew, crvmin = control.trust_region_step(params) if do_logging: logging.debug("Trust region step is d = " + str(d)) xnew = control.model.xopt() + d @@ -851,7 +851,7 @@ def solve_main(objfun, x0, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns_so_f return x, rvec, f, jacmin, nsamples, control.nf, control.nx, nruns_so_far, exit_info, diagnostic_info -def solve(objfun, x0, args=(), bounds=None, npt=None, rhobeg=None, rhoend=1e-8, maxfun=None, nsamples=None, user_params=None, +def solve(objfun, x0, args=(), bounds=None, projections=[], npt=None, rhobeg=None, rhoend=1e-8, maxfun=None, nsamples=None, user_params=None, objfun_has_noise=False, scaling_within_bounds=False, do_logging=True, print_progress=False): x0 = x0.astype(float) n = len(x0) @@ -869,6 +869,10 @@ def solve(objfun, x0, args=(), bounds=None, npt=None, rhobeg=None, rhoend=1e-8, scaling_within_bounds = False warnings.warn("Ignoring scaling_within_bounds=True for unconstrained problem/1-sided bounds", RuntimeWarning) + if projections and scaling_within_bounds: + scaling_within_bounds = False + warnings.warn("Ignoring scaling_within_bounds=True for black-box constrained problem", RuntimeWarning) + if xl is None: xl = -1e20 * np.ones((n,)) # unconstrained if xu is None: @@ -882,6 +886,18 @@ def solve(objfun, x0, args=(), bounds=None, npt=None, rhobeg=None, rhoend=1e-8, if nsamples is None: nsamples = lambda delta, rho, iter, nruns: 1 # no averaging + # If using arbitrary constraints, create projection from bounds + if projections: + xlb = xl.copy() + xub = xu.copy() + bproj = lambda w: pbox(w,xlb,xub) + projections = projections.copy() + projections.append(bproj) + + # since using arbitrary constraints, don't constrain otherwise + xl = -1e20 * np.ones((n,)) + xu = 1e20 * np.ones((n,)) + # Set parameters params = ParameterList(int(n), int(npt), int(maxfun), objfun_has_noise=objfun_has_noise) # make sure int, not np.int if user_params is not None: @@ -976,6 +992,13 @@ def solve(objfun, x0, args=(), bounds=None, npt=None, rhobeg=None, rhoend=1e-8, results = OptimResults(None, None, None, None, 0, 0, 0, exit_flag, exit_msg) return results + # Enforce arbitrary constraint bounds on x0 + if projections: + xp = dykstra(projections,x0,max_iter=params("dykstra.max_iters"),tol=params("dykstra.d_tol")) + if not np.allclose(xp,x0): + warnings.warn("x0 not feasible w.r.t given constraints, adjusting", RuntimeWarning) + x0 = xp.copy() + # Enforce lower & upper bounds on x0 idx = (x0 <= xl) if np.any(idx): @@ -993,7 +1016,7 @@ def solve(objfun, x0, args=(), bounds=None, npt=None, rhobeg=None, rhoend=1e-8, nf = 0 nx = 0 xmin, rmin, fmin, jacmin, nsamples_min, nf, nx, nruns, exit_info, diagnostic_info = \ - solve_main(objfun, x0, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns, nf, nx, nsamples, params, + solve_main(objfun, x0, args, xl, xu, projections, npt, rhobeg, rhoend, maxfun, nruns, nf, nx, nsamples, params, diagnostic_info, scaling_changes, default_growing_method_set_by_user=default_growing_method_set_by_user, do_logging=do_logging, print_progress=print_progress) @@ -1012,12 +1035,12 @@ def solve(objfun, x0, args=(), bounds=None, npt=None, rhobeg=None, rhoend=1e-8, % (fmin, nf, rhobeg, rhoend)) if params("restarts.hard.use_old_rk"): xmin2, rmin2, fmin2, jacmin2, nsamples2, nf, nx, nruns, exit_info, diagnostic_info = \ - solve_main(objfun, xmin, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns, nf, nx, nsamples, params, + solve_main(objfun, xmin, args, xl, xu, projections, npt, rhobeg, rhoend, maxfun, nruns, nf, nx, nsamples, params, diagnostic_info, scaling_changes, r0_avg_old=rmin, r0_nsamples_old=nsamples_min, do_logging=do_logging, print_progress=print_progress) else: xmin2, rmin2, fmin2, jacmin2, nsamples2, nf, nx, nruns, exit_info, diagnostic_info = \ - solve_main(objfun, xmin, args, xl, xu, npt, rhobeg, rhoend, maxfun, nruns, nf, nx, nsamples, params, + solve_main(objfun, xmin, args, xl, xu, projections, npt, rhobeg, rhoend, maxfun, nruns, nf, nx, nsamples, params, diagnostic_info, scaling_changes, do_logging=do_logging, print_progress=print_progress) if fmin2 < fmin or np.isnan(fmin): diff --git a/dfols/tests/test_model.py b/dfols/tests/test_model.py index 9b6a384..66ed89f 100644 --- a/dfols/tests/test_model.py +++ b/dfols/tests/test_model.py @@ -46,7 +46,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e20 * np.ones((n,)) xu = 1e20 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) self.assertEqual(model.npt(), 1, 'Wrong npt after initialisation') self.assertTrue(array_compare(model.xopt(abs_coordinates=True), x0), 'Wrong xopt after initialisation') self.assertTrue(array_compare(model.ropt(), rosenbrock(x0)), 'Wrong ropt after initialisation') @@ -97,7 +97,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e20 * np.ones((n,)) xu = 1e20 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) # Now add better point x1 = np.array([1.0, 0.9]) rvec = rosenbrock(x1) @@ -124,7 +124,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) self.assertTrue(array_compare(model.sl, xl - x0), 'Wrong sl after initialisation') self.assertTrue(array_compare(model.su, xu - x0), 'Wrong su after initialisation') x1 = np.array([1.0, 0.9]) @@ -204,7 +204,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) x1 = np.array([1.0, 0.9]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) x2 = np.array([1.0, 1.0]) @@ -224,17 +224,17 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) x1 = np.array([1.0, 0.9]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) x2 = np.array([2.0, 0.9]) model.change_point(2, x2 - model.xbase, rosenbrock(x2)) self.assertAlmostEqual(model.min_objective_value(), 1e-12, 'Wrong min obj value') - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1, rel_tol=1e-2) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1, rel_tol=1e-2) self.assertAlmostEqual(model.min_objective_value(), 1e-2 * sumsq(rosenbrock(x0)), 'Wrong min obj value 2') - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1, abs_tol=1.0) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1, abs_tol=1.0) self.assertAlmostEqual(model.min_objective_value(), 1.0, 'Wrong min obj value 3') - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1, abs_tol=1.0, rel_tol=1e-2) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1, abs_tol=1.0, rel_tol=1e-2) self.assertAlmostEqual(model.min_objective_value(), 1.0, 'Wrong min obj value 4') @@ -245,7 +245,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) model.add_new_sample(0, rosenbrock(x0)) x1 = np.array([1.0, 0.9]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) @@ -295,7 +295,7 @@ def runTest(self): # x0 = np.array([1.0, 2.9]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) model.add_new_sample(0, rosenbrock(x0)) x1 = np.array([1.0, 0.9]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) @@ -326,7 +326,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) model.add_new_sample(0, rosenbrock(x0)) x1 = np.array([-1.2, 0.9]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) @@ -354,7 +354,7 @@ def runTest(self): delta = 0.5 xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) model.add_new_sample(0, rosenbrock(x0)) x1 = x0 + delta * np.array([1.0, 0.0]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) @@ -373,7 +373,7 @@ def runTest(self): x0 = np.array([-1.2, 1.0]) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, x0, rosenbrock(x0), xl, xu, 1) + model = Model(npt, x0, rosenbrock(x0), xl, xu, [], 1) x1 = np.array([1.0, 0.9]) model.change_point(1, x1 - model.xbase, rosenbrock(x1)) x2 = np.array([2.0, 0.9]) @@ -407,7 +407,7 @@ def runTest(self): # x0 = np.zeros((n,)) xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) - model = Model(npt, A[0,:], np.array([b[0]]), xl, xu, 1) + model = Model(npt, A[0,:], np.array([b[0]]), xl, xu, [], 1) for i in range(1,npt): xi = A[i,:] @@ -450,7 +450,7 @@ def runTest(self): xl = -1e2 * np.ones((n,)) xu = 1e2 * np.ones((n,)) # model = Model(n+1, x0, np.array([0.0]), xl, xu, 1) - model = Model(n+1, A[0, :], np.array([b[0]]), xl, xu, 1) + model = Model(n+1, A[0, :], np.array([b[0]]), xl, xu, [], 1) for i in range(1,npt): xi = A[i,:] diff --git a/dfols/tests/test_trust_region.py b/dfols/tests/test_trust_region.py index 64524e3..840d1f1 100644 --- a/dfols/tests/test_trust_region.py +++ b/dfols/tests/test_trust_region.py @@ -27,7 +27,7 @@ import numpy as np import unittest -from dfols.trust_region import trsbox, trsbox_geometry +from dfols.trust_region import ctrsbox, ctrsbox_geometry, trsbox, trsbox_geometry from dfols.util import model_value @@ -70,6 +70,171 @@ def cauchy_pt_box(g, H, delta, lower, upper): crvmin = -1.0 return s, red, crvmin +def p_box(x,l,u): + return np.minimum(np.maximum(x,l), u) + +class TestUncInternalCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 2.0 + xopt = np.ones((n,)) # trying nonzero (since bounds inactive) + sl = -1e20 * np.ones((n,)) + su = 1e20 * np.ones((n,)) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([-1.0, 0.0, -0.5]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer for internal minimum? + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') + print(crvmin) + self.assertAlmostEqual(crvmin, 1.2, 'Wrong crvmin') + +class TestUncBdryCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 5.0 / 12.0 + xopt = np.zeros((n,)) + sl = -1e20 * np.ones((n,)) + su = 1e20 * np.ones((n,)) + pbox = lambda x: p_box(x,sl,su) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') + self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') + +class TestUncBdry2CDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) + Delta = 5.0 / 12.0 + xopt = np.zeros((n,)) + sl = -1e20 * np.ones((n,)) + su = 1e20 * np.ones((n,)) + pbox = lambda x: p_box(x,sl,su) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.allclose(gnew, g + H.dot(d)), 'Wrong gnew') + self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') + +class TestUncBdry3CDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([0.0, 0.0, 1.0]) + H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) + Delta = 0.5 + xopt = np.zeros((n,)) + sl = -1e20 * np.ones((n,)) + su = 1e20 * np.ones((n,)) + pbox = lambda x: p_box(x,sl,su) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([0.0, 0.0, -0.5]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') + self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') + # self.assertAlmostEqual(crvmin, crvmin_cauchy, 'Wrong crvmin') + +class TestUncHardCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([0.0, 0.0, 1.0]) + H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) + Delta = sqrt(2.0) + xopt = np.zeros((n,)) + sl = -1e20 * np.ones((n,)) + su = 1e20 * np.ones((n,)) + pbox = lambda x: p_box(x,sl,su) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([1.0, 0.0, -1.0]) # non-unique solution + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') + self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') + +class TestConInternalCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 2.0 + xopt = np.ones((n,)) # trying nonzero (since bounds inactive) + sl = xopt + np.array([-0.5, -10.0, -10.0]) + su = xopt + np.array([10.0, 10.0, 10.0]) + pbox = lambda x: p_box(x,sl,su) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([-1.0, 0.0, -0.5]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer for internal minimum? + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt_box(g, H, Delta, sl-xopt, su-xopt) + # print(s_cauchy) + # print(d) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') + print(crvmin) + self.assertAlmostEqual(crvmin, -1.0, 'Wrong crvmin') + + +# Notes: Gets correct min and gnew. Incorrect crvmin (1.0999999999999999). +class TestConBdryCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 5.0 / 12.0 + xopt = np.zeros((n,)) + sl = xopt + np.array([-0.3, -0.01, -0.1]) + su = xopt + np.array([10.0, 1.0, 10.0]) + pbox = lambda x: p_box(x,sl,su) + d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) + true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + # Hope to get actual correct answer + # self.assertTrue(np.all(d == true_d), 'Wrong answer') + # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') + s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt_box(g, H, Delta, sl - xopt, su - xopt) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.max(np.abs(gnew - g - H.dot(d))) < 1e-10, 'Wrong gnew') + print(crvmin) + self.assertAlmostEqual(crvmin, -1.0, 'Wrong crvmin') + # self.assertAlmostEqual(crvmin, crvmin_cauchy, 'Wrong crvmin') + class TestUncInternal(unittest.TestCase): def runTest(self): @@ -340,3 +505,110 @@ def runTest(self): # print(x) # print(xtrue) self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + + +class TestGeomCDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + g = np.array([1.0, -1.0]) + a = np.array([-2.0, -2.0]) + b = np.array([1.0, 2.0]) + delta = 2.0 + c = -1.0 + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([-sqrt(2.0), sqrt(2.0)]) + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + + +class TestGeom2CDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + g = np.array([1.0, -1.0]) + a = np.array([-2.0, -2.0]) + b = np.array([1.0, 2.0]) + delta = 5.0 + c = -1.0 + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([-2.0, 2.0]) + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + + +class TestGeom3CDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + 1 + g = np.array([1.0, -1.0]) + a = np.array([-2.0, -2.0]) + 1 + b = np.array([1.0, 2.0]) + 1 + delta = 5.0 + c = 3.0 # may want to max instead + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([1.0, -2.0]) + 1 + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + + +class TestGeomOldBugCDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + g = np.array([-1.0, -1.0]) + a = np.array([-2.0, -2.0]) + b = np.array([0.1, 0.9]) + delta = sqrt(2.0) + c = -1.0 # may want to max instead + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = b + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + # self.assertFalse(True, "bad") + + +class TestGeomOldBug2CDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0, 0.0]) + g = np.array([-1.0, -1.0, -1.0]) + a = np.array([-2.0, -2.0, -2.0]) + b = np.array([0.9, 0.1, 5.0]) + delta = sqrt(3.0) + c = -1.0 # may want to max instead + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([0.9, 0.1, sqrt(3.0 - 0.81 - 0.01)]) + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + # self.assertFalse(True, "bad") + +class TestGeom2WithZerosCDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + g = np.array([0.0, -1.0]) + a = np.array([-2.0, -2.0]) + b = np.array([1.0, 2.0]) + delta = 5.0 + c = 0.0 + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([0.0, 2.0]) + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + + +class TestGeom2WithAlmostZerosCDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + g = np.array([1e-15, -1.0]) + a = np.array([-2.0, -2.0]) + b = np.array([1.0, 2.0]) + delta = 5.0 + c = 0.0 + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([0.0, 2.0]) + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + + +class TestGeom2WithAlmostZeros2CDFO(unittest.TestCase): + def runTest(self): + xbase = np.array([0.0, 0.0]) + g = np.array([1e-15, 0.0]) + a = np.array([-2.0, -2.0]) + b = np.array([1.0, 2.0]) + delta = 5.0 + c = 0.0 + x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) + xtrue = np.array([0.0, 0.0]) + # print(x) + # print(xtrue) + self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') diff --git a/dfols/trust_region.py b/dfols/trust_region.py index ec8c975..8b0a21d 100644 --- a/dfols/trust_region.py +++ b/dfols/trust_region.py @@ -11,6 +11,15 @@ The other outputs: gnew is the gradient of the model at d, and crvmin has information about the curvature of the model at the solution. +For handling arbitrary constraints, the call is + d, gnew, crvmin = ctrsbox(xopt, g, H, projections, delta) +which produces a new vector d approximately solving the constrained trust region subproblem: + min_{d} g'*d + 0.5*d'*H*d + s.t. ||d|| <= delta + xopt + d is feasible w.r.t. the constraint set C +The other outputs: gnew is the gradient of the model at d, and crvmin has +information about the curvature of the model at the solution. + We also provide a function for maximising the absolute value of a linear function inside a similar trust region - this is useful for geometry steps. The call @@ -23,6 +32,13 @@ min_s abs(c + g' * d) s.t. lower <= xbase + d <= upper ||d|| <= delta +Again, we have a version of this for handling arbitrary constraints +The call + x = ctrsbox_geometry(xbase, c, g, projections, Delta) +Solves + min_s abs(c + g' * d) + s.t. xbase + d is feasible w.r.t. the constraint set C + ||d|| <= delta Notes ---- @@ -63,13 +79,77 @@ # Fall back to Python implementation USE_FORTRAN = False +from .util import dykstra, pball, pbox, sumsq, model_value -from .util import sumsq +__all__ = ['ctrsbox', 'ctrsbox_geometry', 'trsbox', 'trsbox_geometry'] +ZERO_THRESH = 1e-14 -__all__ = ['trsbox', 'trsbox_geometry'] +def ctrsbox(xopt, g, H, projections, delta, d_max_iters=100, d_tol=1e-10, use_fortran=USE_FORTRAN): + n = xopt.size + assert xopt.shape == (n,), "xopt has wrong shape (should be vector)" + assert g.shape == (n,), "g and xopt have incompatible sizes" + assert len(H.shape) == 2, "H must be a matrix" + assert H.shape == (n,n), "H and xopt have incompatible sizes" + assert np.allclose(H, H.T), "H must be symmetric" + assert delta > 0.0, "delta must be strictly positive" -ZERO_THRESH = 1e-14 + d = np.zeros((n,)) + gnew = g.copy() + gy = g.copy() + crvmin = -1.0 + y = d.copy() + eta = 1.2 # L backtrack scaling factor + t = 1 + + # Initial guess of L is norm(Hessian) + L = np.linalg.norm(H, 2) + + # trust region is a ball of radius delta around xopt + trproj = lambda w: pball(w, xopt, delta) + + # combine trust region constraints with user-entered constraints + P = projections.copy() + P.append(trproj) + def proj(d0): + p = dykstra(P, xopt+d0, max_iter=d_max_iters, tol=d_tol) + # we want the step only, so we subtract xopt + # from the new point: proj(xk+d) - xk + return p - xopt + + MAX_LOOP_ITERS = 100 * n ** 2 + + # projected GD loop + for ii in range(MAX_LOOP_ITERS): + w = y - (1/L)*gy + prev_d = d.copy() + d = proj(w) + + # size of step taken + s = d - prev_d + stplen = np.linalg.norm(s) + + # update true gradient + gnew += H.dot(s) + + # update CRVMIN + crv = s.dot(H).dot(s)/sumsq(s) + crvmin = min(crvmin, crv) if crvmin != -1.0 else crv + + # exit condition + if stplen <= ZERO_THRESH: + break + + # momentum update + prev_t = t + t = (1 + np.sqrt(1 + 4 * t ** 2))/2 + prev_y = y.copy() + y = d + s*(prev_t - 1)/t + + # update gradient w.r.t y + gy += H.dot(y - prev_y) + + return d, gnew, crvmin def trsbox(xopt, g, H, sl, su, delta, use_fortran=USE_FORTRAN): @@ -405,8 +485,63 @@ def ball_step(x0, g, Delta): if sqrt(gsqnorm) < ZERO_THRESH: # Error catching: if g=0, make no step return 0.0 else: - return (sqrt(gdotx0**2 + gsqnorm*(Delta**2 - x0sqnorm)) - gdotx0) / gsqnorm + # Sqrt had negative input on prob 46 in OG DFOLS with noise + # print("Inside of the sqrt:", gdotx0**2 + gsqnorm*(Delta**2 - x0sqnorm)) + # Got Inside of the sqrt: -3.608971127647144e-42 + # Added max(0,...) here + return (sqrt(np.maximum(0,gdotx0**2 + gsqnorm*(Delta**2 - x0sqnorm))) - gdotx0) / gsqnorm + +def ctrsbox_linear(xbase, g, projections, Delta, d_max_iters=100, d_tol=1e-10, use_fortran=USE_FORTRAN): + # Solve the convex program: + # min_d g' * d + # s.t. xbase + d is feasible w.r.t. constraint set C + # ||d||^2 <= Delta^2 + + n = g.size + d = np.zeros((n,)) + y = d.copy() + t = 1 + dirn = -g + cons_dirns = [] + + # If g[i] = 0, never step along this direction + constant_directions = np.where(np.abs(dirn) < ZERO_THRESH)[0] + dirn[constant_directions] = 0.0 + + # trust region is a ball of radius delta centered around xbase + trproj = lambda w: pball(w, xbase, Delta) + # combine trust region constraints with user-entered constraints + P = projections.copy() + P.append(trproj) + def proj(d0): + p = dykstra(P, xbase + d0, max_iter=d_max_iters, tol=d_tol) + # we want the step only, so we subtract + # xbase from the new point: proj(xk + d) - xk + return p - xbase + + MAX_LOOP_ITERS = 100 * n ** 2 + + # projected GD loop + for ii in range(MAX_LOOP_ITERS): + w = y + dirn + prev_d = d.copy() + d = proj(w) + + s = d - prev_d + stplen = np.linalg.norm(s) + + # exit condition + if stplen <= ZERO_THRESH: + break + + # 'momentum' update + prev_t = t + t = (1 + np.sqrt(1 + 4 * t ** 2))/2 + prev_y = y.copy() + y = d + s*(prev_t - 1)/t + + return d def trsbox_linear(g, a_in, b_in, Delta, use_fortran=USE_FORTRAN): # Solve the convex program: @@ -466,6 +601,22 @@ def trsbox_linear(g, a_in, b_in, Delta, use_fortran=USE_FORTRAN): dirn[idx_hit] = 0.0 # no more searching this direction return x +def ctrsbox_geometry(xbase, c, g, projections, Delta, d_max_iters=100, d_tol=1e-10, use_fortran=USE_FORTRAN): + # Given a Lagrange polynomial defined by: L(x) = c + g' * (x - xbase) + # Maximise |L(x)| in a box + trust region - that is, solve: + # max_x abs(c + g' * (x - xbase)) + # s.t. x is feasible w.r.t constraint set C + # ||x-xbase|| <= Delta + # Setting s = x-xbase (or x = xbase + s), this is equivalent to: + # max_s abs(c + g' * s) + # s.t. xbase + s is is feasible w.r.t constraint set C + # ||s|| <= Delta + smin = ctrsbox_linear(xbase, g, projections, Delta, d_max_iters=100, d_tol=1e-10, use_fortran=use_fortran) # minimise g' * s + smax = ctrsbox_linear(xbase, -g, projections, Delta, d_max_iters=100, d_tol=1e-10, use_fortran=use_fortran) # maximise g' * s + if abs(c + np.dot(g, smin)) >= abs(c + np.dot(g, smax)): # choose the one with largest absolute value + return smin + else: + return smax def trsbox_geometry(xbase, c, g, lower, upper, Delta, use_fortran=USE_FORTRAN): # Given a Lagrange polynomial defined by: L(x) = c + g' * (x - xbase) diff --git a/dfols/util.py b/dfols/util.py index 6107e09..154e041 100644 --- a/dfols/util.py +++ b/dfols/util.py @@ -27,11 +27,14 @@ import logging import numpy as np +import scipy.linalg as LA import sys +import pdb + __all__ = ['sumsq', 'eval_least_squares_objective', 'model_value', 'random_orthog_directions_within_bounds', - 'random_directions_within_bounds', 'apply_scaling', 'remove_scaling'] + 'random_directions_within_bounds', 'apply_scaling', 'remove_scaling', 'pbox', 'pball', 'dykstra', 'qr_rank'] def sumsq(x): @@ -207,3 +210,51 @@ def remove_scaling(x_scaled, scaling_changes): shift, scale = scaling_changes return shift + x_scaled * scale + +def dykstra(P,x0,max_iter=100,tol=1.0e-10): + x = x0.copy() + p = len(P) + y = np.zeros((p,x0.shape[0])) + + n = 0 + cI = float('inf') + while n < max_iter and cI >= tol: + cI = 0 + for i in range(0,p): + # Update iterate + prev_x = x.copy() + x = P[i](prev_x - y[i,:]) + + # Update increment + # pdb.set_trace() + prev_y = y[i,:].copy() + y[i,:] = x - (prev_x - prev_y) + + # Stop condition + cI += np.linalg.norm(prev_y - y[i,:])**2 + + n += 1 + + return x + + +def pball(x,c,r): + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) + + +def pbox(x,l,u): + return np.minimum(np.maximum(x,l), u) + +''' +Calculates rank of square matrix with QR. +We use the fact that the rank of a square matrix A +can be given by the number of nonzero diagonal elements of +R in the QR factorization of A. +''' +def qr_rank(A,tol=1e-25): + m,n = A.shape + assert m == n, "Input matrix must be square" + Q,R = LA.qr(A) + D = np.abs(np.diag(R)) + rank = np.sum(D > tol) + return rank, D diff --git a/dfols/version.py b/dfols/version.py index 94b452c..dc26bd5 100644 --- a/dfols/version.py +++ b/dfols/version.py @@ -22,4 +22,4 @@ """ -__version__ = '1.2.3' +__version__ = '1.3.0' From d32b9523e6fd40168707993ae317b402121527cb Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Mon, 11 Oct 2021 17:04:58 -0400 Subject: [PATCH 02/11] Change error message to be more suitable --- dfols/solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dfols/solver.py b/dfols/solver.py index cb487ef..0c7ee60 100644 --- a/dfols/solver.py +++ b/dfols/solver.py @@ -871,7 +871,7 @@ def solve(objfun, x0, args=(), bounds=None, projections=[], npt=None, rhobeg=Non if projections and scaling_within_bounds: scaling_within_bounds = False - warnings.warn("Ignoring scaling_within_bounds=True for black-box constrained problem", RuntimeWarning) + warnings.warn("Ignoring scaling_within_bounds=True for problem with arbitrary constraints", RuntimeWarning) if xl is None: xl = -1e20 * np.ones((n,)) # unconstrained From 0990ef7b9c3f039ba896ae04f0c102e107394659 Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Tue, 12 Oct 2021 15:38:28 -0400 Subject: [PATCH 03/11] Add tests for TR subproblem. Make curvature calc more robust. --- dfols/tests/test_trust_region.py | 354 ++++++++++--------------------- dfols/trust_region.py | 2 +- 2 files changed, 112 insertions(+), 244 deletions(-) diff --git a/dfols/tests/test_trust_region.py b/dfols/tests/test_trust_region.py index 840d1f1..d2dd2fd 100644 --- a/dfols/tests/test_trust_region.py +++ b/dfols/tests/test_trust_region.py @@ -30,6 +30,8 @@ from dfols.trust_region import ctrsbox, ctrsbox_geometry, trsbox, trsbox_geometry from dfols.util import model_value +import pdb + def cauchy_pt(g, H, delta): # General expression for the Cauchy point @@ -73,167 +75,8 @@ def cauchy_pt_box(g, H, delta, lower, upper): def p_box(x,l,u): return np.minimum(np.maximum(x,l), u) -class TestUncInternalCDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([1.0, 0.0, 1.0]) - H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) - Delta = 2.0 - xopt = np.ones((n,)) # trying nonzero (since bounds inactive) - sl = -1e20 * np.ones((n,)) - su = 1e20 * np.ones((n,)) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([-1.0, 0.0, -0.5]) - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer for internal minimum? - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') - print(crvmin) - self.assertAlmostEqual(crvmin, 1.2, 'Wrong crvmin') - -class TestUncBdryCDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([1.0, 0.0, 1.0]) - H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) - Delta = 5.0 / 12.0 - xopt = np.zeros((n,)) - sl = -1e20 * np.ones((n,)) - su = 1e20 * np.ones((n,)) - pbox = lambda x: p_box(x,sl,su) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') - self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') - -class TestUncBdry2CDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([1.0, 0.0, 1.0]) - H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) - Delta = 5.0 / 12.0 - xopt = np.zeros((n,)) - sl = -1e20 * np.ones((n,)) - su = 1e20 * np.ones((n,)) - pbox = lambda x: p_box(x,sl,su) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.allclose(gnew, g + H.dot(d)), 'Wrong gnew') - self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') - -class TestUncBdry3CDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([0.0, 0.0, 1.0]) - H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) - Delta = 0.5 - xopt = np.zeros((n,)) - sl = -1e20 * np.ones((n,)) - su = 1e20 * np.ones((n,)) - pbox = lambda x: p_box(x,sl,su) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([0.0, 0.0, -0.5]) - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') - self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') - # self.assertAlmostEqual(crvmin, crvmin_cauchy, 'Wrong crvmin') - -class TestUncHardCDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([0.0, 0.0, 1.0]) - H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) - Delta = sqrt(2.0) - xopt = np.zeros((n,)) - sl = -1e20 * np.ones((n,)) - su = 1e20 * np.ones((n,)) - pbox = lambda x: p_box(x,sl,su) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([1.0, 0.0, -1.0]) # non-unique solution - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt(g, H, Delta) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') - self.assertAlmostEqual(crvmin, 0.0, 'Wrong crvmin') - -class TestConInternalCDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([1.0, 0.0, 1.0]) - H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) - Delta = 2.0 - xopt = np.ones((n,)) # trying nonzero (since bounds inactive) - sl = xopt + np.array([-0.5, -10.0, -10.0]) - su = xopt + np.array([10.0, 10.0, 10.0]) - pbox = lambda x: p_box(x,sl,su) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([-1.0, 0.0, -0.5]) - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer for internal minimum? - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt_box(g, H, Delta, sl-xopt, su-xopt) - # print(s_cauchy) - # print(d) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') - print(crvmin) - self.assertAlmostEqual(crvmin, -1.0, 'Wrong crvmin') - - -# Notes: Gets correct min and gnew. Incorrect crvmin (1.0999999999999999). -class TestConBdryCDFO(unittest.TestCase): - def runTest(self): - n = 3 - g = np.array([1.0, 0.0, 1.0]) - H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) - Delta = 5.0 / 12.0 - xopt = np.zeros((n,)) - sl = xopt + np.array([-0.3, -0.01, -0.1]) - su = xopt + np.array([10.0, 1.0, 10.0]) - pbox = lambda x: p_box(x,sl,su) - d, gnew, crvmin = ctrsbox(xopt, g, H, sl, su, [], Delta) - true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) - est_min = model_value(g, H, d) - true_min = model_value(g, H, true_d) - # Hope to get actual correct answer - # self.assertTrue(np.all(d == true_d), 'Wrong answer') - # self.assertAlmostEqual(est_min, true_min, 'Wrong min value') - s_cauchy, red_cauchy, crvmin_cauchy = cauchy_pt_box(g, H, Delta, sl - xopt, su - xopt) - self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') - self.assertTrue(np.max(np.abs(gnew - g - H.dot(d))) < 1e-10, 'Wrong gnew') - print(crvmin) - self.assertAlmostEqual(crvmin, -1.0, 'Wrong crvmin') - # self.assertAlmostEqual(crvmin, crvmin_cauchy, 'Wrong crvmin') +def p_ball(x,c,r): + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) class TestUncInternal(unittest.TestCase): @@ -507,108 +350,133 @@ def runTest(self): self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') -class TestGeomCDFO(unittest.TestCase): - def runTest(self): - xbase = np.array([0.0, 0.0]) - g = np.array([1.0, -1.0]) - a = np.array([-2.0, -2.0]) - b = np.array([1.0, 2.0]) - delta = 2.0 - c = -1.0 - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([-sqrt(2.0), sqrt(2.0)]) - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') - - -class TestGeom2CDFO(unittest.TestCase): - def runTest(self): - xbase = np.array([0.0, 0.0]) - g = np.array([1.0, -1.0]) - a = np.array([-2.0, -2.0]) - b = np.array([1.0, 2.0]) - delta = 5.0 - c = -1.0 - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([-2.0, 2.0]) - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') - - +# DFO-LS with arbitrary constraints class TestGeom3CDFO(unittest.TestCase): def runTest(self): xbase = np.array([0.0, 0.0]) + 1 g = np.array([1.0, -1.0]) a = np.array([-2.0, -2.0]) + 1 b = np.array([1.0, 2.0]) + 1 + proj = lambda x: p_box(x,a,b) delta = 5.0 c = 3.0 # may want to max instead - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([1.0, -2.0]) + 1 + x = ctrsbox_geometry(xbase, c, g, [proj], delta) + xtrue = np.array([1.0, -2.0]) self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') +class TestUncInternalCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 2.0 + xopt = np.ones((n,)) # trying nonzero (since bounds inactive) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [], Delta) + true_d = np.array([-1.0, 0.0, -0.5]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + s_cauchy, red_cauchy, _crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') -class TestGeomOldBugCDFO(unittest.TestCase): +class TestUncBdryCDFO(unittest.TestCase): def runTest(self): - xbase = np.array([0.0, 0.0]) - g = np.array([-1.0, -1.0]) - a = np.array([-2.0, -2.0]) - b = np.array([0.1, 0.9]) - delta = sqrt(2.0) - c = -1.0 # may want to max instead - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = b - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') - # self.assertFalse(True, "bad") + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 5.0 / 12.0 + xopt = np.zeros((n,)) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [], Delta) + true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + s_cauchy, red_cauchy, _crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.allclose(gnew, g + H.dot(d)), 'Wrong gnew') -class TestGeomOldBug2CDFO(unittest.TestCase): +class TestUncHardCDFO(unittest.TestCase): def runTest(self): - xbase = np.array([0.0, 0.0, 0.0]) - g = np.array([-1.0, -1.0, -1.0]) - a = np.array([-2.0, -2.0, -2.0]) - b = np.array([0.9, 0.1, 5.0]) - delta = sqrt(3.0) - c = -1.0 # may want to max instead - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([0.9, 0.1, sqrt(3.0 - 0.81 - 0.01)]) - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') - # self.assertFalse(True, "bad") + n = 3 + g = np.array([0.0, 0.0, 1.0]) + H = np.array([[-2.0, 0.0, 0.0], [0.0, -1.0, 0.0], [0.0, 0.0, -1.0]]) + Delta = sqrt(2.0) + xopt = np.zeros((n,)) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [], Delta) + true_d = np.array([1.0, 0.0, -1.0]) # non-unique solution + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + s_cauchy, red_cauchy, _crvmin_cauchy = cauchy_pt(g, H, Delta) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.allclose(gnew, g + H.dot(d)), 'Wrong gnew') -class TestGeom2WithZerosCDFO(unittest.TestCase): +class TestConInternalCDFO(unittest.TestCase): def runTest(self): - xbase = np.array([0.0, 0.0]) - g = np.array([0.0, -1.0]) - a = np.array([-2.0, -2.0]) - b = np.array([1.0, 2.0]) - delta = 5.0 - c = 0.0 - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([0.0, 2.0]) - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 2.0 + xopt = np.ones((n,)) # trying nonzero (since bounds inactive) + sl = xopt + np.array([-0.5, -10.0, -10.0]) + su = xopt + np.array([10.0, 10.0, 10.0]) + proj = lambda x: p_box(x,sl,su) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [proj], Delta) + true_d = np.array([-1.0, 0.0, -0.5]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + s_cauchy, red_cauchy, _crvmin_cauchy = cauchy_pt_box(g, H, Delta, sl-xopt, su-xopt) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.all(gnew == g + H.dot(d)), 'Wrong gnew') +class TestConBdryCDFO(unittest.TestCase): + def runTest(self): + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 5.0 / 12.0 + xopt = np.zeros((n,)) + sl = xopt + np.array([-0.3, -0.01, -0.1]) + su = xopt + np.array([10.0, 1.0, 10.0]) + proj = lambda x: p_box(x,sl,su) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [proj], Delta) + true_d = np.array([-1.0 / 3.0, 0.0, -0.25]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + s_cauchy, red_cauchy, _crvmin_cauchy = cauchy_pt_box(g, H, Delta, sl - xopt, su - xopt) + self.assertTrue(est_min <= red_cauchy, 'Cauchy reduction not achieved') + self.assertTrue(np.max(np.abs(gnew - g - H.dot(d))) < 1e-10, 'Wrong gnew') -class TestGeom2WithAlmostZerosCDFO(unittest.TestCase): +class TestBoxBallInternalCDFO(unittest.TestCase): def runTest(self): - xbase = np.array([0.0, 0.0]) - g = np.array([1e-15, -1.0]) - a = np.array([-2.0, -2.0]) - b = np.array([1.0, 2.0]) - delta = 5.0 - c = 0.0 - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([0.0, 2.0]) - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 2.0 + xopt = np.ones((n,)) # trying nonzero (since bounds inactive) + sl = xopt + np.array([-0.5, -10.0, -10.0]) + su = xopt + np.array([10.0, 10.0, 10.0]) + boxproj = lambda x: p_box(x,sl,su) + ballproj = lambda x: p_ball(x,xopt,5) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [boxproj,ballproj], Delta) + true_d = np.array([-0.5, 0.0, -0.5]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + self.assertTrue(est_min <= true_min + 1e-3, 'Sufficient decrease not achieved') -class TestGeom2WithAlmostZeros2CDFO(unittest.TestCase): +class TestBoxBallBdryCDFO(unittest.TestCase): def runTest(self): - xbase = np.array([0.0, 0.0]) - g = np.array([1e-15, 0.0]) - a = np.array([-2.0, -2.0]) - b = np.array([1.0, 2.0]) - delta = 5.0 - c = 0.0 - x = ctrsbox_geometry(xbase, c, g, a, b, [], delta) - xtrue = np.array([0.0, 0.0]) - # print(x) - # print(xtrue) - self.assertTrue(np.max(np.abs(x - xtrue)) < 1e-10, 'Wrong step') + n = 3 + g = np.array([1.0, 0.0, 1.0]) + H = np.array([[1.0, 0.0, 0.0], [0.0, 2.0, 0.0], [0.0, 0.0, 2.0]]) + Delta = 5.0 / 12.0 + xopt = np.zeros((n,)) + sl = xopt + np.array([-0.3, -0.01, -0.1]) + su = xopt + np.array([10.0, 1.0, 10.0]) + boxproj = lambda x: p_box(x,sl,su) + ballproj = lambda x: p_ball(x,xopt,0.25) + d, gnew, _crvmin = ctrsbox(xopt, g, H, [boxproj,ballproj], Delta) + true_d = np.array([-0.22913085, 0.0, -0.09999527]) + est_min = model_value(g, H, d) + true_min = model_value(g, H, true_d) + self.assertTrue(est_min <= true_min + 1e-3, 'Sufficient decrease not achieved') diff --git a/dfols/trust_region.py b/dfols/trust_region.py index 8b0a21d..74ce269 100644 --- a/dfols/trust_region.py +++ b/dfols/trust_region.py @@ -133,7 +133,7 @@ def proj(d0): gnew += H.dot(s) # update CRVMIN - crv = s.dot(H).dot(s)/sumsq(s) + crv = s.dot(H).dot(s)/sumsq(s) if sumsq(s) >= ZERO_THRESH else crvmin crvmin = min(crvmin, crv) if crvmin != -1.0 else crv # exit condition From 3ba2e3f965f6c5752912abfe962f1ca32e5cb614 Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Tue, 12 Oct 2021 16:03:28 -0400 Subject: [PATCH 04/11] Add tests for solver and remove pdb in TR tests --- dfols/tests/test_solver.py | 25 +++++++++++++++++++++++++ dfols/tests/test_trust_region.py | 2 -- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/dfols/tests/test_solver.py b/dfols/tests/test_solver.py index 9c43445..b0601ad 100644 --- a/dfols/tests/test_solver.py +++ b/dfols/tests/test_solver.py @@ -41,6 +41,13 @@ def rosenbrock_jacobian(x): return np.array([[-20.0*x[0], 10.0], [-1.0, 0.0]]) +def p_box(x,l,u): + return np.minimum(np.maximum(x,l), u) + +def p_ball(x,c,r): + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) + + class TestNans(unittest.TestCase): # Generic objective that only returns NaNs (like optclim code) # Verify get a sensible termination @@ -185,3 +192,21 @@ def runTest(self): self.assertTrue(array_compare(soln.jacobian, jac(soln.x), thresh=1e-1), "Wrong Jacobian") self.assertTrue(abs(soln.f) < 1e-10, "Wrong fmin") + +class TestRosenbrockBoxBall(unittest.TestCase): + # Minimise the (2d) Rosenbrock function, where x[1] hits the upper bound + def runTest(self): + # n, m = 2, 2 + x0 = np.array([-1.2, 0.7]) # standard start point does not satisfy bounds + lower = np.array([0.7, -2.0]) + upper = np.array([1.0, 2]) + boxproj = lambda x: p_box(x,lower,upper) + ballproj = lambda x: p_ball(x,np.array([0.5,1]),0.25) + xmin = np.array([0.70424386, 0.85583188]) # approximate + fmin = np.dot(rosenbrock(xmin), rosenbrock(xmin)) + soln = dfols.solve(rosenbrock, x0, projections=[boxproj,ballproj]) + print(soln.x) + self.assertTrue(array_compare(soln.x, xmin, thresh=1e-2), "Wrong xmin") + self.assertTrue(array_compare(soln.resid, rosenbrock(soln.x), thresh=1e-10), "Wrong resid") + self.assertTrue(array_compare(soln.jacobian, rosenbrock_jacobian(soln.x), thresh=1e-2), "Wrong Jacobian") + self.assertTrue(abs(soln.f - fmin) < 1e-4, "Wrong fmin") diff --git a/dfols/tests/test_trust_region.py b/dfols/tests/test_trust_region.py index d2dd2fd..b9561c6 100644 --- a/dfols/tests/test_trust_region.py +++ b/dfols/tests/test_trust_region.py @@ -30,8 +30,6 @@ from dfols.trust_region import ctrsbox, ctrsbox_geometry, trsbox, trsbox_geometry from dfols.util import model_value -import pdb - def cauchy_pt(g, H, delta): # General expression for the Cauchy point From 58104c7bf9bfeef278051f1cf70dcdc7f83658c8 Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Tue, 12 Oct 2021 17:16:25 -0400 Subject: [PATCH 05/11] Add more util tests and remove more pdb --- dfols/params.py | 2 +- dfols/tests/test_util.py | 133 ++++++++++++++++++++++++++++++++++++++- dfols/util.py | 7 +-- 3 files changed, 135 insertions(+), 7 deletions(-) diff --git a/dfols/params.py b/dfols/params.py index e168c01..6d36e2e 100644 --- a/dfols/params.py +++ b/dfols/params.py @@ -113,7 +113,7 @@ def __init__(self, n, npt, maxfun, objfun_has_noise=False): self.params["dykstra.d_tol"] = 1e-10 self.params["dykstra.max_iters"] = 100 # Matrix rank algorithm - self.params["matrix_rank.r_tol"] = 1e-16 + self.params["matrix_rank.r_tol"] = 1e-15 self.params_changed = {} for p in self.params: diff --git a/dfols/tests/test_util.py b/dfols/tests/test_util.py index f497904..57ecfab 100644 --- a/dfols/tests/test_util.py +++ b/dfols/tests/test_util.py @@ -165,4 +165,135 @@ def runTest(self): self.assertTrue(np.linalg.norm(dirns[i, :]) <= delta + 1e-10, "Unconstrained: dirn %i too long" % i) self.assertTrue(np.all(dirns[i, :] >= lower), "Direction %i below lower bound" % i) self.assertTrue(np.all(dirns[i, :] <= upper), "Direction %i above upper bound" % i) - # self.assertTrue(False, "bad") \ No newline at end of file + # self.assertTrue(False, "bad") + +# Trivial case of full rank +class TestMatrixRankQR1(unittest.TestCase): + def runTest(self): + mr_tol = 1e-15 + A = np.array([ + [1,0,0,0], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1]]) + rank, D = qr_rank(A,mr_tol) + self.assertTrue(np.all(D > mr_tol), "Incorrect diagonal matrix output") + self.assertTrue(rank == 4, "Incorrect rank output") + +# Full rank but QR has negative entries for diag(R) +class TestMatrixRankQR2(unittest.TestCase): + def runTest(self): + mr_tol = 1e-15 + A = np.array([ + [1,2,3,4], + [0,6,7,8], + [-1,-2,-2,-1], + [4,2,2,1]]) + rank, D = qr_rank(A,mr_tol) + self.assertTrue(np.all(D > mr_tol), "Incorrect diagonal matrix output") + self.assertTrue(rank == 4, "Incorrect rank output") + + +# Full rank but QR has negative entries for diag(R) +class TestMatrixRankQR3(unittest.TestCase): + def runTest(self): + mr_tol = 1e-15 + A = np.array([ + [1,2,3,4], + [2,6,4,8], + [-1,-2,-3,-4], + [1,3,2,4]]) + rank, D = qr_rank(A,mr_tol) + self.assertTrue(np.all(D[0:2] > mr_tol), "Incorrect diagonal matrix output (rows 1,2)") + self.assertTrue(np.all(D[2:4] <= mr_tol), "Incorrect diagonal matrix output (rows 3,4)") + self.assertTrue(rank == 2, "Incorrect rank output") + + +class TestDykstraBoxInt(unittest.TestCase): + def runTest(self): + x0 = np.array([0,0]) + lower = np.array([-0.01, -0.1]) + upper = np.array([0.01, 0.5]) + boxproj = lambda x: pbox(x,lower,upper) + P = [boxproj] + xproj = dykstra(P,x0) + self.assertTrue(np.all(xproj == x0), "Incorrect point returned by Dykstra") + + +class TestDykstraBoxExt(unittest.TestCase): + def runTest(self): + x0 = np.array([-2,5]) + lower = np.array([-1, -1]) + upper = np.array([0.5, 0.9]) + boxproj = lambda x: pbox(x,lower,upper) + P = [boxproj] + xproj = dykstra(P,x0) + xtrue = np.array([-1,0.9]) + self.assertTrue(np.allclose(xproj, xtrue), "Incorrect point returned by Dykstra") + +class TestDykstraBallInt(unittest.TestCase): + def runTest(self): + x0 = np.array([0,0]) + ballproj = lambda x: pball(x,x0+1,2) + P = [ballproj] + xproj = dykstra(P,x0) + self.assertTrue(np.all(xproj == x0), "Incorrect point returned by Dykstra") + + +class TestDykstraBallExt(unittest.TestCase): + def runTest(self): + x0 = np.array([-3,5]) + ballproj = lambda x: pball(x,np.array([-0.5,1]),1) + P = [ballproj] + xproj = dykstra(P,x0) + xtrue = np.array([-1.02999894, 1.8479983]) + self.assertTrue(np.allclose(xproj, xtrue), "Incorrect point returned by Dykstra") + + +class TestDykstraBoxBallInt(unittest.TestCase): + def runTest(self): + x0 = np.array([0.72,1.1]) + lower = np.array([0.7, -2.0]) + upper = np.array([1.0, 2]) + boxproj = lambda x: pbox(x,lower,upper) + ballproj = lambda x: pball(x,np.array([0.5,1]),0.25) + P = [boxproj,ballproj] + xproj = dykstra(P,x0) + self.assertTrue(np.all(xproj == x0), "Incorrect point returned by Dykstra") + +class TestDykstraBoxBallExt1(unittest.TestCase): + def runTest(self): + x0 = np.array([0,4]) + lower = np.array([0.7, -2.0]) + upper = np.array([1.0, 2]) + boxproj = lambda x: pbox(x,lower,upper) + ballproj = lambda x: pball(x,np.array([0.5,1]),0.25) + P = [boxproj,ballproj] + xproj = dykstra(P,x0) + xtrue = np.array([0.6940582, 1.1576116]) + self.assertTrue(np.allclose(xproj, xtrue), "Incorrect point returned by Dykstra") + + +class TestDykstraBoxBallExt2(unittest.TestCase): + def runTest(self): + x0 = np.array([0.8,-3]) + lower = np.array([0.7, -2.0]) + upper = np.array([1.0, 2]) + boxproj = lambda x: pbox(x,lower,upper) + ballproj = lambda x: pball(x,np.array([0.5,1]),0.25) + P = [boxproj,ballproj] + xproj = dykstra(P,x0) + xtrue = np.array([0.68976232, 0.8372417]) + self.assertTrue(np.allclose(xproj, xtrue), "Incorrect point returned by Dykstra") + + +class TestDykstraBoxBallBdry(unittest.TestCase): + def runTest(self): + x0 = np.array([0.7,0.85]) + lower = np.array([0.7, -2.0]) + upper = np.array([1.0, 2]) + boxproj = lambda x: pbox(x,lower,upper) + ballproj = lambda x: pball(x,np.array([0.5,1]),0.25) + P = [boxproj,ballproj] + xproj = dykstra(P,x0) + self.assertTrue(np.allclose(xproj, x0), "Incorrect point returned by Dykstra") diff --git a/dfols/util.py b/dfols/util.py index 154e041..02c9884 100644 --- a/dfols/util.py +++ b/dfols/util.py @@ -30,8 +30,6 @@ import scipy.linalg as LA import sys -import pdb - __all__ = ['sumsq', 'eval_least_squares_objective', 'model_value', 'random_orthog_directions_within_bounds', 'random_directions_within_bounds', 'apply_scaling', 'remove_scaling', 'pbox', 'pball', 'dykstra', 'qr_rank'] @@ -211,7 +209,7 @@ def remove_scaling(x_scaled, scaling_changes): return shift + x_scaled * scale -def dykstra(P,x0,max_iter=100,tol=1.0e-10): +def dykstra(P,x0,max_iter=100,tol=1e-10): x = x0.copy() p = len(P) y = np.zeros((p,x0.shape[0])) @@ -226,7 +224,6 @@ def dykstra(P,x0,max_iter=100,tol=1.0e-10): x = P[i](prev_x - y[i,:]) # Update increment - # pdb.set_trace() prev_y = y[i,:].copy() y[i,:] = x - (prev_x - prev_y) @@ -251,7 +248,7 @@ def pbox(x,l,u): can be given by the number of nonzero diagonal elements of R in the QR factorization of A. ''' -def qr_rank(A,tol=1e-25): +def qr_rank(A,tol=1e-15): m,n = A.shape assert m == n, "Input matrix must be square" Q,R = LA.qr(A) From 4bf0d53c1cbc628d0cab485306ca025c2e7e420c Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Sat, 16 Oct 2021 21:55:14 -0400 Subject: [PATCH 06/11] Add constrained example --- examples/rosenbrock_constrained.py | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 examples/rosenbrock_constrained.py diff --git a/examples/rosenbrock_constrained.py b/examples/rosenbrock_constrained.py new file mode 100644 index 0000000..eeac7bf --- /dev/null +++ b/examples/rosenbrock_constrained.py @@ -0,0 +1,31 @@ +# DFO-LS example: minimize the Rosenbrock function with arbitrary convex constraints +from __future__ import print_function +import numpy as np +import dfols + +# Define the objective function +def rosenbrock(x): + return np.array([10.0 * (x[1] - x[0] ** 2), 1.0 - x[0]]) + +# Define the starting point +x0 = np.array([-1.2, 1]) + +def pball(x): + c = np.array([0.7,1.5]) # ball centre + r = 0.4 # ball radius + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) + +def pbox(x): + l = np.array([-2, 1.1]) # lower bound + u = np.array([0.9, 3]) # upper bound + return np.minimum(np.maximum(x,l), u) + +# For optional extra output details +import logging +logging.basicConfig(level=logging.DEBUG, format='%(message)s') + +# Call DFO-LS +soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) + +# Display output +print(soln) From 30ee963ae6f04f1f23afdcd9336910cbef6a7084 Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Sat, 16 Oct 2021 23:24:34 -0400 Subject: [PATCH 07/11] Add examples and update docs --- dfols/params.py | 2 +- dfols/tests/test_util.py | 12 +- docs/advanced.rst | 9 + docs/build/doctrees/advanced.doctree | Bin 84560 -> 87990 bytes docs/build/doctrees/diagnostic.doctree | Bin 22026 -> 22021 bytes docs/build/doctrees/environment.pickle | Bin 34653 -> 36240 bytes docs/build/doctrees/history.doctree | Bin 15063 -> 15890 bytes docs/build/doctrees/index.doctree | Bin 13924 -> 14340 bytes docs/build/doctrees/info.doctree | Bin 34483 -> 34775 bytes docs/build/doctrees/install.doctree | Bin 17426 -> 17421 bytes docs/build/doctrees/userguide.doctree | Bin 86188 -> 91374 bytes docs/build/html/.buildinfo | 2 +- docs/build/html/_sources/advanced.rst.txt | 9 + docs/build/html/_sources/history.rst.txt | 4 + docs/build/html/_sources/index.rst.txt | 6 +- docs/build/html/_sources/info.rst.txt | 5 +- docs/build/html/_sources/userguide.rst.txt | 45 +- .../html/_static/documentation_options.js | 2 +- docs/build/html/_static/pygments.css | 6 +- docs/build/html/advanced.html | 21 +- docs/build/html/diagnostic.html | 4 +- docs/build/html/genindex.html | 4 +- docs/build/html/history.html | 11 +- docs/build/html/index.html | 19 +- docs/build/html/info.html | 13 +- docs/build/html/install.html | 4 +- docs/build/html/objects.inv | Bin 401 -> 399 bytes docs/build/html/search.html | 4 +- docs/build/html/searchindex.js | 2 +- docs/build/html/userguide.html | 52 +- docs/build/latex/DFOLS.aux | 199 +-- docs/build/latex/DFOLS.fdb_latexmk | 365 ++--- docs/build/latex/DFOLS.fls | 888 ++++++++++- docs/build/latex/DFOLS.log | 1386 ++++++----------- docs/build/latex/DFOLS.out | 43 +- docs/build/latex/DFOLS.pdf | Bin 302355 -> 321015 bytes docs/build/latex/DFOLS.tex | 104 +- docs/build/latex/DFOLS.toc | 109 +- docs/build/latex/sphinxhighlight.sty | 134 +- docs/history.rst | 4 + docs/index.rst | 6 +- docs/info.rst | 5 +- docs/userguide.rst | 45 +- examples/rosenbrock_constrained.py | 3 +- manual.pdf | Bin 302355 -> 321015 bytes 45 files changed, 2029 insertions(+), 1498 deletions(-) mode change 100644 => 100755 manual.pdf diff --git a/dfols/params.py b/dfols/params.py index 6d36e2e..af7b93c 100644 --- a/dfols/params.py +++ b/dfols/params.py @@ -113,7 +113,7 @@ def __init__(self, n, npt, maxfun, objfun_has_noise=False): self.params["dykstra.d_tol"] = 1e-10 self.params["dykstra.max_iters"] = 100 # Matrix rank algorithm - self.params["matrix_rank.r_tol"] = 1e-15 + self.params["matrix_rank.r_tol"] = 1e-18 self.params_changed = {} for p in self.params: diff --git a/dfols/tests/test_util.py b/dfols/tests/test_util.py index 57ecfab..51c1b30 100644 --- a/dfols/tests/test_util.py +++ b/dfols/tests/test_util.py @@ -170,7 +170,7 @@ def runTest(self): # Trivial case of full rank class TestMatrixRankQR1(unittest.TestCase): def runTest(self): - mr_tol = 1e-15 + mr_tol = 1e-18 A = np.array([ [1,0,0,0], [0,1,0,0], @@ -183,7 +183,7 @@ def runTest(self): # Full rank but QR has negative entries for diag(R) class TestMatrixRankQR2(unittest.TestCase): def runTest(self): - mr_tol = 1e-15 + mr_tol = 1e-18 A = np.array([ [1,2,3,4], [0,6,7,8], @@ -194,15 +194,15 @@ def runTest(self): self.assertTrue(rank == 4, "Incorrect rank output") -# Full rank but QR has negative entries for diag(R) +# Not full rank class TestMatrixRankQR3(unittest.TestCase): def runTest(self): - mr_tol = 1e-15 + mr_tol = 1e-18 A = np.array([ [1,2,3,4], [2,6,4,8], - [-1,-2,-3,-4], - [1,3,2,4]]) + [0,0,0,0], + [0,0,0,0]]) rank, D = qr_rank(A,mr_tol) self.assertTrue(np.all(D[0:2] > mr_tol), "Incorrect diagonal matrix output (rows 1,2)") self.assertTrue(np.all(D[2:4] <= mr_tol), "Incorrect diagonal matrix output (rows 3,4)") diff --git a/docs/advanced.rst b/docs/advanced.rst index 6073888..1303bee 100644 --- a/docs/advanced.rst +++ b/docs/advanced.rst @@ -103,6 +103,15 @@ Dynamically Growing Initial Set * :code:`growing.gamma_dec` - Trust region decrease parameter during the growing phase. Default is :code:`tr_radius.gamma_dec`. * :code:`growing.num_new_dirns_each_iter` - Number of new search directions to add with each iteration where we do not have a full set of search directions. Default is 0, as this approach is not recommended. +Dykstra's Algorithm +------------------------------- +* :code:`dykstra.d_tol` - Tolerance on the stopping conditions of Dykstra's algorithm. Default is :math:`10^{-10}`. +* :code:`dykstra.max_iters` - The maximum number of iterations Dykstra's algorithm is allowed to take before stopping. Default is :math:`100`. + +Checking Matrix Rank +------------------------------- +* :code:`matrix_rank.r_tol` - Tolerance on what is the smallest posisble diagonal entry value in the QR factorization before being considered zero. Default is :math:`10^{-18}`. + References ---------- diff --git a/docs/build/doctrees/advanced.doctree b/docs/build/doctrees/advanced.doctree index 06e76532206209b518671891b475b7936fe12fd7..678b5b6375c382c4c7a6c1688cab38fbf7044451 100755 GIT binary patch delta 2877 zcmc&$U2GIp6y^-w)~%qB(wXfK?FA*!;aFPdl~dd|$w?$Xu}9?(AA zxp&XpbH4NQeVuPC--lOyWv6@>;96Nb)Ng8))s)nl5)GqukEUiK>S$|JjY+MsxO%-0 zuG}}@I$rL-FmrT?^Jn&Ku0H>3!v_c9&sMl;?+d}rIUx)?%AT*k}LWwxjI*!x7|B+sl;jOLQU&Tjk98O(Ti^PJPktGcrYBY!#=3$f0tjfgaB=j zwWib71U`Ma>P6#vxR*Zw$9moJuFW&ZwaRodSAucr4I+ z;L*Kc{R=)?*d8e^W|Ia>=*&Wtv%KB29%?s+L&vBt69ZnRPk6r+la$Nx!pFRQZ8k-A*miCc-8r zlj?{RV}{BMaY$kjDXwb8UQ;J|2$`J?Re{`p5-EJ9>S)csMA8dYTj|Y*m#$tcUv3d2 zmhGN1CzW@+IZ2q8Z`JHvSfK}p;bAp0SyvqllB>fDU6oG6!yF;877WcD-kcU{*Mvi% zLgGvDP)yaCl;3&t-0>#vPJUAG5=}}9Q@&l8l)EQ(y-c%nmY4|g(riSMR}&E%`>b45 zzL-HhSQubSl-HnwJX2yW&Bi=E-hcw~_IN|rs@<{_9U@&gC>mN~l=X_~A#b`DHx}ru ztQQbZt+GxqX9hzn*3t>l$#rtGTz?>g0#$AP{Utw%B8i^+QI3XMv_%DKL>3*cIYO1f zsg`tuWmG+(N0JhYCB#8BEhd?iHncHzTuf#qmT+aQr>hU>VD_qLo|{3pr$J&+ z3AGD$=GqzA9d2ic+xC$*X!5`6a`d#z(UTim{_VOp4b zXAArY+^jHn_C?45_rCkm>aB3Wf5m+XZ69rgb-+Hwb5?FrKEr3OQj_9HIsEvDSqA{K zn-wl@gL?F2H*AA5+--8S*8hX&!~T979P!VRi->Ynus3aoDED(ATE#NuH?%3AkZ)#x z-43kUqF@CO&c)9K`~G%NH~&R`@=%oT@Q{Z|eY*>qs{;5U zA(+OeTq|!?8Uwbl7uHk+@du?jVDH!q!`+RPQ#~!?w2acSj$T+xOC2rbNV!RduV|^D zV;L^loIfq5Bx5Wi>GVOS1OxU@d!eh1e0Dqjx*cELj-M&V$CPt_Dl0eAjb?NsKPg{T z5cDhiV7T2uLjPb~Bs7pN5*is7$u#X8Bwx^ukSO=Fh!Kf!9d5?r{FF8l)`*7qhh=v&-(&%5{BbKZTs=v+0Ojs-`< z_SzA^U_j1m6*(g(%Sx#%&*!wPE{F9@HLqxuvOJfoEM39N-$EleWwQ?L8O6kd1^+f0 z0uH>Q%;=}XSo-v$p&{_yyT0eA_?Iu?HF^NMs{fXhK>Ls7qZEP7kqF;OR5DhmJQcO4dZ`y8!)!oAquvB;Oe4e`lEa#~1_L7wz%mh)cJYLAzqO z?9y0X7wOd)(rkC{V$keEvuv=jODUD~Qkwl)&*ro_({LsekPoxn)%@LxkscB}pBDRNAr=Mxz04zdR_F41BF#R)$LV?2!Tz)9pQb5FkTAadBt zLe&to>v^SetDuzmc1cj8z9b@E&cA4JYZk9&acWg{fOn0vs=7m6B+S%{B#J|pQk{>s pl$sr-b)Io0vXdrK@CuJuK4Ws?y%cWRnaUF~9*i=k`WgATsrtEzB_;YUMfn9u`4#%f`6;RTDQWqea~Y-m OnM+I3Hg^ZqvjPBPxfHwr delta 63 zcmZo&!`QWkk)?rU>i>-_9*l}s`nh=}`pNpC#i>Qb`Z<|-Df#*?`N^fZsd**E`stY^ Tn==@t{h32U+%~rb)UyHr&z%-d diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 0740510ac7fa914ccc24a531c048c302b294b188..ff76c8c3b763b8e1ecaa39f50624cb97a1f957af 100755 GIT binary patch literal 36240 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 diff --git a/docs/build/doctrees/history.doctree b/docs/build/doctrees/history.doctree index e0c1d81cfcd442ce22cad1306ae563bcdeda9d5b..c8a9010aa79add5e4ab2cec1f902bb2bf2faf423 100755 GIT binary patch delta 621 zcmca!I;n=Wfpsdo-9}bRMj0dhjQreG{oKTo5`CAV{DP$X3jO5#lvMqcwEWHSjK_2t zvnH?B&z#&WCOBDDzhLqT{c^^l%?buWjFXiGWW=PyQj3Z+^Yau8^^Ell6f_LY6#SD* zCf8|8sv_|fj0}tnHK(*rX`E6!MI(bXYdSLnLxxn=ROZS30tNz;Ks?3_<_zf!tqd7& zqshIjvh`6OiFqkGsS0VCd6^}tIh6{ziFuU@iA717B}Iuvl?uuEd1a{;AgUNBkeOFf ztdN3Xu@2x0%Si(NVErTD=n-= z_#bSeRMsly$pu_lxHX9fgFfo3cywF&TxwIs0^Dg5yX0{7JBeKp;b~6uB?FTV? zK*R|UaTG|D_HgDU=BAcZ7Niz~q9*IY!E`p+Hi8a)gx`WANmDD-QsjBgzy2 delta 256 zcmbPKbG?+cfo19$tBtIdjEd&^xp^h}$@-zisYS*5IhlDW`T8#T$)&lec_qdA>6s;) zqZp6rGGwEoI; iig|K}&0!`v7NGSiEK*t0AcoxJ$+l*Ul9Nx_dH?{%uvSz6 diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index c4b2eb245a662a7ad6f86ca75772ff06ff04b509..a87d31bf8267aeadba8b94582694ef8ff316add2 100755 GIT binary patch delta 1699 zcmb_cZD?C%6wZ5lvnJh2leTHIBrdPrntm*6lDaC)AuXwjo3_;XQM6+7aqHW=BsU~C zr75_s^DE9^%iil?IuZA);AgqYu;5UC38MI?AOjVtDE<)!RS;qGoHwcM+V0=}Jonsl z-sd^bIrruMntCy7J#BsCpL>?91ClQsVp>`WrDM7t8q8_gxHcV1Xh|iMoY2hYq&3of zS5Me@$(S>qH#(WMY>o6lf@|_>xFK>k9Zu+4T*=YiaBpPOscj|ZVhR3^yVv~CdQP&A zT8PEMkJ*d65?W?TndV>EN;@Ub@MCprRtdSjSKy&Majay&K%6)!+-L4%wHTQh`hftzmNNBZG5cpEb*AXH+o6v zFyssD0Q-ntIZj|t9(>2`NI|->Lh*)G9%(k@hbmfryZRtRB7Lp-$x1h#aE;1il>1j{(kEK9QdlxrM*Tv%VtKF1q_n{~eDLauv77 z=l2!m)vAtIUfBOAlwRJL;5=E8{{O3vaDT^JRi3%h(Lm%=8$=u5)3r!O%ul;)#5uo> z`CWHb(e42zi7H2NsQ-y{E9gaSei z;R3>WgwGL{0SaY1-blTeRr2`bR+x53C&W0 zxlu(J?`D_TQpI&2S`x0)7zx)47zx*3VI*Atg%P@@YCmAbb_ye5djTV~t$t$e>wAFw E2a~H4tpET3 delta 1352 zcmb7EUrbY180TD01H~#7L1;xhNEuk5m)7Wm^@W5mBZei@s>?L4r8hghE4M&<(UK?> z|5a_4tzUgI>Vqa*qDI|~Vc|iRh4^MB@47v(B|h$9ahhz|&UbDhhZp-XN7P7Kn@Fq4gb`1v1E~>nR5LPZ_47o=iYb4P zhEQNv=|U-2I#cT6j)Ef?5DC!fvftGgWCu(`W1+rKa81j*dEUrJAVovg14mI&3je@h zb=DC}nMNFzoU_%u>O_gxtxa1?&PhTzJlt^1!=mhXQX6Nd?MJLsZkN@%^;M{K<+^7N zbB&o}W7-6Z8gZ6Pof46pmu4x0Wkhu{I+2LRk{TS?H1J`{%%l@>O&097oq?4x|5MBN zpIWQC<8Q<+Uc>J-A?tGOONCH4+v2ry^@j-ENGd9TRQceq%~uGuE;Vc=YOBbZ+{YjA zCqslc>J-m0u`8vAt=Tr7unJ3!CA!PjX>kdn9ux;z`FhJydl*zU9ixMGPrFke#)kU^ z2DMEL?lw6^)8nR$`-n)tGZ^+Ze^D0rp?QQR$^wc$4hKE`qVlCD=gz*zV&1LdF8jRw z3Mq=KUZ&SqiMOF|+knWL+pf6pt|Jzqt~E=G*o&XdLTiMOMO+oAEK8r+8a{Z=J{IZr zwxavzbpngW9jdXBzwg}yhFdER~-D-_r6aRC9J@7iw6RoQ*;2!q^bj!IuDXC zw03>vj@as}FER`ZUDwMT%iLK@D7Q&Ixaa?tgsn(-HF0O(V;Mc8E0bRLWI?f&D^V4}bGcV`m<*dA%lb18{Qh!)#i>lz{rDopb&8Q-c`}rJyWV_yumZa;W o7)jSt7)jUnFp{o+!3bS5-7nC#eFP(EdkQ18t>3hs>=`8g0+CpQ&Hw-a diff --git a/docs/build/doctrees/info.doctree b/docs/build/doctrees/info.doctree index 8f40b31685afa109faa54d8fe7e594b92c847d04..1302d15f3a1035ebf2397664b61b643aac070245 100755 GIT binary patch delta 3503 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 delta 3275 zcmZuzdr(y875CibF1tXGH!KS*%X1gRRRn=3Dsce`vS3jGc`OSoTy9{&1q5F~Qzgs< z$Ck6i)KseV5jCmCxqS?2C&rG`OebTLPLp(O(ubW`jft(M?M$Z8w%_^gu4v3Z-@WJg z`$Ghea(jnteZ8Kp0h@iGbEMzx86L9r z^bX^Ccn3WAU7^L;F)-rkO6?r*3=Ml-z07X)Nx`i?DRzq6qaL>-XnH`x-)b5Ssjk$P zKKIttG4;_A2<6s@uUm0R5JDeb4(e0fVk5v}d{etP%(vgS*SFhek;Eyk5Pedj)QK0& z`N|^QT7bhisBeXnxVJbp^f)se9_e7@+VO5vJVu1fF?(b}JYEa2;uXDF>?03c5}M-I zcZcR-NN6UL=0e|RD@zLtl}ll>ApVWHeu9yje2BzLVKK_9;b%dRzQ8RJeS&nK<9)?k zzTkKV@i*ZI@rB4)@*u$O&_(#GhzvYh97L+wD5q*M;jF=k-l%L6rRYCC?7t$~LgE`S z&(MRYM04b=v0jL(g#`;FkTjCfAtgB&=so;0ZWtP;4e27|A=lzd@gqVl;H6RnI)Zh$ zB*BP%@#&0#sH0%wiQi91KupL8_z}ye6Rc2+7DIhNNx?+&e+d?-RsL#d0A@dDE`(Ul zW}mT$_2C}AmGl~%3!tCHmy*rGSrwhKK9fwfi*OcmQr>0je^NddJ_J0rD-)kc{kHCX zswPopVX0S5H;J8Ol|N(aJGfLU9uR3WC72c3$#YYBTT@^l4#7eI>F6Sny@7(1Z~S~Vlo+(n^py2 zl%x6^2zv-QWHf-X4O??Y@wr9&g;AbWG*cixm3K}5vRcvi1cZVDZF&GL26rsp1Ft-S zmdVi?Z3ck3N6>yrXu3H+8n!PT!-l2%ggLbWYanMd=H!0_A3c&YmlNq+HlzQCO5`>t zBHB3ClLh^tzpom;QVmOaz^8>SNW}i36zpB@(#L7|uEc2gu0)bFzbgewbWu1!8opJU zh%1ZBAQzz`o5`n&Z9&g=G6QyIobPWD=@reBztF&D7GDNV9=jQHR$b(p zbbMlU3c@N&$YzGhcXT~oSP_SVE0*J#)h&J}>zWkIU2S2~;F>eSW)*Z5Prk9NLV#J8 zJRRR$o5DIy~fAXB#;aS|cu81|T ztdcnXc-@dNtJboH*V0in41zuA!5m;$8EUw*T`8@O2i9G4W1+a#-|ZMYzJ3O}nZta? z%en2vnjzheAik+%80jb!t9bru#|984D8Csm)|%iT±`b)_)DQ&)4p@w#w<=EU^3 z?C=`%QODG2MW`>*M4hI*4^1=q1FYUW2^Tqyi@S8%x0!={1EHaMp?_9T$Vi8L3!58o z*}Ek8M~3_*n;U#os4i^$!{Yh2k-!L@=G1C7a#`?%tAPAy;%(r4P+~fY1Yt%k!_#FF zW~tgNn8BZRxm3LYH}&P=fi4SEPP&_tW*%#kHSqm5;JFS1#&z4!=~k)DD4y<62qg0L ztj6+g&Wk0x*HaTPbV)_{yB_+j~p!Wyzu=K;HGg_a@=>UJKc&f_k-rD)}x5 zaaw*I7*oNd2*=x<0NMq#RrUn+=Mj|_0d`vxjPUUOrIc(E% z`s8~j2=91zK^;4)mHHp5nU88|zQ!H#r}1ar!qP2}_bZxV1mP!I_MJ81&qfk;iW+oY zxjJ$SbeEaLuFwa{JEKkzu8>4@pDZDcMWuUT>WmJ)Joy|sR3&DTbSn& zT>fl3Y*7w9+aYAg3}PzW?ez|Lo$QBWpsUx@OBmlqTv7 z5$bSB$@DX7YW2zEcza)Rtj*8!754ORue=;h`_snlOe2@kqGumZSxd{mSfkm2WJ@?3 z=5i=4x7ohSw`jRa%ZIcaX0+u)w5+5ACA8$zLU8g;GF+!6g+wD;MyB*s_3-vV_YnOq z%l2`mb#Q10hn?h*4i4wwP?H?S!66(x{UlF4$~T-T(ykz56bv6y-^u*ERIZAbtl;?>+l&oH8BR~ O(e%6%#&G=k#{UD$W%2+3 diff --git a/docs/build/doctrees/install.doctree b/docs/build/doctrees/install.doctree index 8aab039b0bf5f6a9c6fbc6500fff3dd2cdd9c90b..05b21395c1abbf83b09b14de685c39c740fd4368 100755 GIT binary patch delta 58 zcmbQ#!Pwiu$kM<%m1!f39ixnqenx(7s(x-_Nr}EoQGP*EeuaK=eoCr-N?QKrWX6j& O%%vr1o6YTRvjPAtsT2+X delta 77 zcmeC}V4T#!$kMvl|F@Oc9AdYV6#(k#8(aVY diff --git a/docs/build/doctrees/userguide.doctree b/docs/build/doctrees/userguide.doctree index e30357bbe633f40cc13325ddc462199846110b62..3e3a696378bb3cda5f6991cd0c3813aa9ce9cd25 100755 GIT binary patch delta 9467 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 OTy&B+AT>>avHuHn-WvV@ delta 6260 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 diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 3bc5cd9..987e588 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: 7851303ebe6ed71f013a86e86fbeadbc +config: f48a4434832128cee1c37b97e0d08ba7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_sources/advanced.rst.txt b/docs/build/html/_sources/advanced.rst.txt index 6073888..1303bee 100644 --- a/docs/build/html/_sources/advanced.rst.txt +++ b/docs/build/html/_sources/advanced.rst.txt @@ -103,6 +103,15 @@ Dynamically Growing Initial Set * :code:`growing.gamma_dec` - Trust region decrease parameter during the growing phase. Default is :code:`tr_radius.gamma_dec`. * :code:`growing.num_new_dirns_each_iter` - Number of new search directions to add with each iteration where we do not have a full set of search directions. Default is 0, as this approach is not recommended. +Dykstra's Algorithm +------------------------------- +* :code:`dykstra.d_tol` - Tolerance on the stopping conditions of Dykstra's algorithm. Default is :math:`10^{-10}`. +* :code:`dykstra.max_iters` - The maximum number of iterations Dykstra's algorithm is allowed to take before stopping. Default is :math:`100`. + +Checking Matrix Rank +------------------------------- +* :code:`matrix_rank.r_tol` - Tolerance on what is the smallest posisble diagonal entry value in the QR factorization before being considered zero. Default is :math:`10^{-18}`. + References ---------- diff --git a/docs/build/html/_sources/history.rst.txt b/docs/build/html/_sources/history.rst.txt index fd4d8ef..c9c8e60 100644 --- a/docs/build/html/_sources/history.rst.txt +++ b/docs/build/html/_sources/history.rst.txt @@ -45,3 +45,7 @@ Version 1.2.2 (26 Feb 2021) Version 1.2.3 (1 Jun 2021) --------------------------- * Minor update to customise handling of NaNs in objective evaluations - no changes to the DFO-LS algorithm. + +Version 1.3.0 (16 Oct 2021) +--------------------------- +* Handle finitely many arbitrary convex constraints in addition to simple bound constraints. diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index a0e467e..3668752 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -11,16 +11,16 @@ DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization **Author:** `Lindon Roberts `_ -DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional bound constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares. +DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional convex constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares. That is, DFO-LS solves .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad a \leq x \leq b + \text{s.t.} &\quad x \in C -The upper and lower bounds on the variables are non-relaxable (i.e. DFO-LS will never ask to evaluate a point outside the bounds). +The constraint set :math:`C` is assumed to be non-empty, closed and convex. Moreover, the constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible). Full details of the DFO-LS algorithm are given in our paper: C. Cartis, J. Fiala, B. Marteau and L. Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers `_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint `_] . DFO-LS is a more flexible version of `DFO-GN `_. diff --git a/docs/build/html/_sources/info.rst.txt b/docs/build/html/_sources/info.rst.txt index 824a232..46d74c8 100644 --- a/docs/build/html/_sources/info.rst.txt +++ b/docs/build/html/_sources/info.rst.txt @@ -3,14 +3,15 @@ Overview When to use DFO-LS ------------------ -DFO-LS is designed to solve the nonlinear least-squares minimization problem (with optional bound constraints) +DFO-LS is designed to solve the nonlinear least-squares minimization problem (with optional convex constraints). .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad a \leq x \leq b + \text{s.t.} &\quad x \in C We call :math:`f(x)` the objective function and :math:`r_i(x)` the residual functions (or simply residuals). +Here :math:`C` is a non-empty and closed convex set. DFO-LS is a *derivative-free* optimization algorithm, which means it does not require the user to provide the derivatives of :math:`f(x)` or :math:`r_i(x)`, nor does it attempt to estimate them internally (by using finite differencing, for instance). diff --git a/docs/build/html/_sources/userguide.rst.txt b/docs/build/html/_sources/userguide.rst.txt index 6804892..28408bd 100644 --- a/docs/build/html/_sources/userguide.rst.txt +++ b/docs/build/html/_sources/userguide.rst.txt @@ -9,9 +9,9 @@ DFO-LS is designed to solve the local optimization problem .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad a \leq x \leq b + \text{s.t.} &\quad x \in C -where the bound constraints :math:`a \leq x \leq b` are optional. The upper and lower bounds on the variables are non-relaxable (i.e. DFO-LS will never ask to evaluate a point outside the bounds). +where the set :math:`C` is an optional non-empty, closed and convex constraint set. The constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible). DFO-LS iteratively constructs an interpolation-based model for the objective, and determines a step using a trust-region framework. For an in-depth technical description of the algorithm see the paper [CFMR2018]_. @@ -75,6 +75,7 @@ These arguments are: * :code:`args` - a tuple of extra arguments passed to the objective function. * :code:`bounds` - a tuple :code:`(lower, upper)` with the vectors :math:`a` and :math:`b` of lower and upper bounds on :math:`x` (default is :math:`a_i=-10^{20}` and :math:`b_i=10^{20}`). To set bounds for either :code:`lower` or :code:`upper`, but not both, pass a tuple :code:`(lower, None)` or :code:`(None, upper)`. +* :code:`projections` - a list :code:`[f1,f2,...,fn]` of functions that each take as input a point :code:`x` and return a new point :code:`y`. The new point :code:`y` should be given by the projection of :code:`x` onto a closed convex set. The intersection of all sets corresponding to a function must be non-empty. * :code:`npt` - the number of interpolation points to use (default is :code:`len(x0)+1`). If using restarts, this is the number of points to use in the first run of the solver, before any restarts (and may be optionally increased via settings in :code:`user_params`). * :code:`rhobeg` - the initial value of the trust region radius (default is :math:`0.1\max(\|x_0\|_{\infty}, 1)`, or 0.1 if :code:`scaling_within_bounds`). * :code:`rhoend` - minimum allowed value of trust region radius, which determines when a successful termination occurs (default is :math:`10^{-8}`). @@ -142,9 +143,9 @@ Note that DFO-LS is a randomized algorithm: in its first phase, it builds an int This and all following problems can be found in the `examples `_ directory on the DFO-LS Github page. -Adding Bounds and More Output +Adding Constraints and More Output ----------------------------- -We can extend the above script to add constraints. To do this, we can add the lines +We can extend the above script to add constraints. To add bound constraints alone, we can add the lines .. code-block:: python @@ -179,6 +180,40 @@ However, we also get a warning that our starting point was outside of the bounds DFO-LS automatically fixes this, and moves :math:`x_0` to a point within the bounds, in this case :math:`x_0=(-1.2,0.85)`. +If we want more complex constraints, we can instead write + + .. code-block:: python + + # Define the projection functions + def pball(x): + c = np.array([0.7,1.5]) # ball centre + r = 0.4 # ball radius + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) + + def pbox(x): + l = np.array([-2, 1.1]) # lower bound + u = np.array([0.9, 3]) # upper bound + return np.minimum(np.maximum(x,l), u) + + # Call DFO-LS (with box and ball constraints) + soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) + +DFO-LS correctly finds the solution to this constrained problem too: + + .. code-block:: none + + ****** DFO-LS Results ****** + Solution xmin = [0.9 1.15358984] + Residual vector = [3.43589838 0.1 ] + Objective value f(xmin) = 11.81539771 + Needed 10 objective evaluations (at 10 points) + Approximate Jacobian = [[-1.79826221e+01 1.00004412e+01] + [-1.00000000e+00 6.81262102e-15]] + Exit flag = 0 + Success: rho has reached rhoend + **************************** + + We can also get DFO-LS to print out more detailed information about its progress using the `logging `_ module. To do this, we need to add the following lines: .. code-block:: python @@ -188,7 +223,7 @@ We can also get DFO-LS to print out more detailed information about its progress # ... (call dfols.solve) -And we can now see each evaluation of :code:`objfun`: +And for the simple bounds example we can now see each evaluation of :code:`objfun`: .. code-block:: none diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 5dfebe0..7cf0629 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.2.3', + VERSION: '1.3.0', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/_static/pygments.css b/docs/build/html/_static/pygments.css index 691aeb8..de7af26 100644 --- a/docs/build/html/_static/pygments.css +++ b/docs/build/html/_static/pygments.css @@ -1,7 +1,7 @@ pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #eeffcc; } diff --git a/docs/build/html/advanced.html b/docs/build/html/advanced.html index 8ca5d90..ae72a6d 100644 --- a/docs/build/html/advanced.html +++ b/docs/build/html/advanced.html @@ -8,7 +8,7 @@ - Advanced Usage — DFO-LS v1.2.3 documentation + Advanced Usage — DFO-LS v1.3.0 documentation @@ -61,7 +61,7 @@
- 1.2.3 + 1.3.0
@@ -102,6 +102,8 @@
  • Regression Model Management
  • Multiple Restarts
  • Dynamically Growing Initial Set
  • +
  • Dykstra’s Algorithm
  • +
  • Checking Matrix Rank
  • References
  • @@ -174,7 +176,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 paper [CFMR2018].

    +

    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 paper [CFMR2018].

    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).

    +
    +

    Dykstra’s Algorithm¶

    +
      +
    • dykstra.d_tol - Tolerance on the stopping conditions of Dykstra’s algorithm. Default is \(10^{-10}\).

    • +
    • dykstra.max_iters - The maximum number of iterations Dykstra’s algorithm is allowed to take before stopping. Default is \(100\).

    • +
    +
    +
    +

    Checking Matrix Rank¶

    +
      +
    • matrix_rank.r_tol - Tolerance on what is the smallest posisble diagonal entry value in the QR factorization before being considered zero. Default is \(10^{-18}\).

    • +
    +

    References¶

    diff --git a/docs/build/html/diagnostic.html b/docs/build/html/diagnostic.html index f4e5a4c..6c5e667 100644 --- a/docs/build/html/diagnostic.html +++ b/docs/build/html/diagnostic.html @@ -8,7 +8,7 @@ - Diagnostic Information — DFO-LS v1.2.3 documentation + Diagnostic Information — DFO-LS v1.3.0 documentation @@ -61,7 +61,7 @@
    - 1.2.3 + 1.3.0
    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index ab3ee15..96042a4 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -9,7 +9,7 @@ - Index — DFO-LS v1.2.3 documentation + Index — DFO-LS v1.3.0 documentation @@ -60,7 +60,7 @@
    - 1.2.3 + 1.3.0
    diff --git a/docs/build/html/history.html b/docs/build/html/history.html index 8d70630..6169770 100644 --- a/docs/build/html/history.html +++ b/docs/build/html/history.html @@ -8,7 +8,7 @@ - Version History — DFO-LS v1.2.3 documentation + Version History — DFO-LS v1.3.0 documentation @@ -60,7 +60,7 @@
    - 1.2.3 + 1.3.0
    @@ -101,6 +101,7 @@
  • Version 1.2.1 (13 Feb 2020)
  • Version 1.2.2 (26 Feb 2021)
  • Version 1.2.3 (1 Jun 2021)
  • +
  • Version 1.3.0 (16 Oct 2021)
  • @@ -232,6 +233,12 @@

    Version 1.2.3 (1 Jun 2021) +

    Version 1.3.0 (16 Oct 2021)¶

    +
      +
    • Handle finitely many arbitrary convex constraints in addition to simple bound constraints.

    • +
    +

    diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 76457b0..898bf06 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -8,7 +8,7 @@ - DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization — DFO-LS v1.2.3 documentation + DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization — DFO-LS v1.3.0 documentation @@ -60,7 +60,7 @@
    - 1.2.3 + 1.3.0
    @@ -158,15 +158,15 @@

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

    -

    Release: 1.2.3

    -

    Date: 01 June 2021

    +

    Release: 1.3.0

    +

    Date: 16 October 2021

    Author: Lindon Roberts

    -

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

    +

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

    That is, DFO-LS solves

    \[\begin{split}\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ -\text{s.t.} &\quad a \leq x \leq b\end{split}\]
    -

    The upper and lower bounds on the variables are non-relaxable (i.e. DFO-LS will never ask to evaluate a point outside the bounds).

    +\text{s.t.} &\quad x \in C\end{split}\]
    +

    The constraint set \(C\) is assumed to be non-empty, closed and convex. Moreover, the constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible).

    Full details of the DFO-LS algorithm are given in our paper: C. Cartis, J. Fiala, B. Marteau and L. Roberts, Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers, ACM Transactions on Mathematical Software, 45:3 (2019), pp. 32:1-32:41 [preprint] . DFO-LS is a more flexible version of DFO-GN.

    If you are interested in solving general optimization problems (without a least-squares structure), you may wish to try Py-BOBYQA, which has many of the same features as DFO-LS.

    DFO-LS is released under the GNU General Public License. Please contact NAG for alternative licensing.

    @@ -194,7 +194,7 @@

    DFO-LS: Derivative-Free Optimizer for Least-Squares MinimizationHow to use DFO-LS
  • Optional Arguments
  • A Simple Example
  • -
  • Adding Bounds and More Output
  • +
  • Adding Constraints and More Output
  • Example: Noisy Objective Evaluation
  • Example: Parameter Estimation/Data Fitting
  • Example: Solving a Nonlinear System of Equations
  • @@ -213,6 +213,8 @@

    DFO-LS: Derivative-Free Optimizer for Least-Squares MinimizationRegression Model Management
  • Multiple Restarts
  • Dynamically Growing Initial Set
  • +
  • Dykstra’s Algorithm
  • +
  • Checking Matrix Rank
  • References
  • @@ -234,6 +236,7 @@

    DFO-LS: Derivative-Free Optimizer for Least-Squares MinimizationVersion 1.2.1 (13 Feb 2020)
  • Version 1.2.2 (26 Feb 2021)
  • Version 1.2.3 (1 Jun 2021)
  • +
  • Version 1.3.0 (16 Oct 2021)
  • diff --git a/docs/build/html/info.html b/docs/build/html/info.html index f3867f0..bf211f3 100644 --- a/docs/build/html/info.html +++ b/docs/build/html/info.html @@ -8,7 +8,7 @@ - Overview — DFO-LS v1.2.3 documentation + Overview — DFO-LS v1.3.0 documentation @@ -61,7 +61,7 @@
    - 1.2.3 + 1.3.0
    @@ -168,11 +168,12 @@

    Overview¶

    When to use DFO-LS¶

    -

    DFO-LS is designed to solve the nonlinear least-squares minimization problem (with optional bound constraints)

    +

    DFO-LS is designed to solve the nonlinear least-squares minimization problem (with optional convex constraints).

    \[\begin{split}\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ -\text{s.t.} &\quad a \leq x \leq b\end{split}\]
    -

    We call \(f(x)\) the objective function and \(r_i(x)\) the residual functions (or simply residuals).

    +\text{s.t.} &\quad x \in C\end{split}\]
    +

    We call \(f(x)\) the objective function and \(r_i(x)\) the residual functions (or simply residuals). +Here \(C\) is a non-empty and closed convex set.

    DFO-LS is a derivative-free optimization algorithm, which means it does not require the user to provide the derivatives of \(f(x)\) or \(r_i(x)\), nor does it attempt to estimate them internally (by using finite differencing, for instance).

    There are two main situations when using a derivative-free algorithm (such as DFO-LS) is preferable to a derivative-based algorithm (which is the vast majority of least-squares solvers).

    If the residuals are noisy, then calculating or even estimating their derivatives may be impossible (or at least very inaccurate). By noisy, we mean that if we evaluate \(r_i(x)\) multiple times at the same value of \(x\), we get different results. This may happen when a Monte Carlo simulation is used, for instance, or \(r_i(x)\) involves performing a physical experiment.

    @@ -217,7 +218,7 @@

    Details of the DFO-LS Algorithm\(x_k\), we compute a model which approximates the objective \(m_k(s)\approx f(x_k+s)\) (for small steps \(s\)), and maintain a value \(\Delta_k>0\) (called the trust region radius) which measures the size of \(s\) for which the approximation is good.

    At each step, we compute a trial step \(s_k\) designed to make our approximation \(m_k(s)\) small (this task is called the trust region subproblem). We evaluate the objective at this new point, and if this provided a good decrease in the objective, we take the step (\(x_{k+1}=x_k+s_k\)), otherwise we stay put (\(x_{k+1}=x_k\)). Based on this information, we choose a new value \(\Delta_{k+1}\), and repeat the process.

    In DFO-LS, we construct our approximation \(m_k(s)\) by interpolating a linear approximation for each residual \(r_i(x)\) at several points close to \(x_k\). To make sure our interpolated model is accurate, we need to regularly check that the points are well-spaced, and move them if they aren’t (i.e. improve the geometry of our interpolation points).

    -

    A complete description of the DFO-LS algorithm is given in our paper [CFMR2018].

    +

    A complete description of the DFO-LS algorithm is given in our paper [CFMR2018].

    References¶

    diff --git a/docs/build/html/install.html b/docs/build/html/install.html index d74c88f..b9a3e9a 100644 --- a/docs/build/html/install.html +++ b/docs/build/html/install.html @@ -8,7 +8,7 @@ - Installing DFO-LS — DFO-LS v1.2.3 documentation + Installing DFO-LS — DFO-LS v1.3.0 documentation @@ -61,7 +61,7 @@
    - 1.2.3 + 1.3.0
    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 0a40ac70446e2f79c64912950d2f8f543bdf4bdf..540a6f6429ef5e575695ecea53587d35cac46bb8 100644 GIT binary patch delta 292 zcmV+<0o(qO1CIlcJOeW>Fp)nzf6r^fAQZm)S3KCRj&-Ne+aQz`T2ctz-No1BfzeJ) zw(PH;iDor0*iFA*zW1S!gU~ffa9(busex}mBXz)TAYTtshv>Xx&dof7X)o#*XD2V**ZULzuJoDvXGAe delta 294 zcmV+>0oneK1CaxeJOeT=Gm$?$e@jcmFc7}yR|NDLaXrc2gtEA>OBagXV>4|B^4Lw% zYW?-5O=}Ynyd~c&Gn3(B;JOAuofmsyYRYz$FW5upm837L;?40ENZly=^tgMT4U&I= zoGiTq+x946_T1f5Mg;O!8|Sf3vo|!R7n|y+8)FssXf$a-qZaU$zp|pye|nsbq(kS8 z9n&`!D5~DUx{yd;BS^N`MV%xThmxJDJuSfE5DFQ99V`GXuO1bCgQcNDdIIh|t8P8F z;OH6k#Kp2Pw2)^vCPtS7*a6`)NSx~*O9G6G@gy7#2NM - Search — DFO-LS v1.2.3 documentation + Search — DFO-LS v1.3.0 documentation @@ -60,7 +60,7 @@
    - 1.2.3 + 1.3.0
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index fd398c6..9520167 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["advanced","diagnostic","history","index","info","install","userguide"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["advanced.rst","diagnostic.rst","history.rst","index.rst","info.rst","install.rst","userguide.rst"],objects:{},objnames:{},objtypes:{},terms:{"00000000e":6,"00180000e":6,"00670067e":6,"00e":6,"01256863e":6,"01941978e":6,"04752848e":6,"06227943e":6,"07858081e":6,"09280752e":6,"09843514e":6,"10862447e":6,"10g":6,"12897463e":6,"19971362e":6,"1e20":6,"20e":6,"22992989e":6,"24129962e":6,"24991776e":6,"33017181e":6,"34676365e":6,"35e":6,"41166495e":6,"42808544e":6,"43e":6,"45394186e":6,"47252555e":6,"50e":6,"51525603e":6,"550476524e":6,"59085679e":6,"59634974e":6,"61e":6,"62398179e":6,"63036198e":6,"650274685e":6,"65956876e":6,"70205419e":6,"70749826e":6,"71355033e":6,"75304364e":6,"77e":6,"79999999e":6,"80e":6,"827884295e":6,"83184867e":6,"90335675e":6,"95045269e":6,"95108811e":6,"96161167e":6,"97239623e":6,"98196347e":6,"98830861e":6,"99950530e":6,"99999998e":6,"case":[0,4,6],"const":0,"default":[0,2,5,6],"float":6,"function":[0,4,6],"import":6,"long":2,"new":[0,4],"public":3,"return":[1,2,6],"short":6,"throw":0,"true":[0,1,4,6],"try":[0,3,4],"while":[0,4],Adding:3,And:6,For:[0,3,4,5,6],Such:4,That:[3,4],The:[0,1,3,6],Then:4,There:[0,4],These:6,Use:2,Using:[0,1,3],__future__:6,a_i:6,abl:6,about:[1,6],abov:[4,5,6],abs_tol:0,absolut:0,accept:0,access:6,accur:[4,6],accuraci:6,achiev:6,acm:[0,3,4,6],actual:1,add:[0,6],added:0,adding:0,addit:0,addition:5,additive_noise_level:0,adjust:[2,6],admin:5,advanc:[3,6],after:0,algebra:6,algorithm:[2,3,6],all:[0,1,4,6],allow:[0,6],along:6,alpha1:0,alpha2:0,alpha_1:0,alpha_2:0,also:[0,4,5,6],altern:[0,3,5,6],alwai:[0,4],amount:[0,6],ani:[0,1,3,6],anoth:0,appli:[0,6],applic:6,approach:0,approx:[4,6],approxim:[4,6],apr:3,aren:4,arg:[2,6],argument:[2,3],arrai:6,ask:[0,3,6],attempt:4,author:3,auto:2,auto_detect:0,automat:[0,5,6],avail:[0,6],averag:6,avoid:[0,2],awai:6,axes:6,b_i:6,base:[0,2,3,4,6],bash:5,basicconfig:6,becom:6,been:[1,6],befor:[0,6],behavior:2,below:[0,6],benjamin:[0,4,6],best:[0,1,4,6],between:2,block:5,bobyqa:3,both:6,bound:[0,1,2,3,4],bug:2,bugfix:2,build:[0,6],calcul:[2,4,6],calibr:[4,6],call:[0,1,4,6],can:[0,4,5,6],cannot:[0,4],cap:0,carlo:4,carti:[0,3,4,6],categori:4,caus:[0,6],cdl:6,cdot:[0,6],centr:3,certainli:4,cfmr2018:[0,4,6],chang:[0,1,2],check:4,check_objfun_for_overflow:0,choic:4,choos:4,clone:5,close:[2,4],closest:4,code:[2,5,6],coeffici:0,collabor:3,column:1,com:[5,6],common:4,commonli:6,compar:6,compil:5,complet:4,compon:0,comput:[1,4],computation:0,condit:[0,1,6],consecut:0,consid:4,consist:0,constrain:6,constraint:[3,4,6],construct:[4,6],contact:3,contain:[1,5,6],content:3,coordin:[0,6],coralia:[0,3,4,6],correct:[2,6],correctli:[2,6],correl:0,cost:[0,2,6],could:6,count:3,creat:2,criteria:0,criterion:0,crvmin:2,csv:1,current:[0,3,4,6],customis:2,data:[0,3,4],datafram:[1,6],date:3,deactiv:6,dec:0,decai:6,decreas:[0,4,6],def:6,defin:[1,6],deflat:4,delta:[1,6],delta_:4,delta_k:[0,1,4],delta_scale_new_dirn:0,demonstr:6,depend:[0,1,2,4,6],deprec:2,depth:6,deriv:[0,4,6],describ:[0,4,6],descript:[1,4,6],design:[4,6],detail:[0,3,6],detect:2,determin:[0,4,6],determinist:2,develop:[3,4],dfo:[0,1,2],dfol:[0,1,5,6],diagnost:[0,3,6],diagnostic_info:[1,6],dictionari:[0,6],did:[0,6],differ:[0,2,4,6],differenc:4,difficult:4,dimension:6,direct:[0,6],directli:4,directori:[5,6],disciplin:4,displai:6,distanc:1,divid:2,do_geom_step:0,do_log:6,do_safety_step:0,doctor:3,document:[5,6],doe:[4,6],doi:2,doing:4,don:2,download:5,dure:[0,2],dynam:3,each:[0,1,4,6],easi:[5,6],easy_instal:5,effect:0,either:6,enabl:2,encount:0,end:0,enough:[0,6],ensur:2,entri:6,epsrc:3,equal:1,equat:3,error:[0,1,4,6],estim:[3,4],eta1:0,eta2:0,eta_1:0,eta_2:0,etc:[0,1],eval:6,evalu:[0,1,2,3,4],even:4,everi:[4,6],exactli:[1,6],exampl:[3,4,5],exclud:0,exist:4,exit:[2,6],exit_false_success_warn:6,exit_input_error:6,exit_linalg_error:6,exit_maxfun_warn:6,exit_slow_warn:6,exit_success:6,exit_tr_increase_error:6,exp:6,expect:6,expens:[0,1,4],experi:4,explain:1,exponenti:6,extend:6,extra:[0,2,6],factor:0,fals:[0,6],far:[1,6],fast:5,faster:[2,6],feasibl:2,featur:3,feb:3,februari:[],fewest:4,fiala:[0,3,4,6],figur:6,file:[0,1,5,6],filemod:6,filenam:6,find:[3,4,6],finish:6,finit:4,first:6,fit:[0,3],fix:[0,2,6],flag:[0,6],flexibl:[0,3,4,6],floor:0,focus:3,follow:[5,6],form:4,format:6,formul:4,fortran:[2,5],found:[0,1,6],framework:6,free:[0,4,6],frobeniu:1,from:[1,2,4,5,6],full:[0,2,3,6],full_geom_step:0,full_rank:0,fulli:1,further:0,g_k:1,gamma:0,gamma_:0,gamma_dec:0,gamma_inc:0,gamma_inc_overlin:0,gaussian:6,gca:6,gener:[3,6],geometri:[0,2,4],geq:0,get:[4,6],gfortran:5,git:5,github:[5,6],give:[0,6],given:[0,3,4,6],gnu:3,good:[4,6],gracefulli:0,grad:6,gradient:1,grid:6,group:3,grow:3,guarante:4,had:1,hand:[2,4,5],handl:2,happen:4,hard:0,has:[0,1,2,3,4,6],have:[0,4,5,6],help:6,here:6,hessian:2,high:6,higher:5,histori:[0,3],history_for_slow:0,home:5,how:[0,1,3,5],howev:[4,6],htm:6,html:[5,6],http:[5,6],idea:4,imlug:6,imlug_genstatexpls_sect004:6,impact:[2,6],imposs:4,impract:0,improv:[0,2,3,4,6],inaccur:4,inc:0,includ:[0,1,6],increas:[0,6],increase_ndirs_initial_amt:0,increase_npt:0,increase_npt_amt:0,increase_num_extra_steps_with_restart:0,indic:6,industri:3,infinit:4,info:[1,6],inform:[3,4,6],infti:6,init:0,initi:[2,3,6],initialis:[2,6],input:[0,2,4,6],inspect:0,instal:[2,3],instanc:[0,4],instead:[4,5],integ:6,interest:[3,4],interfac:6,intermedi:0,intern:[0,4,6],interpol:[2,3,4,6],interpolation_change_j_norm:1,interpolation_condition_numb:1,interpolation_error:1,interpolation_total_residu:1,introduc:0,invers:2,involv:[0,4],iter:[0,2,3,6],iter_this_run:1,iter_typ:1,iters_tot:1,its:[0,6],j_k:[0,1],jacobian:[0,1,2,6],jan:[0,3,4,6],jun:3,june:3,just:2,keep:4,known:4,l015803:3,label:6,lambda:[0,1],larg:[0,4],larger:0,largest:0,last:[0,1],lastli:6,latest:5,ldot:4,least:4,least_squar:6,left:4,legend:6,len:[0,6],length:0,leq:[0,3,4,6],less:0,let:6,level:[0,5,6],librari:4,licens:3,like:[4,6],linalg:0,linalgerror:0,lindon:[0,3,4,6],line:[0,6],linear:[0,1,4,6],link:2,linspac:6,list:[2,6],loc:6,local:[3,6],locat:5,log:[1,2,3,6],longer:2,lower:[0,1,3,6],lsqcurvefit:6,m_k:4,magnitud:[0,6],mai:[1,3,4,6],main:[4,6],maintain:4,major:4,make:[0,2,4,5,6],manag:3,mani:[0,3,4,6],manual:3,marteau:[0,3,4,6],math:6,mathbb:[3,4,6],mathemat:[0,3,4,6],mathrm:4,mathwork:6,matplotlib:6,matrix:[1,6],max:6,max_distance_xk:1,max_fake_successful_step:0,max_npt:0,max_slow_it:0,max_unsuccessful_restart:0,maxfun:[0,6],maximum:[0,1,6],mean:[1,4],measur:[0,4],messag:6,method:[0,2,4],min:6,min_:[3,4,6],min_chgj_slop:0,min_correl:0,min_sing_v:0,minim:[2,4],minimum:[0,6],minor:2,model:[2,3,4,6],modifi:6,modul:6,momentum:0,momentum_extra_step:0,mont:4,more:[0,3,4],most:[0,1,4,6],move:[0,4,6],move_xk:0,msg:6,multipl:[2,3,4,6],multiplicative_noise_level:0,must:6,myfil:[1,6],n_to_print_whole_x_vector:0,nag:3,nan:[0,2],navig:5,ndirs_initi:0,necessari:2,need:[4,6],never:[3,6],next:6,nfev:6,nois:[3,4,6],noisi:[0,3,4],non:[3,6],nonconvex:4,none:[0,6],nonlinear:3,nonlinear_system:6,nonzero:0,nor:4,norm:1,norm_gk:1,norm_sk:1,normal:6,note:[5,6],now:[0,6],npt:[0,1,6],nrestart:6,nrun:[1,6],nsampl:[1,6],num_extra_step:0,num_geom_step:0,num_new_dirns_each_it:0,number:[0,1,4,6],numer:3,numericalalgorithmsgroup:5,numpi:[0,2,5,6],obj:6,object:[1,2,3,4],objfun:[0,1,2,6],objfun_has_nois:[0,6],obs:4,observ:[4,6],occur:6,often:4,older:5,one:[0,1,4,5,6],onli:[0,1,4,6],oper:2,oppos:0,opposit:0,opt:6,optim:[0,1,4,6],option:[0,2,3,4,5],order:6,org:5,origin:6,orthogon:0,other:0,otherwis:[0,4],our:[3,4,6],out:6,output:[1,2,3,4],outsid:[3,6],over:[0,6],overdetermin:4,overflow:2,overflowerror:0,overlin:0,overrid:0,overridden:6,overview:[3,6],packag:[2,3,5],page:6,panda:[1,5,6],paper:[0,3,4,6],param1:6,param2:6,paramet:[2,3],part:[2,6],partial:6,particularli:[4,6],pass:[2,6],past:0,per:[0,1,2,6],perform:[0,2,4,6],perturb:0,perturb_trust_region_step:0,phase:[0,6],physic:4,piec:[0,1],pip:3,pleas:3,plot:6,plt:6,point:[1,2,3,4,6],pois:1,poised:[0,1],popul:1,possibl:[4,6],post:0,practic:6,precondit:0,predict:[1,4],prediction_error:6,prefer:4,preprint:[0,3,4,6],present:5,preserv:0,previou:[0,6],previous:1,print:[0,2,6],print_funct:6,print_progress:6,privat:5,privileg:5,probabl:4,problem:[0,1,2,3,4,6],proccess:4,process:[0,4],produc:[4,6],progress:[3,6],prohibit:4,provid:[4,5,6],pull:5,pure:5,purpos:6,put:4,pydata:5,pyplot:6,python:[0,5,6],quad:[3,4,6],quantit:4,quantiti:4,quit:0,quit_on_noise_level:0,r_1:[0,4,6],r_2:4,r_i:[0,4,6],r_m:[0,4,6],radii:0,radiu:[0,1,2,4,6],random:[0,2,6],random_directions_make_orthogon:0,random_initial_direct:0,rang:6,rank:0,rate:0,rather:2,ratio:[0,1],reach:[0,6],recommend:0,recycl:0,reduc:[0,2],reduce_delta:0,reduct:1,refer:3,regim:2,region:[2,3,4,5,6],regress:3,regular:0,regularli:4,rel:0,rel_tol:0,relationship:4,relax:[3,6],releas:[2,3],remov:[2,5],repeat:4,replac:6,reproduc:[2,6],request:6,requir:[0,3,4,6],rerun:5,reset:0,reset_delta:0,reset_rho:0,resid:6,residu:[1,4,6],respect:0,restart:[1,2,3,6],result:[0,1,2,4,6],retriev:2,rho:[1,6],rho_:0,rho_k:[0,1],rhobeg:6,rhoend:6,rhoend_scal:0,right:[2,6],risk:0,robert:[0,3,4,6],robust:[0,3,4,6],root:5,rosenbrock:6,rosenbrock_noisi:6,rounding_error_const:0,roundoff:0,row:1,run:[0,5,6],run_in_parallel:0,runtim:2,runtimewarn:6,s_k:[0,1,4],safeti:[0,1,2],safety_step_thresh:0,sai:4,same:[0,3,4,6],sampl:6,sas:6,satisfi:[4,6],save:[0,1,6],save_diagnostic_info:[0,1],save_poised:[0,1],save_rk:[0,1],save_xk:[0,1],saw:1,scale:[0,2,6],scale_factor:0,scale_factor_for_quit:0,scaling_within_bound:6,scipi:[4,5,6],screen:0,script:6,search:[0,2,4],section:[0,1,2,6],see:[1,5,6],seed:[2,6],sens:4,sensibl:6,set:[1,2,3,4,6],set_xlabel:6,set_ylabel:6,setup:[0,5],sever:[0,4,6],shape:6,shift:[0,6],should:[0,5,6],show:6,side:[2,4],similar:4,similarli:4,simpl:[3,5],simpli:4,simul:4,sin:4,sinc:[0,1],singular:[0,6],site:5,situat:4,size:[4,6],slope:0,slow:[1,3,6],slow_it:1,small:[3,4,6],smaller:0,smallest:[0,1],smooth:0,soft:0,softwar:[0,3,4,5,6],soln:[1,6],solut:[2,3,4,5,6],solv:[0,1,3],solver:[0,2,3,4,6],some:[0,4,5,6],sourc:5,space:[0,2,4],specifi:[0,6],squar:[1,4],stai:4,stand:3,start:[2,4,6],statu:6,step:[0,1,2,4,6],still:0,stochast:[3,6],stop:2,store:[0,2],str:6,string:6,strongli:4,structur:3,subproblem:[2,4,5,6],success:[0,1,6],successfulli:6,sudo:5,suffici:6,suitabl:4,sum:[1,4],sum_:[3,4,6],supervis:3,support:[3,5,6],suppos:[4,6],sure:[4,5],svd_max_jac_cond:0,svd_scale_factor:0,system:[0,1,3,5],t_i:6,tabl:6,take:[4,6],taken:6,task:4,tdata:6,technic:6,techniqu:4,termin:[1,3,6],test:[3,6],text:[0,1,3,4,6],than:[0,2,6],thei:[0,4],them:[2,4],therefor:6,thi:[0,1,2,3,4,5,6],thresh_for_slow:0,threshold:0,through:[0,2],throw_error_on_nan:0,time:[0,1,4,6],to_csv:1,toler:0,top:5,total:[1,6],tr_radiu:0,train:3,transact:[0,3,4,6],trend:0,trial:4,triangular:2,trigger:0,troubl:6,trust:[2,3,4,5,6],trustregion:[2,5],tupl:6,turn:1,two:[0,4],type:[1,4],typic:4,unabl:6,under:3,underdetermin:4,uninstal:3,unknown:4,unless:6,unpack:5,unsuccess:0,updat:2,upgrad:5,upper:[2,3,6],usag:[3,6],use:[0,1,2,3,5],use_full_rank_interp:0,use_old_rk:0,use_restart:0,use_soft_restart:0,used:[0,1,4,6],useful:[0,4,6],user:[0,4,5,6],user_param:[0,1,6],uses:0,using:[0,2,3,4,6],usual:0,val1:6,val2:6,valu:[1,2,3,4,6],vari:0,variabl:[3,6],vast:4,vdot:4,vector:[0,1,4,6],veri:[0,4,6],version:[0,3,5],via:6,viewer:6,visibl:6,wai:[0,4,6],want:[5,6],warn:[2,6],well:4,what:1,when:[0,2,3,6],where:[0,4,6],whether:[0,4,6],which:[0,1,2,3,4,5,6],whole:2,why:6,wish:[3,4,6],within:[0,2,6],without:[0,3],work:5,wors:6,write:6,written:5,www:5,x_0:[0,6],x_1:[4,6],x_2:[4,6],x_b:0,x_j:6,x_k:[0,4],x_n:4,xmin:6,xtol:6,y_1:4,y_i:[4,6],y_k:[0,1],y_m:4,y_t:0,ydata:6,yet:0,you:[3,4,5,6],your:[4,5,6],zenodo:2,zero:2},titles:["Advanced Usage","Diagnostic Information","Version History","DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization","Overview","Installing DFO-LS","Using DFO-LS"],titleterms:{Adding:6,Using:6,acknowledg:3,advanc:0,algorithm:[0,1,4],apr:2,argument:6,bound:6,count:1,current:1,data:6,deriv:3,detail:4,dfo:[3,4,5,6],diagnost:1,dynam:0,equat:[4,6],estim:6,evalu:6,exampl:6,feb:2,fit:[4,6],free:3,gener:0,grow:0,histori:2,how:6,inform:[0,1],initi:0,instal:5,interpol:[0,1],iter:1,jan:2,jun:2,least:[3,6],log:0,manag:0,manual:5,minim:[3,6],model:[0,1],more:6,multipl:0,nois:0,noisi:6,nonlinear:[4,6],object:[0,6],optim:3,option:6,output:[0,6],overview:4,paramet:[0,4,6],pip:5,point:0,progress:[0,1],refer:[0,4,6],region:[0,1],regress:0,requir:5,restart:0,set:0,simpl:6,slow:0,small:0,solv:[4,6],squar:[3,6],stochast:0,system:[4,6],termin:0,test:5,trust:[0,1],uninstal:5,usag:0,use:[4,6],using:5,valu:0,version:2,when:4}}) \ No newline at end of file +Search.setIndex({docnames:["advanced","diagnostic","history","index","info","install","userguide"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["advanced.rst","diagnostic.rst","history.rst","index.rst","info.rst","install.rst","userguide.rst"],objects:{},objnames:{},objtypes:{},terms:{"00000000e":6,"00004412e":6,"00180000e":6,"00670067e":6,"00e":6,"01256863e":6,"01941978e":6,"04752848e":6,"06227943e":6,"07858081e":6,"09280752e":6,"09843514e":6,"10862447e":6,"10g":6,"12897463e":6,"19971362e":6,"1e20":6,"20e":6,"22992989e":6,"24129962e":6,"24991776e":6,"33017181e":6,"34676365e":6,"35e":6,"41166495e":6,"42808544e":6,"43e":6,"45394186e":6,"47252555e":6,"50e":6,"51525603e":6,"550476524e":6,"59085679e":6,"59634974e":6,"61e":6,"62398179e":6,"63036198e":6,"650274685e":6,"65956876e":6,"70205419e":6,"70749826e":6,"71355033e":6,"75304364e":6,"77e":6,"79826221e":6,"79999999e":6,"80e":6,"81262102e":6,"827884295e":6,"83184867e":6,"90335675e":6,"95045269e":6,"95108811e":6,"96161167e":6,"97239623e":6,"98196347e":6,"98830861e":6,"99950530e":6,"99999998e":6,"case":[0,4,6],"const":0,"default":[0,2,5,6],"float":6,"function":[0,4,6],"import":6,"long":2,"new":[0,4,6],"public":3,"return":[1,2,6],"short":6,"throw":0,"true":[0,1,4,6],"try":[0,3,4],"while":[0,4],Adding:3,And:6,For:[0,3,4,5,6],Such:4,That:[3,4],The:[0,1,3,6],Then:4,There:[0,4],These:6,Use:2,Using:[0,1,3],__future__:6,a_i:6,abl:6,about:[1,6],abov:[4,5,6],abs_tol:0,absolut:0,accept:0,access:6,accur:[4,6],accuraci:6,achiev:6,acm:[0,3,4,6],actual:1,add:[0,6],added:0,adding:0,addit:[0,2],addition:5,additive_noise_level:0,adjust:[2,6],admin:5,advanc:[3,6],after:0,algebra:6,algorithm:[2,3,6],all:[0,1,4,6],allow:[0,6],alon:6,along:6,alpha1:0,alpha2:0,alpha_1:0,alpha_2:0,also:[0,4,5,6],altern:[0,3,5,6],alwai:[0,4],amount:[0,6],ani:[0,1,3,6],anoth:0,appli:[0,6],applic:6,approach:0,approx:[4,6],approxim:[4,6],apr:3,arbitrari:2,aren:4,arg:[2,6],argument:[2,3],arrai:6,ask:[0,3,6],assum:3,attempt:4,author:3,auto:2,auto_detect:0,automat:[0,5,6],avail:[0,6],averag:6,avoid:[0,2],awai:6,axes:6,b_i:6,ball:6,base:[0,2,3,4,6],bash:5,basicconfig:6,becom:6,been:[1,6],befor:[0,6],behavior:2,being:0,below:[0,6],benjamin:[0,4,6],best:[0,1,4,6],between:2,block:5,bobyqa:3,both:6,bound:[0,1,2,6],box:6,bug:2,bugfix:2,build:[0,6],calcul:[2,4,6],calibr:[4,6],call:[0,1,4,6],can:[0,4,5,6],cannot:[0,4],cap:0,carlo:4,carti:[0,3,4,6],categori:4,caus:[0,6],cdl:6,cdot:[0,6],centr:[3,6],certainli:4,cfmr2018:[0,4,6],chang:[0,1,2],check:[3,4],check_objfun_for_overflow:0,choic:4,choos:4,clone:5,close:[2,3,4,6],closest:4,code:[2,5,6],coeffici:0,collabor:3,column:1,com:[5,6],common:4,commonli:6,compar:6,compil:5,complet:4,complex:6,compon:0,comput:[1,4],computation:0,condit:[0,1,6],consecut:0,consid:[0,4],consist:0,constrain:6,constraint:[2,3,4],construct:[4,6],contact:3,contain:[1,5,6],content:3,convex:[2,3,4,6],coordin:[0,6],coralia:[0,3,4,6],correct:[2,6],correctli:[2,6],correl:0,correspond:6,cost:[0,2,6],could:6,count:3,creat:2,criteria:0,criterion:0,crvmin:2,csv:1,current:[0,3,4,6],customis:2,d_tol:0,data:[0,3,4],datafram:[1,6],date:3,deactiv:6,dec:0,decai:6,decreas:[0,4,6],def:6,defin:[1,6],deflat:4,delta:[1,6],delta_:4,delta_k:[0,1,4],delta_scale_new_dirn:0,demonstr:6,depend:[0,1,2,4,6],deprec:2,depth:6,deriv:[0,4,6],describ:[0,4,6],descript:[1,4,6],design:[4,6],detail:[0,3,6],detect:2,determin:[0,4,6],determinist:2,develop:[3,4],dfo:[0,1,2],dfol:[0,1,5,6],diagnost:[0,3,6],diagnostic_info:[1,6],diagon:0,dictionari:[0,6],did:[0,6],differ:[0,2,4,6],differenc:4,difficult:4,dimension:6,direct:[0,6],directli:4,directori:[5,6],disciplin:4,displai:6,distanc:1,divid:2,do_geom_step:0,do_log:6,do_safety_step:0,doctor:3,document:[5,6],doe:[4,6],doi:2,doing:4,don:2,download:5,dure:[0,2],dykstra:3,dynam:3,each:[0,1,4,6],easi:[5,6],easy_instal:5,effect:0,either:6,empti:[3,4,6],enabl:2,encount:0,end:0,enough:[0,6],ensur:2,entri:[0,6],epsrc:3,equal:1,equat:3,error:[0,1,4,6],estim:[3,4],eta1:0,eta2:0,eta_1:0,eta_2:0,etc:[0,1],eval:6,evalu:[0,1,2,3,4],even:4,everi:[4,6],exactli:[1,6],exampl:[3,4,5],exclud:0,exist:4,exit:[2,6],exit_false_success_warn:6,exit_input_error:6,exit_linalg_error:6,exit_maxfun_warn:6,exit_slow_warn:6,exit_success:6,exit_tr_increase_error:6,exp:6,expect:6,expens:[0,1,4],experi:4,explain:1,exponenti:6,extend:6,extra:[0,2,6],factor:0,fals:[0,6],far:[1,6],fast:5,faster:[2,6],feasibl:[2,3,6],featur:3,feb:3,februari:[],fewest:4,fiala:[0,3,4,6],figur:6,file:[0,1,5,6],filemod:6,filenam:6,find:[3,4,6],finish:6,finit:[2,4],first:6,fit:[0,3],fix:[0,2,6],flag:[0,6],flexibl:[0,3,4,6],floor:0,focus:3,follow:[5,6],form:4,format:6,formul:4,fortran:[2,5],found:[0,1,6],framework:6,free:[0,4,6],frobeniu:1,from:[1,2,4,5,6],full:[0,2,3,6],full_geom_step:0,full_rank:0,fulli:1,further:0,g_k:1,gamma:0,gamma_:0,gamma_dec:0,gamma_inc:0,gamma_inc_overlin:0,gaussian:6,gave:[],gca:6,gener:[3,6],geometri:[0,2,4],geq:0,get:[4,6],gfortran:5,git:5,github:[5,6],give:[0,6],given:[0,3,4,6],gnu:3,good:[4,6],gracefulli:0,grad:6,gradient:1,grid:6,group:3,grow:3,guarante:4,had:1,hand:[2,4,5],handl:2,happen:4,hard:0,has:[0,1,2,3,4,6],have:[0,4,5,6],help:6,here:[4,6],hessian:2,high:6,higher:5,histori:[0,3],history_for_slow:0,home:5,how:[0,1,3,5],howev:[4,6],htm:6,html:[5,6],http:[5,6],idea:4,imlug:6,imlug_genstatexpls_sect004:6,impact:[2,6],imposs:4,impract:0,improv:[0,2,3,4,6],inaccur:4,inc:0,includ:[0,1,6],increas:[0,6],increase_ndirs_initial_amt:0,increase_npt:0,increase_npt_amt:0,increase_num_extra_steps_with_restart:0,indic:6,industri:3,infinit:4,info:[1,6],inform:[3,4,6],infti:6,init:0,initi:[2,3,6],initialis:[2,6],input:[0,2,4,6],inspect:0,instal:[2,3],instanc:[0,4],instead:[4,5,6],integ:6,interest:[3,4],interfac:6,intermedi:0,intern:[0,4,6],interpol:[2,3,4,6],interpolation_change_j_norm:1,interpolation_condition_numb:1,interpolation_error:1,interpolation_total_residu:1,intersect:6,introduc:0,invers:2,involv:[0,4],iter:[0,2,3,6],iter_this_run:1,iter_typ:1,iters_tot:1,its:[0,6],j_k:[0,1],jacobian:[0,1,2,6],jan:[0,3,4,6],jun:3,june:[],just:2,keep:4,known:4,l015803:3,label:6,lambda:[0,1],larg:[0,4],larger:0,largest:0,last:[0,1],lastli:6,latest:5,ldot:4,least:4,least_squar:6,left:4,legend:6,len:[0,6],length:0,leq:[0,6],less:0,let:6,level:[0,5,6],librari:4,licens:3,like:[4,6],linalg:[0,6],linalgerror:0,lindon:[0,3,4,6],line:[0,6],linear:[0,1,4,6],link:2,linspac:6,list:[2,6],loc:6,local:[3,6],locat:5,log:[1,2,3,6],longer:2,lower:[0,1,6],lsqcurvefit:6,m_k:4,magnitud:[0,6],mai:[1,3,4,6],main:[4,6],maintain:4,major:4,make:[0,2,4,5,6],manag:3,mani:[0,2,3,4,6],manual:3,marteau:[0,3,4,6],math:6,mathbb:[3,4,6],mathemat:[0,3,4,6],mathrm:4,mathwork:6,matplotlib:6,matrix:[1,3,6],matrix_rank:0,max:6,max_distance_xk:1,max_fake_successful_step:0,max_it:0,max_npt:0,max_slow_it:0,max_unsuccessful_restart:0,maxfun:[0,6],maximum:[0,1,6],mean:[1,4],measur:[0,4],messag:6,method:[0,2,4],min:6,min_:[3,4,6],min_chgj_slop:0,min_correl:0,min_sing_v:0,minim:[2,4],minimum:[0,6],minor:2,model:[2,3,4,6],modifi:6,modul:6,momentum:0,momentum_extra_step:0,mont:4,more:[0,3,4],moreov:3,most:[0,1,4,6],move:[0,4,6],move_xk:0,msg:6,multipl:[2,3,4,6],multiplicative_noise_level:0,must:6,myfil:[1,6],n_to_print_whole_x_vector:0,nag:3,nan:[0,2],navig:5,ndirs_initi:0,necessari:2,need:[4,6],never:[3,6],next:6,nfev:6,nois:[3,4,6],noisi:[0,3,4],non:[3,4,6],nonconvex:4,none:[0,6],nonlinear:3,nonlinear_system:6,nonzero:0,nor:4,norm:[1,6],norm_gk:1,norm_sk:1,normal:6,note:[5,6],now:[0,6],npt:[0,1,6],nrestart:6,nrun:[1,6],nsampl:[1,6],num_extra_step:0,num_geom_step:0,num_new_dirns_each_it:0,number:[0,1,4,6],numer:3,numericalalgorithmsgroup:5,numpi:[0,2,5,6],obj:6,object:[1,2,3,4],objfun:[0,1,2,6],objfun_has_nois:[0,6],obs:4,observ:[4,6],occur:6,oct:3,octob:3,often:4,older:5,one:[0,1,4,5,6],onli:[0,1,4,6],onto:6,oper:2,oppos:0,opposit:0,opt:6,optim:[0,1,4,6],option:[0,2,3,4,5],order:6,org:5,origin:6,orthogon:0,other:0,otherwis:[0,4],our:[3,4,6],out:6,output:[1,2,3,4],outsid:6,over:[0,6],overdetermin:4,overflow:2,overflowerror:0,overlin:0,overrid:0,overridden:6,overview:[3,6],packag:[2,3,5],page:6,panda:[1,5,6],paper:[0,3,4,6],param1:6,param2:6,paramet:[2,3],part:[2,6],partial:6,particularli:[4,6],pass:[2,6],past:0,pball:6,pbox:6,per:[0,1,2,6],perform:[0,2,4,6],perturb:0,perturb_trust_region_step:0,phase:[0,6],physic:4,piec:[0,1],pip:3,pleas:3,plot:6,plt:6,point:[1,2,3,4,6],pois:1,poised:[0,1],popul:1,posisbl:0,possibl:[4,6],post:0,practic:6,precondit:0,predict:[1,4],prediction_error:6,prefer:4,preprint:[0,3,4,6],present:5,preserv:0,previou:[0,6],previous:1,print:[0,2,6],print_funct:6,print_progress:6,privat:5,privileg:5,probabl:4,problem:[0,1,2,3,4,6],proccess:4,process:[0,4],produc:[4,6],progress:[3,6],prohibit:4,project:6,provid:[4,5,6],pull:5,pure:5,purpos:6,put:4,pydata:5,pyplot:6,python:[0,5,6],quad:[3,4,6],quantit:4,quantiti:4,quit:0,quit_on_noise_level:0,r_1:[0,4,6],r_2:4,r_i:[0,4,6],r_m:[0,4,6],r_tol:0,radii:0,radiu:[0,1,2,4,6],random:[0,2,6],random_directions_make_orthogon:0,random_initial_direct:0,rang:6,rank:3,rate:0,rather:2,ratio:[0,1],reach:[0,6],recommend:0,recycl:0,reduc:[0,2],reduce_delta:0,reduct:1,refer:3,regim:2,region:[2,3,4,5,6],regress:3,regular:0,regularli:4,rel:0,rel_tol:0,relationship:4,relax:[3,6],releas:[2,3],remov:[2,5],repeat:4,replac:6,reproduc:[2,6],request:6,requir:[0,3,4,6],rerun:5,reset:0,reset_delta:0,reset_rho:0,resid:6,residu:[1,4,6],respect:0,restart:[1,2,3,6],result:[0,1,2,4,6],retriev:2,rho:[1,6],rho_:0,rho_k:[0,1],rhobeg:6,rhoend:6,rhoend_scal:0,right:[2,6],risk:0,robert:[0,3,4,6],robust:[0,3,4,6],root:5,rosenbrock:6,rosenbrock_noisi:6,rounding_error_const:0,roundoff:0,row:1,run:[0,5,6],run_in_parallel:0,runtim:2,runtimewarn:6,s_k:[0,1,4],safeti:[0,1,2],safety_step_thresh:0,sai:4,same:[0,3,4,6],sampl:6,sas:6,satisfi:[4,6],save:[0,1,6],save_diagnostic_info:[0,1],save_poised:[0,1],save_rk:[0,1],save_xk:[0,1],saw:1,scale:[0,2,6],scale_factor:0,scale_factor_for_quit:0,scaling_within_bound:6,scipi:[4,5,6],screen:0,script:6,search:[0,2,4],section:[0,1,2,6],see:[1,5,6],seed:[2,6],sens:4,sensibl:6,set:[1,2,3,4,6],set_xlabel:6,set_ylabel:6,setup:[0,5],sever:[0,4,6],shape:6,shift:[0,6],should:[0,5,6],show:6,side:[2,4],similar:4,similarli:4,simpl:[2,3,5],simpli:4,simul:4,sin:4,sinc:[0,1],singular:[0,6],site:5,situat:4,size:[4,6],slope:0,slow:[1,3,6],slow_it:1,small:[3,4,6],smaller:0,smallest:[0,1],smooth:0,soft:0,softwar:[0,3,4,5,6],soln:[1,6],solut:[2,3,4,5,6],solv:[0,1,3],solver:[0,2,3,4,6],some:[0,4,5,6],sourc:5,space:[0,2,4],specifi:[0,6],squar:[1,4],stai:4,stand:3,start:[2,4,6],statu:6,step:[0,1,2,4,6],still:0,stochast:[3,6],stop:[0,2],store:[0,2],str:6,string:6,strongli:4,structur:3,subproblem:[2,4,5,6],success:[0,1,6],successfulli:6,sudo:5,suffici:6,suitabl:4,sum:[1,4],sum_:[3,4,6],supervis:3,support:[3,5,6],suppos:[4,6],sure:[4,5],svd_max_jac_cond:0,svd_scale_factor:0,system:[0,1,3,5],t_i:6,tabl:6,take:[0,4,6],taken:6,task:4,tdata:6,technic:6,techniqu:4,termin:[1,3,6],test:[3,6],text:[0,1,3,4,6],than:[0,2,6],thei:[0,4],them:[2,4],therefor:6,thi:[0,1,2,3,4,5,6],thresh_for_slow:0,threshold:0,through:[0,2],throw_error_on_nan:0,time:[0,1,4,6],to_csv:1,toler:0,too:6,top:5,total:[1,6],tr_radiu:0,train:3,transact:[0,3,4,6],trend:0,trial:4,triangular:2,trigger:0,troubl:6,trust:[2,3,4,5,6],trustregion:[2,5],tupl:6,turn:1,two:[0,4],type:[1,4],typic:4,unabl:6,under:3,underdetermin:4,uninstal:3,unknown:4,unless:6,unpack:5,unsuccess:0,updat:2,upgrad:5,upper:[2,6],usag:[3,6],use:[0,1,2,3,5],use_full_rank_interp:0,use_old_rk:0,use_restart:0,use_soft_restart:0,used:[0,1,4,6],useful:[0,4,6],user:[0,4,5,6],user_param:[0,1,6],uses:0,using:[0,2,3,4,6],usual:0,val1:6,val2:6,valu:[1,2,3,4,6],vari:0,variabl:6,vast:4,vdot:4,vector:[0,1,4,6],veri:[0,4,6],version:[0,3,5],via:6,viewer:6,visibl:6,wai:[0,4,6],want:[5,6],warn:[2,6],well:4,what:[0,1],when:[0,2,3,6],where:[0,4,6],whether:[0,4,6],which:[0,1,2,3,4,5,6],whole:2,why:6,wish:[3,4,6],within:[0,2,6],without:[0,3],work:5,wors:6,write:6,written:5,www:5,x_0:[0,6],x_1:[4,6],x_2:[4,6],x_b:0,x_j:6,x_k:[0,4],x_n:4,xmin:6,xtol:6,y_1:4,y_i:[4,6],y_k:[0,1],y_m:4,y_t:0,ydata:6,yet:0,you:[3,4,5,6],your:[4,5,6],zenodo:2,zero:[0,2]},titles:["Advanced Usage","Diagnostic Information","Version History","DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization","Overview","Installing DFO-LS","Using DFO-LS"],titleterms:{Adding:6,Using:6,acknowledg:3,advanc:0,algorithm:[0,1,4],apr:2,argument:6,bound:[],check:0,constraint:6,count:1,current:1,data:6,deriv:3,detail:4,dfo:[3,4,5,6],diagnost:1,dykstra:0,dynam:0,equat:[4,6],estim:6,evalu:6,exampl:6,feb:2,fit:[4,6],free:3,gener:0,grow:0,histori:2,how:6,inform:[0,1],initi:0,instal:5,interpol:[0,1],iter:1,jan:2,jun:2,least:[3,6],log:0,manag:0,manual:5,matrix:0,minim:[3,6],model:[0,1],more:6,multipl:0,nois:0,noisi:6,nonlinear:[4,6],object:[0,6],oct:2,optim:3,option:6,output:[0,6],overview:4,paramet:[0,4,6],pip:5,point:0,progress:[0,1],rank:0,refer:[0,4,6],region:[0,1],regress:0,requir:5,restart:0,set:0,simpl:6,slow:0,small:0,solv:[4,6],squar:[3,6],stochast:0,system:[4,6],termin:0,test:5,trust:[0,1],uninstal:5,usag:0,use:[4,6],using:5,valu:0,version:2,when:4}}) \ No newline at end of file diff --git a/docs/build/html/userguide.html b/docs/build/html/userguide.html index 5b40502..ab38f4f 100644 --- a/docs/build/html/userguide.html +++ b/docs/build/html/userguide.html @@ -8,7 +8,7 @@ - Using DFO-LS — DFO-LS v1.2.3 documentation + Using DFO-LS — DFO-LS v1.3.0 documentation @@ -61,7 +61,7 @@
    - 1.2.3 + 1.3.0
    @@ -94,7 +94,7 @@
  • How to use DFO-LS
  • Optional Arguments
  • A Simple Example
  • -
  • Adding Bounds and More Output
  • +
  • Adding Constraints and More Output
  • Example: Noisy Objective Evaluation
  • Example: Parameter Estimation/Data Fitting
  • Example: Solving a Nonlinear System of Equations
  • @@ -176,8 +176,8 @@

    Nonlinear Least-Squares Minimization \[\begin{split}\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ -\text{s.t.} &\quad a \leq x \leq b\end{split}\]

    -

    where the bound constraints \(a \leq x \leq b\) are optional. The upper and lower bounds on the variables are non-relaxable (i.e. DFO-LS will never ask to evaluate a point outside the bounds).

    +\text{s.t.} &\quad x \in C\end{split}\] +

    where the set \(C\) is an optional non-empty, closed and convex constraint set. The constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible).

    DFO-LS iteratively constructs an interpolation-based model for the objective, and determines a step using a trust-region framework. For an in-depth technical description of the algorithm see the paper [CFMR2018].

    @@ -239,6 +239,7 @@

    Optional Arguments
  • args - a tuple of extra arguments passed to the objective function.

  • bounds - a tuple (lower, upper) with the vectors \(a\) and \(b\) of lower and upper bounds on \(x\) (default is \(a_i=-10^{20}\) and \(b_i=10^{20}\)). To set bounds for either lower or upper, but not both, pass a tuple (lower, None) or (None, upper).

  • +
  • projections - a list [f1,f2,...,fn] of functions that each take as input a point x and return a new point y. The new point y should be given by the projection of x onto a closed convex set. The intersection of all sets corresponding to a function must be non-empty.

  • npt - the number of interpolation points to use (default is len(x0)+1). If using restarts, this is the number of points to use in the first run of the solver, before any restarts (and may be optionally increased via settings in user_params).

  • rhobeg - the initial value of the trust region radius (default is \(0.1\max(\|x_0\|_{\infty}, 1)\), or 0.1 if scaling_within_bounds).

  • rhoend - minimum allowed value of trust region radius, which determines when a successful termination occurs (default is \(10^{-8}\)).

  • @@ -300,9 +301,9 @@

    A Simple Exampleexamples directory on the DFO-LS Github page.

    -
    -

    Adding Bounds and More Output¶

    -

    We can extend the above script to add constraints. To do this, we can add the lines

    +
    +

    Adding Constraints and More Output¶

    +

    We can extend the above script to add constraints. To add bound constraints alone, we can add the lines

    # Define bound constraints (lower <= x <= upper)
     lower = np.array([-10.0, -10.0])
    @@ -335,6 +336,39 @@ 

    Adding Bounds and More Output\(x_0\) to a point within the bounds, in this case \(x_0=(-1.2,0.85)\).

    +

    If we want more complex constraints, we can instead write

    +
    +
    # Define the projection functions
    +def pball(x):
    +    c = np.array([0.7,1.5]) # ball centre
    +    r = 0.4 # ball radius
    +    return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c)
    +
    +def pbox(x):
    +    l = np.array([-2, 1.1]) # lower bound
    +    u = np.array([0.9, 3]) # upper bound
    +    return np.minimum(np.maximum(x,l), u)
    +
    +# Call DFO-LS (with box and ball constraints)
    +soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox])
    +
    +
    +
    +

    DFO-LS correctly finds the solution to this constrained problem too:

    +
    +
    ****** DFO-LS Results ******
    +Solution xmin = [0.9        1.15358984]
    +Residual vector = [3.43589838 0.1       ]
    +Objective value f(xmin) = 11.81539771
    +Needed 10 objective evaluations (at 10 points)
    +Approximate Jacobian = [[-1.79826221e+01  1.00004412e+01]
    + [-1.00000000e+00  6.81262102e-15]]
    +Exit flag = 0
    +Success: rho has reached rhoend
    +****************************
    +
    +
    +

    We can also get DFO-LS to print out more detailed information about its progress using the logging module. To do this, we need to add the following lines:

    import logging
    @@ -344,7 +378,7 @@ 

    Adding Bounds and More Outputobjfun:

    +

    And for the simple bounds example we can now see each evaluation of objfun:

    Function eval 1 at point 1 has f = 39.65 at x = [-1.2   0.85]
     Initialising (coordinate directions)
    diff --git a/docs/build/latex/DFOLS.aux b/docs/build/latex/DFOLS.aux
    index a3dc2be..dfc33b1 100755
    --- a/docs/build/latex/DFOLS.aux
    +++ b/docs/build/latex/DFOLS.aux
    @@ -1,5 +1,7 @@
     \relax 
     \providecommand\hyper@newdestlabel[2]{}
    +\providecommand\babel@aux[2]{}
    +\@nameuse{bbl@beforestart}
     \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
     \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
     \global\let\oldcontentsline\contentsline
    @@ -18,134 +20,141 @@
     \providecommand\HyField@AuxAddToCoFields[2]{}
     \babel@aux{english}{}
     \newlabel{index::doc}{{}{1}{}{section*.2}{}}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {1}Installing DFO\sphinxhyphen {}LS}{3}{chapter.1}}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {1}Installing DFO\sphinxhyphen {}LS}{3}{chapter.1}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
     \newlabel{install:installing-dfo-ls}{{1}{3}{Installing DFO\sphinxhyphen {}LS}{chapter.1}{}}
     \newlabel{install::doc}{{1}{3}{Installing DFO\sphinxhyphen {}LS}{chapter.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {1.1}Requirements}{3}{section.1.1}}
    +\@writefile{toc}{\contentsline {section}{\numberline {1.1}Requirements}{3}{section.1.1}\protected@file@percent }
     \newlabel{install:requirements}{{1.1}{3}{Requirements}{section.1.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {1.2}Installation using pip}{3}{section.1.2}}
    +\@writefile{toc}{\contentsline {section}{\numberline {1.2}Installation using pip}{3}{section.1.2}\protected@file@percent }
     \newlabel{install:installation-using-pip}{{1.2}{3}{Installation using pip}{section.1.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {1.3}Manual installation}{4}{section.1.3}}
    +\@writefile{toc}{\contentsline {section}{\numberline {1.3}Manual installation}{4}{section.1.3}\protected@file@percent }
     \newlabel{install:manual-installation}{{1.3}{4}{Manual installation}{section.1.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {1.4}Testing}{4}{section.1.4}}
    +\@writefile{toc}{\contentsline {section}{\numberline {1.4}Testing}{4}{section.1.4}\protected@file@percent }
     \newlabel{install:testing}{{1.4}{4}{Testing}{section.1.4}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {1.5}Uninstallation}{4}{section.1.5}}
    +\@writefile{toc}{\contentsline {section}{\numberline {1.5}Uninstallation}{4}{section.1.5}\protected@file@percent }
     \newlabel{install:uninstallation}{{1.5}{4}{Uninstallation}{section.1.5}{}}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {2}Overview}{5}{chapter.2}}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {2}Overview}{5}{chapter.2}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
     \newlabel{info:overview}{{2}{5}{Overview}{chapter.2}{}}
     \newlabel{info::doc}{{2}{5}{Overview}{chapter.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {2.1}When to use DFO\sphinxhyphen {}LS}{5}{section.2.1}}
    +\@writefile{toc}{\contentsline {section}{\numberline {2.1}When to use DFO\sphinxhyphen {}LS}{5}{section.2.1}\protected@file@percent }
     \newlabel{info:when-to-use-dfo-ls}{{2.1}{5}{When to use DFO\sphinxhyphen {}LS}{section.2.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {2.2}Parameter Fitting}{5}{section.2.2}}
    +\@writefile{toc}{\contentsline {section}{\numberline {2.2}Parameter Fitting}{5}{section.2.2}\protected@file@percent }
     \newlabel{info:parameter-fitting}{{2.2}{5}{Parameter Fitting}{section.2.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {2.3}Solving Nonlinear Systems of Equations}{6}{section.2.3}}
    +\@writefile{toc}{\contentsline {section}{\numberline {2.3}Solving Nonlinear Systems of Equations}{6}{section.2.3}\protected@file@percent }
     \newlabel{info:solving-nonlinear-systems-of-equations}{{2.3}{6}{Solving Nonlinear Systems of Equations}{section.2.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {2.4}Details of the DFO\sphinxhyphen {}LS Algorithm}{6}{section.2.4}}
    -\newlabel{info:details-of-the-dfo-ls-algorithm}{{2.4}{6}{Details of the DFO\sphinxhyphen {}LS Algorithm}{section.2.4}{}}
    -\citation{userguide:cfmr2018}
    -\@writefile{toc}{\contentsline {section}{\numberline {2.5}References}{7}{section.2.5}}
    +\citation{info:cfmr2018}
    +\@writefile{toc}{\contentsline {section}{\numberline {2.4}Details of the DFO\sphinxhyphen {}LS Algorithm}{7}{section.2.4}\protected@file@percent }
    +\newlabel{info:details-of-the-dfo-ls-algorithm}{{2.4}{7}{Details of the DFO\sphinxhyphen {}LS Algorithm}{section.2.4}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {2.5}References}{7}{section.2.5}\protected@file@percent }
     \newlabel{info:references}{{2.5}{7}{References}{section.2.5}{}}
    -\citation{userguide:cfmr2018}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {3}Using DFO\sphinxhyphen {}LS}{9}{chapter.3}}
    +\citation{info:cfmr2018}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {3}Using DFO\sphinxhyphen {}LS}{9}{chapter.3}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
     \newlabel{userguide:using-dfo-ls}{{3}{9}{Using DFO\sphinxhyphen {}LS}{chapter.3}{}}
     \newlabel{userguide::doc}{{3}{9}{Using DFO\sphinxhyphen {}LS}{chapter.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Nonlinear Least\sphinxhyphen {}Squares Minimization}{9}{section.3.1}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.1}Nonlinear Least\sphinxhyphen {}Squares Minimization}{9}{section.3.1}\protected@file@percent }
     \newlabel{userguide:nonlinear-least-squares-minimization}{{3.1}{9}{Nonlinear Least\sphinxhyphen {}Squares Minimization}{section.3.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.2}How to use DFO\sphinxhyphen {}LS}{9}{section.3.2}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.2}How to use DFO\sphinxhyphen {}LS}{9}{section.3.2}\protected@file@percent }
     \newlabel{userguide:how-to-use-dfo-ls}{{3.2}{9}{How to use DFO\sphinxhyphen {}LS}{section.3.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Optional Arguments}{10}{section.3.3}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.3}Optional Arguments}{10}{section.3.3}\protected@file@percent }
     \newlabel{userguide:optional-arguments}{{3.3}{10}{Optional Arguments}{section.3.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.4}A Simple Example}{11}{section.3.4}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.4}A Simple Example}{11}{section.3.4}\protected@file@percent }
     \newlabel{userguide:a-simple-example}{{3.4}{11}{A Simple Example}{section.3.4}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.5}Adding Bounds and More Output}{12}{section.3.5}}
    -\newlabel{userguide:adding-bounds-and-more-output}{{3.5}{12}{Adding Bounds and More Output}{section.3.5}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.6}Example: Noisy Objective Evaluation}{13}{section.3.6}}
    -\newlabel{userguide:example-noisy-objective-evaluation}{{3.6}{13}{Example: Noisy Objective Evaluation}{section.3.6}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.7}Example: Parameter Estimation/Data Fitting}{15}{section.3.7}}
    -\newlabel{userguide:example-parameter-estimation-data-fitting}{{3.7}{15}{Example: Parameter Estimation/Data Fitting}{section.3.7}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.8}Example: Solving a Nonlinear System of Equations}{17}{section.3.8}}
    -\newlabel{userguide:example-solving-a-nonlinear-system-of-equations}{{3.8}{17}{Example: Solving a Nonlinear System of Equations}{section.3.8}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {3.9}References}{18}{section.3.9}}
    -\newlabel{userguide:references}{{3.9}{18}{References}{section.3.9}{}}
    -\citation{userguide:cfmr2018}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {4}Advanced Usage}{19}{chapter.4}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.5}Adding Constraints and More Output}{12}{section.3.5}\protected@file@percent }
    +\newlabel{userguide:adding-constraints-and-more-output}{{3.5}{12}{Adding Constraints and More Output}{section.3.5}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.6}Example: Noisy Objective Evaluation}{14}{section.3.6}\protected@file@percent }
    +\newlabel{userguide:example-noisy-objective-evaluation}{{3.6}{14}{Example: Noisy Objective Evaluation}{section.3.6}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.7}Example: Parameter Estimation/Data Fitting}{16}{section.3.7}\protected@file@percent }
    +\newlabel{userguide:example-parameter-estimation-data-fitting}{{3.7}{16}{Example: Parameter Estimation/Data Fitting}{section.3.7}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.8}Example: Solving a Nonlinear System of Equations}{18}{section.3.8}\protected@file@percent }
    +\newlabel{userguide:example-solving-a-nonlinear-system-of-equations}{{3.8}{18}{Example: Solving a Nonlinear System of Equations}{section.3.8}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {3.9}References}{19}{section.3.9}\protected@file@percent }
    +\newlabel{userguide:references}{{3.9}{19}{References}{section.3.9}{}}
    +\citation{info:cfmr2018}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {4}Advanced Usage}{21}{chapter.4}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
    -\newlabel{advanced:advanced-usage}{{4}{19}{Advanced Usage}{chapter.4}{}}
    -\newlabel{advanced::doc}{{4}{19}{Advanced Usage}{chapter.4}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.1}General Algorithm Parameters}{19}{section.4.1}}
    -\newlabel{advanced:general-algorithm-parameters}{{4.1}{19}{General Algorithm Parameters}{section.4.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.2}Logging and Output}{19}{section.4.2}}
    -\newlabel{advanced:logging-and-output}{{4.2}{19}{Logging and Output}{section.4.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.3}Initialization of Points}{20}{section.4.3}}
    -\newlabel{advanced:initialization-of-points}{{4.3}{20}{Initialization of Points}{section.4.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.4}Trust Region Management}{20}{section.4.4}}
    -\newlabel{advanced:trust-region-management}{{4.4}{20}{Trust Region Management}{section.4.4}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.5}Termination on Small Objective Value}{20}{section.4.5}}
    -\newlabel{advanced:termination-on-small-objective-value}{{4.5}{20}{Termination on Small Objective Value}{section.4.5}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.6}Termination on Slow Progress}{20}{section.4.6}}
    -\newlabel{advanced:termination-on-slow-progress}{{4.6}{20}{Termination on Slow Progress}{section.4.6}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.7}Stochastic Noise Information}{21}{section.4.7}}
    -\newlabel{advanced:stochastic-noise-information}{{4.7}{21}{Stochastic Noise Information}{section.4.7}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.8}Interpolation Management}{21}{section.4.8}}
    -\newlabel{advanced:interpolation-management}{{4.8}{21}{Interpolation Management}{section.4.8}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.9}Regression Model Management}{21}{section.4.9}}
    -\newlabel{advanced:regression-model-management}{{4.9}{21}{Regression Model Management}{section.4.9}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.10}Multiple Restarts}{21}{section.4.10}}
    -\newlabel{advanced:multiple-restarts}{{4.10}{21}{Multiple Restarts}{section.4.10}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.11}Dynamically Growing Initial Set}{22}{section.4.11}}
    -\newlabel{advanced:dynamically-growing-initial-set}{{4.11}{22}{Dynamically Growing Initial Set}{section.4.11}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {4.12}References}{23}{section.4.12}}
    -\newlabel{advanced:references}{{4.12}{23}{References}{section.4.12}{}}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {5}Diagnostic Information}{25}{chapter.5}}
    +\newlabel{advanced:advanced-usage}{{4}{21}{Advanced Usage}{chapter.4}{}}
    +\newlabel{advanced::doc}{{4}{21}{Advanced Usage}{chapter.4}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.1}General Algorithm Parameters}{21}{section.4.1}\protected@file@percent }
    +\newlabel{advanced:general-algorithm-parameters}{{4.1}{21}{General Algorithm Parameters}{section.4.1}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.2}Logging and Output}{21}{section.4.2}\protected@file@percent }
    +\newlabel{advanced:logging-and-output}{{4.2}{21}{Logging and Output}{section.4.2}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.3}Initialization of Points}{22}{section.4.3}\protected@file@percent }
    +\newlabel{advanced:initialization-of-points}{{4.3}{22}{Initialization of Points}{section.4.3}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.4}Trust Region Management}{22}{section.4.4}\protected@file@percent }
    +\newlabel{advanced:trust-region-management}{{4.4}{22}{Trust Region Management}{section.4.4}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.5}Termination on Small Objective Value}{22}{section.4.5}\protected@file@percent }
    +\newlabel{advanced:termination-on-small-objective-value}{{4.5}{22}{Termination on Small Objective Value}{section.4.5}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.6}Termination on Slow Progress}{22}{section.4.6}\protected@file@percent }
    +\newlabel{advanced:termination-on-slow-progress}{{4.6}{22}{Termination on Slow Progress}{section.4.6}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.7}Stochastic Noise Information}{23}{section.4.7}\protected@file@percent }
    +\newlabel{advanced:stochastic-noise-information}{{4.7}{23}{Stochastic Noise Information}{section.4.7}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.8}Interpolation Management}{23}{section.4.8}\protected@file@percent }
    +\newlabel{advanced:interpolation-management}{{4.8}{23}{Interpolation Management}{section.4.8}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.9}Regression Model Management}{23}{section.4.9}\protected@file@percent }
    +\newlabel{advanced:regression-model-management}{{4.9}{23}{Regression Model Management}{section.4.9}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.10}Multiple Restarts}{23}{section.4.10}\protected@file@percent }
    +\newlabel{advanced:multiple-restarts}{{4.10}{23}{Multiple Restarts}{section.4.10}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.11}Dynamically Growing Initial Set}{24}{section.4.11}\protected@file@percent }
    +\newlabel{advanced:dynamically-growing-initial-set}{{4.11}{24}{Dynamically Growing Initial Set}{section.4.11}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.12}Dykstra’s Algorithm}{25}{section.4.12}\protected@file@percent }
    +\newlabel{advanced:dykstra-s-algorithm}{{4.12}{25}{Dykstra’s Algorithm}{section.4.12}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.13}Checking Matrix Rank}{25}{section.4.13}\protected@file@percent }
    +\newlabel{advanced:checking-matrix-rank}{{4.13}{25}{Checking Matrix Rank}{section.4.13}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {4.14}References}{25}{section.4.14}\protected@file@percent }
    +\newlabel{advanced:references}{{4.14}{25}{References}{section.4.14}{}}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {5}Diagnostic Information}{27}{chapter.5}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
    -\newlabel{diagnostic:diagnostic-information}{{5}{25}{Diagnostic Information}{chapter.5}{}}
    -\newlabel{diagnostic::doc}{{5}{25}{Diagnostic Information}{chapter.5}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {5.1}Current Iterate}{25}{section.5.1}}
    -\newlabel{diagnostic:current-iterate}{{5.1}{25}{Current Iterate}{section.5.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {5.2}Trust Region}{25}{section.5.2}}
    -\newlabel{diagnostic:trust-region}{{5.2}{25}{Trust Region}{section.5.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {5.3}Model Interpolation}{26}{section.5.3}}
    -\newlabel{diagnostic:model-interpolation}{{5.3}{26}{Model Interpolation}{section.5.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {5.4}Iteration Count}{26}{section.5.4}}
    -\newlabel{diagnostic:iteration-count}{{5.4}{26}{Iteration Count}{section.5.4}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {5.5}Algorithm Progress}{26}{section.5.5}}
    -\newlabel{diagnostic:algorithm-progress}{{5.5}{26}{Algorithm Progress}{section.5.5}{}}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {6}Version History}{27}{chapter.6}}
    +\newlabel{diagnostic:diagnostic-information}{{5}{27}{Diagnostic Information}{chapter.5}{}}
    +\newlabel{diagnostic::doc}{{5}{27}{Diagnostic Information}{chapter.5}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {5.1}Current Iterate}{27}{section.5.1}\protected@file@percent }
    +\newlabel{diagnostic:current-iterate}{{5.1}{27}{Current Iterate}{section.5.1}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {5.2}Trust Region}{27}{section.5.2}\protected@file@percent }
    +\newlabel{diagnostic:trust-region}{{5.2}{27}{Trust Region}{section.5.2}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {5.3}Model Interpolation}{28}{section.5.3}\protected@file@percent }
    +\newlabel{diagnostic:model-interpolation}{{5.3}{28}{Model Interpolation}{section.5.3}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {5.4}Iteration Count}{28}{section.5.4}\protected@file@percent }
    +\newlabel{diagnostic:iteration-count}{{5.4}{28}{Iteration Count}{section.5.4}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {5.5}Algorithm Progress}{28}{section.5.5}\protected@file@percent }
    +\newlabel{diagnostic:algorithm-progress}{{5.5}{28}{Algorithm Progress}{section.5.5}{}}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {6}Version History}{29}{chapter.6}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
    -\newlabel{history:version-history}{{6}{27}{Version History}{chapter.6}{}}
    -\newlabel{history::doc}{{6}{27}{Version History}{chapter.6}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.1}Version 1.0 (6 Feb 2018)}{27}{section.6.1}}
    -\newlabel{history:version-1-0-6-feb-2018}{{6.1}{27}{Version 1.0 (6 Feb 2018)}{section.6.1}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.2}Version 1.0.1 (20 Feb 2018)}{27}{section.6.2}}
    -\newlabel{history:version-1-0-1-20-feb-2018}{{6.2}{27}{Version 1.0.1 (20 Feb 2018)}{section.6.2}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.3}Version 1.0.2 (20 Jun 2018)}{27}{section.6.3}}
    -\newlabel{history:version-1-0-2-20-jun-2018}{{6.3}{27}{Version 1.0.2 (20 Jun 2018)}{section.6.3}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.4}Version 1.1 (16 Jan 2019)}{27}{section.6.4}}
    -\newlabel{history:version-1-1-16-jan-2019}{{6.4}{27}{Version 1.1 (16 Jan 2019)}{section.6.4}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.5}Version 1.1.1 (5 Apr 2019)}{28}{section.6.5}}
    -\newlabel{history:version-1-1-1-5-apr-2019}{{6.5}{28}{Version 1.1.1 (5 Apr 2019)}{section.6.5}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.6}Version 1.2 (12 Feb 2020)}{28}{section.6.6}}
    -\newlabel{history:version-1-2-12-feb-2020}{{6.6}{28}{Version 1.2 (12 Feb 2020)}{section.6.6}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.7}Version 1.2.1 (13 Feb 2020)}{28}{section.6.7}}
    -\newlabel{history:version-1-2-1-13-feb-2020}{{6.7}{28}{Version 1.2.1 (13 Feb 2020)}{section.6.7}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.8}Version 1.2.2 (26 Feb 2021)}{28}{section.6.8}}
    -\newlabel{history:version-1-2-2-26-feb-2021}{{6.8}{28}{Version 1.2.2 (26 Feb 2021)}{section.6.8}{}}
    -\@writefile{toc}{\contentsline {section}{\numberline {6.9}Version 1.2.3 (1 Jun 2021)}{28}{section.6.9}}
    -\newlabel{history:version-1-2-3-1-jun-2021}{{6.9}{28}{Version 1.2.3 (1 Jun 2021)}{section.6.9}{}}
    -\@writefile{toc}{\contentsline {chapter}{\numberline {7}Acknowledgements}{29}{chapter.7}}
    +\newlabel{history:version-history}{{6}{29}{Version History}{chapter.6}{}}
    +\newlabel{history::doc}{{6}{29}{Version History}{chapter.6}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.1}Version 1.0 (6 Feb 2018)}{29}{section.6.1}\protected@file@percent }
    +\newlabel{history:version-1-0-6-feb-2018}{{6.1}{29}{Version 1.0 (6 Feb 2018)}{section.6.1}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.2}Version 1.0.1 (20 Feb 2018)}{29}{section.6.2}\protected@file@percent }
    +\newlabel{history:version-1-0-1-20-feb-2018}{{6.2}{29}{Version 1.0.1 (20 Feb 2018)}{section.6.2}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.3}Version 1.0.2 (20 Jun 2018)}{29}{section.6.3}\protected@file@percent }
    +\newlabel{history:version-1-0-2-20-jun-2018}{{6.3}{29}{Version 1.0.2 (20 Jun 2018)}{section.6.3}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.4}Version 1.1 (16 Jan 2019)}{29}{section.6.4}\protected@file@percent }
    +\newlabel{history:version-1-1-16-jan-2019}{{6.4}{29}{Version 1.1 (16 Jan 2019)}{section.6.4}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.5}Version 1.1.1 (5 Apr 2019)}{30}{section.6.5}\protected@file@percent }
    +\newlabel{history:version-1-1-1-5-apr-2019}{{6.5}{30}{Version 1.1.1 (5 Apr 2019)}{section.6.5}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.6}Version 1.2 (12 Feb 2020)}{30}{section.6.6}\protected@file@percent }
    +\newlabel{history:version-1-2-12-feb-2020}{{6.6}{30}{Version 1.2 (12 Feb 2020)}{section.6.6}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.7}Version 1.2.1 (13 Feb 2020)}{30}{section.6.7}\protected@file@percent }
    +\newlabel{history:version-1-2-1-13-feb-2020}{{6.7}{30}{Version 1.2.1 (13 Feb 2020)}{section.6.7}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.8}Version 1.2.2 (26 Feb 2021)}{30}{section.6.8}\protected@file@percent }
    +\newlabel{history:version-1-2-2-26-feb-2021}{{6.8}{30}{Version 1.2.2 (26 Feb 2021)}{section.6.8}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.9}Version 1.2.3 (1 Jun 2021)}{30}{section.6.9}\protected@file@percent }
    +\newlabel{history:version-1-2-3-1-jun-2021}{{6.9}{30}{Version 1.2.3 (1 Jun 2021)}{section.6.9}{}}
    +\@writefile{toc}{\contentsline {section}{\numberline {6.10}Version 1.3.0 (16 Oct 2021)}{30}{section.6.10}\protected@file@percent }
    +\newlabel{history:version-1-3-0-16-oct-2021}{{6.10}{30}{Version 1.3.0 (16 Oct 2021)}{section.6.10}{}}
    +\@writefile{toc}{\contentsline {chapter}{\numberline {7}Acknowledgements}{31}{chapter.7}\protected@file@percent }
     \@writefile{lof}{\addvspace {10\p@ }}
     \@writefile{lot}{\addvspace {10\p@ }}
    -\newlabel{index:acknowledgements}{{7}{29}{Acknowledgements}{chapter.7}{}}
    +\newlabel{index:acknowledgements}{{7}{31}{Acknowledgements}{chapter.7}{}}
     \bibcite{info:cfmr2018}{CFMR2018}
     \bibcite{userguide:cfmr2018}{CFMR2018}
     \bibcite{advanced:cfmr2018}{CFMR2018}
    -\@writefile{toc}{\contentsline {chapter}{Bibliography}{31}{chapter*.3}}
    +\@writefile{toc}{\contentsline {chapter}{Bibliography}{33}{chapter*.3}\protected@file@percent }
    +\gdef \@abspage@last{37}
    diff --git a/docs/build/latex/DFOLS.fdb_latexmk b/docs/build/latex/DFOLS.fdb_latexmk
    index c8ca9ec..c3143db 100755
    --- a/docs/build/latex/DFOLS.fdb_latexmk
    +++ b/docs/build/latex/DFOLS.fdb_latexmk
    @@ -1,187 +1,194 @@
     # Fdb version 3
    -["makeindex DFOLS.idx"] 1533896586 "DFOLS.idx" "DFOLS.ind" "DFOLS" 1622530124
    -  "DFOLS.idx" 1622530123 0 d41d8cd98f00b204e9800998ecf8427e ""
    +["makeindex DFOLS.idx"] 1533896586 "DFOLS.idx" "DFOLS.ind" "DFOLS" 1634440875
    +  "DFOLS.idx" 1634440874 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
       (generated)
    -  "DFOLS.ilg"
       "DFOLS.ind"
    -["pdflatex"] 1622530123 "DFOLS.tex" "DFOLS.pdf" "DFOLS" 1622530124
    -  "/etc/texmf/web2c/texmf.cnf" 1585531380 475 c0e671620eb5563b2130f56340a5fde8 ""
    -  "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1480098666 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
    -  "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1511824771 3332 103109f5612ad95229751940c61aada0 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm" 1480098688 1292 3059476c50a24578715759f22652f3d0 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8t.tfm" 1480098688 1384 87406e4336af44af883a035f17f319d9 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm" 1480098688 1268 8bd405dc5751cfed76cb6fb2db78cb50 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm" 1480098688 1292 bd42be2f344128bff6d35d98474adfe3 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm" 1480098688 1384 4632f5e54900a7dadbb83f555bc61e56 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8r.tfm" 1480098688 1544 4fb84cf2931ec523c2c6a08d939088ba ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8t.tfm" 1480098688 1596 04a657f277f0401ba37d66e716627ac4 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm" 1480098688 4484 b828043cbd581d289d955903c1339981 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm" 1480098688 6628 34c39492c0adc454c1c199922bba8363 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8r.tfm" 1480098688 4736 423eba67d4e9420ec9df4a8def143b08 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8t.tfm" 1480098688 6880 fe6c7967f27585f6fa9876f3af14edd2 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm" 1480098688 7040 b2bd27e2bfe6f6948cbc3239cae7444f ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" 1480098689 4524 6bce29db5bc272ba5f332261583fee9c ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm" 1480098689 6880 f19b8995b61c334d78fc734065f6b4d4 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm" 1480098689 1352 fa28a7e6d323c65ce7d13d5342ff6be2 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" 1480098689 4408 25b74d011a4c66b7f212c0cc3c90061b ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm" 1480098689 6672 e3ab9e37e925f3045c9005e6d1473d56 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" 1480098689 4640 532ca3305aad10cc01d769f3f91f1029 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm" 1480098689 6944 94c55ad86e6ea2826f78ba2240d50df9 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1480098696 3584 adb004a0c8e7c46ee66cad73671f37b4 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1480098698 1004 54797486969f23fa377b128694d548df ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1480098698 916 f87d7c45f9c908e672703b83b72241a3 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1480098698 924 9904cf1d39e9767e7a3622f2a125a565 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1480098698 928 2dc8d444221b7a635bb58038579b861a ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1480098698 908 2921f8a10601f252058503cc6570e581 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1480098698 940 75ac932a52f80982a9f8ea75d03a34cf ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1480098698 940 228d6584342e91276bf566bcf9716b83 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1480098701 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1480098701 1524 4414a8315f39513458b80dfc63bff03a ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1480098701 1288 655e228510b4c2a1abe905c368440826 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1480098701 1292 296a67155bdbfc32aa9c636f21e91433 ""
    -  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1480098701 1124 6c73e740cf17375f03eec0ee63599741 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1480098733 30251 6afa5cb1d0204815a708a080681d4674 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1480098733 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb" 1480098733 37912 77d683123f92148345f3fc36a38d9ab1 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" 1480098733 36281 c355509802a035cadc5f15869451dcee ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1480098733 35752 024fb6c41858982481f6968b5fc26508 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb" 1480098733 31809 8670ca339bf94e56da1fc21c80635e2a ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" 1480098733 32762 224316ccc9ad3ca0423a14971cfa7fc1 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1480098733 32569 5e5ddc8df908dea60932f3c484a54c0d ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb" 1480098733 32915 7bf7720c61a5b3a7ff25b0964421c9b6 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb" 1480098733 32716 08e384dc442464e7285e891af9f45947 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1480098734 34694 ad62b13721ee8eda1dcc8993c8bd7041 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm7.pfb" 1480098734 35309 940e81a5b9e04201a07e8b33a3ae6e64 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrb8a.pfb" 1480098746 50493 4ed1f7e9eba8f1f3e1ec25195460190d ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb" 1480098746 45758 19968a0990191524e34e1994d4a31cb6 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrro8a.pfb" 1480098746 44404 ea3d9c0311883914133975dd62a9185c ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb" 1480098746 35941 f27169cc74234d5bd5e4cca5abafaabb ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvbo8a.pfb" 1480098746 39013 b244066151b1e3e718f9b8e88a5ff23b ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" 1480098746 44729 811d6c62865936705a31c797a1d5dada ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" 1480098746 46026 6dab18b61c907687b520c72847215a68 ""
    -  "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" 1480098746 45458 a3faba884469519614ca56ba5f6b1de1 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf" 1480098757 2184 5d20c8b00cd914e50251116c274e2d0b ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf" 1480098757 3552 6a7911d0b338a7c32cbfc3a9e985ccca ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf" 1480098757 2184 8475af1b9cfa983db5f46f5ed4b8f9f7 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrro8t.vf" 1480098757 2280 d7cd083c724c9449e1d12731253966f7 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf" 1480098757 2340 0efed6a948c3c37d870e4e7ddb85c7c3 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvbo8t.vf" 1480098757 2344 88834f8322177295b0266ecc4b0754c3 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf" 1480098758 2340 df9c920cc5688ebbf16a93f45ce7bdd3 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf" 1480098758 3556 8a9a6dcbcd146ef985683f677f4758a6 ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf" 1480098758 2348 91706c542228501c410c266421fbe30c ""
    -  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf" 1480098758 2328 6cd7df782b09b29cfc4d93e55b6b9a59 ""
    -  "/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1480098806 71627 94eb9990bed73c364d7f53f960cc8c5b ""
    +  "DFOLS.ilg"
    +["pdflatex"] 1634440872 "DFOLS.tex" "DFOLS.pdf" "DFOLS" 1634440875
    +  "/etc/texmf/web2c/texmf.cnf" 1624242784 475 c0e671620eb5563b2130f56340a5fde8 ""
    +  "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
    +  "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm" 1136768653 1292 3059476c50a24578715759f22652f3d0 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8t.tfm" 1136768653 1384 87406e4336af44af883a035f17f319d9 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm" 1136768653 1268 8bd405dc5751cfed76cb6fb2db78cb50 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm" 1136768653 1292 bd42be2f344128bff6d35d98474adfe3 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm" 1136768653 1384 4632f5e54900a7dadbb83f555bc61e56 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8r.tfm" 1136768653 1544 4fb84cf2931ec523c2c6a08d939088ba ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrro8t.tfm" 1136768653 1596 04a657f277f0401ba37d66e716627ac4 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm" 1136768653 4484 b828043cbd581d289d955903c1339981 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm" 1136768653 6628 34c39492c0adc454c1c199922bba8363 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8r.tfm" 1136768653 4736 423eba67d4e9420ec9df4a8def143b08 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvbo8t.tfm" 1136768653 6880 fe6c7967f27585f6fa9876f3af14edd2 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm" 1136768653 7040 b2bd27e2bfe6f6948cbc3239cae7444f ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" 1136768653 4524 6bce29db5bc272ba5f332261583fee9c ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm" 1136768653 6880 f19b8995b61c334d78fc734065f6b4d4 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm" 1136768653 1352 fa28a7e6d323c65ce7d13d5342ff6be2 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" 1136768653 4408 25b74d011a4c66b7f212c0cc3c90061b ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm" 1136768653 6672 e3ab9e37e925f3045c9005e6d1473d56 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" 1136768653 4640 532ca3305aad10cc01d769f3f91f1029 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm" 1136768653 6944 94c55ad86e6ea2826f78ba2240d50df9 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1136768653 3584 adb004a0c8e7c46ee66cad73671f37b4 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ectt0900.tfm" 1136768653 1536 ae7aab2f8a4bc9edfce2899f53ba88c3 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tctt0900.tfm" 1136768653 1536 bda3e6bf9784a4cc572c754e0c3eeb00 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1246382020 924 9904cf1d39e9767e7a3622f2a125a565 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1136768653 1292 296a67155bdbfc32aa9c636f21e91433 ""
    +  "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1248133631 30251 6afa5cb1d0204815a708a080681d4674 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb" 1248133631 37912 77d683123f92148345f3fc36a38d9ab1 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" 1248133631 36281 c355509802a035cadc5f15869451dcee ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb" 1248133631 31809 8670ca339bf94e56da1fc21c80635e2a ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" 1248133631 32762 224316ccc9ad3ca0423a14971cfa7fc1 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb" 1248133631 32915 7bf7720c61a5b3a7ff25b0964421c9b6 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb" 1248133631 32716 08e384dc442464e7285e891af9f45947 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1248133631 34694 ad62b13721ee8eda1dcc8993c8bd7041 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm7.pfb" 1248133631 35309 940e81a5b9e04201a07e8b33a3ae6e64 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrb8a.pfb" 1136849748 50493 4ed1f7e9eba8f1f3e1ec25195460190d ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb" 1136849748 45758 19968a0990191524e34e1994d4a31cb6 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrro8a.pfb" 1136849748 44404 ea3d9c0311883914133975dd62a9185c ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb" 1136849748 35941 f27169cc74234d5bd5e4cca5abafaabb ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvbo8a.pfb" 1136849748 39013 b244066151b1e3e718f9b8e88a5ff23b ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" 1136849748 44729 811d6c62865936705a31c797a1d5dada ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" 1136849748 46026 6dab18b61c907687b520c72847215a68 ""
    +  "/usr/share/texlive/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" 1136849748 45458 a3faba884469519614ca56ba5f6b1de1 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf" 1136768653 2184 5d20c8b00cd914e50251116c274e2d0b ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf" 1136768653 3552 6a7911d0b338a7c32cbfc3a9e985ccca ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8t.vf" 1136768653 2184 8475af1b9cfa983db5f46f5ed4b8f9f7 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrro8t.vf" 1136768653 2280 d7cd083c724c9449e1d12731253966f7 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvb8t.vf" 1136768653 2340 0efed6a948c3c37d870e4e7ddb85c7c3 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/helvetic/phvbo8t.vf" 1136768653 2344 88834f8322177295b0266ecc4b0754c3 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf" 1136768653 2340 df9c920cc5688ebbf16a93f45ce7bdd3 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8c.vf" 1136768653 3556 8a9a6dcbcd146ef985683f677f4758a6 ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf" 1136768653 2348 91706c542228501c410c266421fbe30c ""
    +  "/usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf" 1136768653 2328 6cd7df782b09b29cfc4d93e55b6b9a59 ""
    +  "/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
       "/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf" 1496785618 7008 9ff5fdcc865b01beca2b0fe4a46231d4 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1518644053 67244 2dce3d67c354c8d92f638d0f8682fb73 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1518644053 15861 065fe343082d0cd2428cf984d6b2ef66 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def" 1518644053 12523 d80bc74bf5e02fe4304443a6de8d01be ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1518644053 7434 1b3955075683beb1c883a0fcf92ed2d5 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty" 1480098815 1458 43ab4710dc82f3edeabecd0d099626b2 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty" 1480098815 7612 729a8cc22a1ee0029997c7f74717ae05 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty" 1480098815 8237 3b62ef1f7e2c23a328c814b3893bc11f ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty" 1517006633 185082 6c11d4e30ed78e2a12957b7e77030856 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty" 1480098815 70864 bcd5b216757bd619ae692a151d90085d ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty" 1480098815 7324 2310d1247db0114eb4726807c8837a0e ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty" 1490564930 1251 d170e11a3246c3392bc7f59595af42cb ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty" 1480098815 6797 90b7f83b0ad46826bc16058b1e3d48df ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty" 1480098815 8253 473e0e41f9adadb1977e8631b8f72ea6 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty" 1480098815 14040 ac8866aac45982ac84021584b0abb252 ""
    -  "/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty" 1480098815 18425 5b3c0c59d76fac78978b5558e83c1f36 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1480098820 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1480098820 13829 94730e64147574077f8ecfea9bb69af4 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd" 1480098820 961 6518c6525a34feb5e8250ffa91731cff ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd" 1480098820 961 d02606146ba5601b5645f987c92e6193 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1480098820 2210 5c54ab129b848a5071554186d0168766 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1480098820 4160 c115536cf8d4ff25aa8c1c9bc4ecb79a ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1504905757 84352 897a476d96a0681047a5b0f91178a3d2 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1480098820 4115 318a66090112f3aa3f415aeb6fe8540f ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1480098820 2431 fe3078ec12fc30287f568596f8e0b948 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty" 1480098821 3140 977eaf314c97ac67b8675753fb15f67f ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1492297155 4571 13977df0eda144b93597fc709035ad1f ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1480098821 4732 d63eda807ac82cca2ca8488efd31a966 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1480098821 1940 c559b92ca91f1b2a0e60d836d4973f41 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu" 1487721667 2004 ac51aeac484f08c01026120d62677eca ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu" 1487721667 3181 1cb3e9ad01f4a01127b2ffd821bfeec7 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/report.cls" 1480098821 22880 e7be6f7dd8c05d5108bf3a7d8cabe59a ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1480098821 8292 e897c12e1e886ce77fe26afc5d470886 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def" 1492297155 10006 a90ba4035cf778f32f424e297d92e235 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu" 1487721667 11255 9d97362866549d3d3c994b5f28d1b9b5 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1492297155 16154 f2c73e20ca771d534a8516c62c6b0eae ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd" 1480098821 2217 d274654bda1292013bdf48d5f720a495 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def" 1480098821 7767 aa88823823f5e767d79ea1166ab1ae74 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu" 1487721667 4919 76510afd60e8282294f944c2f9f5103b ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def" 1487721667 7784 325a2a09984cb5c4ff230f9867145ad3 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty" 1480098823 1311 063f8536a047a2d9cb1803321f793f37 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty" 1480098823 1096 6a75275ca00e32428c6f059d2f618ea7 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty" 1480098825 2883 427a7f7cb58418a0394dbd85c80668f6 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap" 1480098825 1207 4e0d96772f0d338847cbfb4eca683c81 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap" 1480098825 1938 beaa4a8467aa0074076e0e19f2992e29 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1498861448 10663 d7fcc0dc4f35e8998b8cfeef8407d37d ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty" 1480098827 45360 a0833d32f1b541964596b02870342d5a ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/float/float.sty" 1480098828 6749 16d2656a1984957e674b149555f1ea1d ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty" 1480098828 19488 fdd52eb173b3197d748e1ec25acb042f ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty" 1480098829 22449 7ec15c16d0d66790f28e90343c5434a3 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1480098829 40502 e003406220954b0716679d7928aedd8a ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1480098830 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1480098830 1224 978390e9c2234eab29404bc21b268d1e ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1498427532 15275 7d676729b1bedd3e7f3c6717affb366c ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1498427532 9066 649f2ccf62888e3d8c3e57256b70b8e1 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1480098830 2594 d18d5e19aa8239cf867fa670c556d2e9 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1480098830 3980 0a268fbfda01e381fa95821ab13b6aee ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1518041854 51699 9069fc983fff0db91d59a15af144ad62 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1518041854 234088 2c849389d62d41c593d9f5176c4116ab ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1480098831 12949 81e4e808884a8f0e276b69410e234656 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1518041854 14098 4e70bf396c7c265bd8b0e5cab3fd3d4d ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def" 1518041854 122411 10b605a58a28bbe5d61db37da4a85beb ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1480098833 678 4792914a8f45be57bb98413425e4c7af ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg" 1480098833 235 6031e5765137be07eed51a510b2b8fb7 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap" 1480098835 1866 c1c12138091b4a8edd4a24a940e6f792 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap" 1480098835 2370 3b1f71b14b974f07cef532db09ae9ee0 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap" 1480098835 3001 252c8ca42b06a22cb1a11c0e47790c6e ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty" 1480098835 852 0e34dbb72efc69fa07602405ad95585e ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty" 1480098836 3834 4363110eb0ef1eb2b71c8fcbcdb6c357 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty" 1480098836 12095 5337833c991d80788a43d3ce26bd1c46 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty" 1480098836 7075 2fe3d848bba95f139de11ded085e74aa ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty" 1480098836 3720 63669daeb0b67d5fbec899824e2f1491 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1480098836 22417 1d9df1eb66848aa31b18a593099cf45c ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty" 1480098836 9581 023642318cef9f4677efe364de1e2a27 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty" 1480098836 2763 02a40cc5a32805c41d919cfbdba7e99a ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd" 1480098837 798 d5895e9edc628f2be019beb2c0ec66df ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd" 1480098837 1488 9a55ac1cde6b4798a7f56844bb75a553 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd" 1480098837 774 61d7da1e9f9e74989b196d147e623736 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty" 1480098837 857 6c716f26c5eadfb81029fcd6ce2d45e6 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd" 1480098837 643 92c451bb86386a4e36a174603ddb5a13 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd" 1480098837 619 96f56dc5d1ef1fe1121f1cfeec70ee0c ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty" 1480098840 13791 8c83287d79183c3bf58fd70871e8a70b ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty" 1480098841 37387 afa86533e532701faf233f3f592c61e0 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1485129666 12396 d41f82b039f900e95f351e54ae740f31 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty" 1480098841 12083 80916157594a8e4354985aaefae4f367 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty" 1480098842 1048 517e01cde97c1c0baf72e69d43aa5a2e ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1480098842 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty" 1480098842 10894 d359a13923460b2a73d4312d613554c8 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty" 1480098843 26220 3701aebf80ccdef248c0c20dd062fea9 ""
    -  "/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1480098843 55589 34128738f682d033422ca125f82e5d62 ""
    -  "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1520210507 32485 c64754543d8ac501bea6e75e209ea521 ""
    -  "/usr/share/texmf/web2c/texmf.cnf" 1520210507 32485 c64754543d8ac501bea6e75e209ea521 ""
    -  "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1586757552 2556815 161db45eb32a3ed5e427095833ec947f ""
    -  "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1585531429 724918 9f2ac0f6dd6683249c7737077a8c4a4a ""
    -  "DFOLS.aux" 1622530124 12058 0d350ef6467443ffd0a5c3fba7362df4 ""
    -  "DFOLS.ind" 1587347499 0 d41d8cd98f00b204e9800998ecf8427e "makeindex DFOLS.idx"
    -  "DFOLS.out" 1622530124 9013 0da220324f9f4ff77d55207662ccf7c0 ""
    -  "DFOLS.tex" 1622530120 84372 31d775510b3b18cfb9a674869b58bb8d ""
    -  "DFOLS.toc" 1622530124 4400 03f706a729fe25e26c94f756d79c03cb ""
    -  "data_fitting.png" 1587347499 29893 211bb1c28ea25d47c8c0990fbf39c55c ""
    -  "footnotehyper-sphinx.sty" 1587347499 8888 1bbd7bdeae8c8bed1d10d551bddb1cc9 ""
    -  "sphinx.sty" 1614221565 82020 a38700b8aa22dfd94a8a5b905e69be73 ""
    -  "sphinxhighlight.sty" 1622530122 6607 9139c967ef186821cb11bb3b0580e00e ""
    -  "sphinxmanual.cls" 1587347499 4236 124cd90deb92742b5d3922bfc2cd70c0 ""
    -  "sphinxmessages.sty" 1622530122 745 3f5fcd6cdd7964ed608767954a8ced6f ""
    -  "sphinxmulticell.sty" 1587347499 14606 0b6edc2b1a83546ed92026d1f6a311b5 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1611697649 117888 66b7eb0f9cd7bd253f76713fb2e2ee4a ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1611697649 37868 ba045e7d3943071ea1a8258e20cd3f09 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1611697649 5230 84624d139fa443f96294434bccf82f8c ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1583617216 6501 4011d89d9621e0b0901138815ba5ff29 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1600895880 17859 4409f8f50cd365c68e684407e5350b1b ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
    +  "/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1359763108 13829 94730e64147574077f8ecfea9bb69af4 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1523134290 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1601675358 87353 2c21ff5f2e32e1bf714e600924d810db ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1523134290 4116 32e6abd27229755a83a8b7f18e583890 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty" 1580683321 3140 3b501b609b11ff7320ce1a19dbac0e3b ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1609451599 2973 00085839f5881178c538db5970d3c38e ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1610149055 2596 b3a02e33035865e9f0457e064d436fb8 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1601675358 4947 8cb7717f0cc771eca0fda15160c7fee9 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1601675358 5050 0d3b77275060ca09a40635b830c3c904 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1580683321 1940 dd4f2aa11c89855a3c47d09758782ba5 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/report.cls" 1601675358 23204 74c91ecbcc47161218f25d9d0651c0f7 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1601675358 8449 a72d5d4e612221b46000c3d71724e0ef ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd" 1580683321 2444 92c1f2a3fb5fbd5ac60f99eac55c9b29 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1581112666 2821 2c0928feafd5527387e29a1af774d030 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd" 1580683321 2288 de58492d6f867ba068b08f7f71d9f35f ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty" 1264379041 1311 063f8536a047a2d9cb1803321f793f37 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty" 1613593815 3177 d2e706a19bf8086e9728f326ec9fe3cd ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap" 1177721415 1207 4e0d96772f0d338847cbfb4eca683c81 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap" 1215522782 1938 beaa4a8467aa0074076e0e19f2992e29 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1609797564 17084 8c1abc8567028945d60a2f6d71e86091 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty" 1611267390 43232 77215847fb982a414a0d843125e271d4 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/float/float.sty" 1137110151 6749 16d2656a1984957e674b149555f1ea1d ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty" 1292029257 19488 fdd52eb173b3197d748e1ec25acb042f ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty" 1338588508 22449 7ec15c16d0d66790f28e90343c5434a3 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1601931164 19103 48d29b6e2a64cb717117ef65f107b404 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty" 1601675358 7102 5b27b7e61091c6128cd6300e21704e4b ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1601675358 18272 a8c6a275b34ab6717ceeb8fa04b104e2 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1601675358 7919 20fdfdd783821971c55bc8ee918cbe63 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1589664343 50570 2e81797743231d9037b0cbe3436d74ba ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1589664343 236775 8ab18a05f69e6caef423fa59cb0af03b ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1579642962 13244 0070bcab7b5a88187847128d22faf4d8 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1589664343 14134 c11767c54bd7ecab56984ee4e4e3158c ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def" 1589664343 122447 8dcff5c67ff7f0649f41dc4abc99887f ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1602274869 22521 d2fceb764a442a2001d257ef11db7618 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1611959857 27097 58278863d97b10ab86e334b8da33df7a ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap" 1215649417 1866 c1c12138091b4a8edd4a24a940e6f792 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap" 1215649417 2370 3b1f71b14b974f07cef532db09ae9ee0 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap" 1215649417 3001 252c8ca42b06a22cb1a11c0e47790c6e ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty" 1364856750 852 0e34dbb72efc69fa07602405ad95585e ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty" 1575152444 3822 b53c749cd81352b4679a35b0dafefb95 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty" 1536789184 2757 ea00cb4f4e9abc702916f74d3812ef67 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty" 1592253773 4288 25631f9679adf750bac898538ededd61 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd" 1137110629 798 d5895e9edc628f2be019beb2c0ec66df ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd" 1586716065 1483 47067fbe7c3ffed1ede7aaa7b8549d7a ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd" 1137110629 774 61d7da1e9f9e74989b196d147e623736 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty" 1586716065 856 8e0e5c8cca7b18e0400f97f5a2b90a99 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd" 1137110629 643 92c451bb86386a4e36a174603ddb5a13 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd" 1137110629 619 96f56dc5d1ef1fe1121f1cfeec70ee0c ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty" 1403566480 13791 8c83287d79183c3bf58fd70871e8a70b ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty" 1571259403 48596 2b6a95da931c07a430b1a61904aaa42d ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1601675358 12675 9a7bbb9e485cd81cdcc1d56212b088ff ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty" 1580683321 12133 b1e3e65b69714dbfcc5e6c0b19d66b50 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty" 1334873510 1048 517e01cde97c1c0baf72e69d43aa5a2e ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty" 1238697683 10894 d359a13923460b2a73d4312d613554c8 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty" 1137111090 26220 3701aebf80ccdef248c0c20dd062fea9 ""
    +  "/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1463002160 55589 34128738f682d033422ca125f82e5d62 ""
    +  "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 ""
    +  "/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1565080000 2900 1537cc8184ad1792082cd229ecc269f4 ""
    +  "/usr/share/texmf/fonts/type1/public/cm-super/sftt0900.pfb" 1606119397 170827 2e4b634de7b58578eae1dc93e51dfe48 ""
    +  "/usr/share/texmf/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 ""
    +  "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1624243066 5160710 ecf427ae8fa19139d8691f526e47bb9b ""
    +  "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1624243094 2569235 be2903e90bfe54d2770ce0f508f15937 ""
    +  "DFOLS.aux" 1634440874 14077 a57e9cbc321455cf71aa897afa283d2c "pdflatex"
    +  "DFOLS.ind" 1610358580 0 d41d8cd98f00b204e9800998ecf8427e "makeindex DFOLS.idx"
    +  "DFOLS.out" 1634440874 9566 4c15cb7f3428ba1015be450cf20ae095 "pdflatex"
    +  "DFOLS.tex" 1634440863 88436 83d524cb5461f8777e2e649ff2ddefdb ""
    +  "DFOLS.toc" 1634440874 4715 c361968e0fbff7dd069132047d694ae5 "pdflatex"
    +  "data_fitting.png" 1610358580 29893 211bb1c28ea25d47c8c0990fbf39c55c ""
    +  "footnotehyper-sphinx.sty" 1610358580 8888 1bbd7bdeae8c8bed1d10d551bddb1cc9 ""
    +  "sphinx.sty" 1633985769 82020 a38700b8aa22dfd94a8a5b905e69be73 ""
    +  "sphinxhighlight.sty" 1634440869 8137 38a433148fcb7611515a989ff1750dd5 ""
    +  "sphinxmanual.cls" 1610358580 4236 124cd90deb92742b5d3922bfc2cd70c0 ""
    +  "sphinxmessages.sty" 1634440869 745 3f5fcd6cdd7964ed608767954a8ced6f ""
    +  "sphinxmulticell.sty" 1610358580 14606 0b6edc2b1a83546ed92026d1f6a311b5 ""
       (generated)
       "DFOLS.aux"
    -  "DFOLS.out"
    -  "DFOLS.pdf"
       "DFOLS.log"
    -  "DFOLS.toc"
       "DFOLS.idx"
    +  "DFOLS.toc"
    +  "DFOLS.pdf"
    +  "DFOLS.out"
    diff --git a/docs/build/latex/DFOLS.fls b/docs/build/latex/DFOLS.fls
    index 0db93dd..4d6920f 100644
    --- a/docs/build/latex/DFOLS.fls
    +++ b/docs/build/latex/DFOLS.fls
    @@ -1,203 +1,936 @@
    -PWD /mnt/c/Users/lindo/Documents/git/dfols/docs/build/latex
    +PWD /home/matt/Dropbox/code/dfo/dfols/docs/build/latex
     INPUT /etc/texmf/web2c/texmf.cnf
     INPUT /usr/share/texmf/web2c/texmf.cnf
     INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
     INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
     INPUT DFOLS.tex
     OUTPUT DFOLS.log
    +INPUT ./sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
     INPUT sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
     INPUT sphinxmanual.cls
    +INPUT ./sphinxmanual.cls
    +INPUT sphinxmanual.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
     INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap
     OUTPUT DFOLS.pdf
     INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/t1.cmap
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
     INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
     INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/switch.def
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def
     INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
     INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
     INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
    +INPUT ./sphinx.sty
    +INPUT ./sphinx.sty
    +INPUT sphinx.sty
    +INPUT ./sphinx.sty
    +INPUT ./sphinx.sty
    +INPUT ./sphinx.sty
    +INPUT ./sphinx.sty
    +INPUT ./sphinx.sty
     INPUT sphinx.sty
    +INPUT ./sphinx.sty
     INPUT sphinx.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
    +INPUT ./sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
    +INPUT sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
     INPUT sphinxmulticell.sty
    +INPUT ./sphinxmulticell.sty
     INPUT sphinxmulticell.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT ./footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
     INPUT footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
     INPUT footnotehyper-sphinx.sty
    +INPUT ./footnotehyper-sphinx.sty
    +INPUT footnotehyper-sphinx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT ./sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
    +INPUT sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
     INPUT sphinxhighlight.sty
    +INPUT ./sphinxhighlight.sty
     INPUT sphinxhighlight.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +INPUT ./sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
     INPUT sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
    +INPUT sphinxmessages.sty
    +INPUT ./sphinxmessages.sty
     INPUT sphinxmessages.sty
     OUTPUT DFOLS.idx
    -INPUT DFOLS.aux
    -INPUT DFOLS.aux
    -OUTPUT DFOLS.aux
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +INPUT ./DFOLS.aux
    +INPUT DFOLS.aux
    +INPUT DFOLS.aux
    +OUTPUT DFOLS.aux
     INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
     INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
    +INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
     INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
     INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
    -INPUT /usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +INPUT ./DFOLS.out
     INPUT DFOLS.out
    +INPUT ./DFOLS.out
     INPUT DFOLS.out
    +INPUT ./DFOLS.out
     INPUT DFOLS.out
    +INPUT ./DFOLS.out
     INPUT DFOLS.out
     INPUT ./DFOLS.out
     INPUT ./DFOLS.out
     OUTPUT DFOLS.out
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm
    @@ -207,26 +940,34 @@ INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap
     INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/cmap/ot1.cmap
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap
     INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oml.cmap
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap
     INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/oms.cmap
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap
     INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/mmap/omx.cmap
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
    @@ -243,6 +984,7 @@ INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8r.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/helvetic/phvb8t.tfm
    +INPUT ./DFOLS.toc
     INPUT DFOLS.toc
     INPUT DFOLS.toc
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm
    @@ -268,9 +1010,13 @@ INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8c.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8t.tfm
    @@ -288,23 +1034,42 @@ INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrb8t.vf
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrb8r.tfm
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd
     INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm
    -INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf
    +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm
     INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ectt0900.tfm
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd
    +INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tctt0900.tfm
    +INPUT ./data_fitting.png
    +INPUT ./data_fitting.png
     INPUT data_fitting.png
     INPUT ./data_fitting.png
     INPUT ./data_fitting.png
    +INPUT ./data_fitting.png
    +INPUT ./data_fitting.png
     INPUT data_fitting.png
     INPUT ./data_fitting.png
    +INPUT ./DFOLS.ind
     INPUT DFOLS.ind
    +INPUT ./DFOLS.ind
     INPUT DFOLS.ind
     INPUT DFOLS.aux
     INPUT ./DFOLS.out
     INPUT ./DFOLS.out
    +INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc
     INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
    @@ -318,6 +1083,7 @@ INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy5.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm7.pfb
    +INPUT /usr/share/texmf/fonts/type1/public/cm-super/sftt0900.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrb8a.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb
     INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/courier/ucrro8a.pfb
    diff --git a/docs/build/latex/DFOLS.log b/docs/build/latex/DFOLS.log
    index 2dd255e..153396a 100755
    --- a/docs/build/latex/DFOLS.log
    +++ b/docs/build/latex/DFOLS.log
    @@ -1,351 +1,37 @@
    -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2020.3.30)  1 JUN 2021 16:48
    +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.6.21)  16 OCT 2021 23:21
     entering extended mode
      restricted \write18 enabled.
      %&-line parsing enabled.
     **DFOLS.tex
     (./DFOLS.tex
    -LaTeX2e <2017-04-15>
    -Babel <3.18> and hyphenation patterns for 3 language(s) loaded.
    -(./sphinxmanual.cls
    +LaTeX2e <2020-10-01> patch level 4
    +L3 programming layer <2021-01-09> xparse <2020-03-03> (./sphinxmanual.cls
     Document Class: sphinxmanual 2019/12/01 v2.3.0 Document class (Sphinx manual)
     (/usr/share/texlive/texmf-dist/tex/latex/base/report.cls
    -Document Class: report 2014/09/29 v1.4h Standard LaTeX document class
    +Document Class: report 2020/04/10 v1.4m Standard LaTeX document class
     (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
    -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
    -)
    -\c@part=\count79
    -\c@chapter=\count80
    -\c@section=\count81
    -\c@subsection=\count82
    -\c@subsubsection=\count83
    -\c@paragraph=\count84
    -\c@subparagraph=\count85
    -\c@figure=\count86
    -\c@table=\count87
    -\abovecaptionskip=\skip41
    -\belowcaptionskip=\skip42
    -\bibindent=\dimen102
    +File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option)
    +)
    +\c@part=\count177
    +\c@chapter=\count178
    +\c@section=\count179
    +\c@subsection=\count180
    +\c@subsubsection=\count181
    +\c@paragraph=\count182
    +\c@subparagraph=\count183
    +\c@figure=\count184
    +\c@table=\count185
    +\abovecaptionskip=\skip47
    +\belowcaptionskip=\skip48
    +\bibindent=\dimen138
     )
     LaTeX Info: Redefining \and on input line 35.
     )
     (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    -Package: inputenc 2015/03/17 v1.2c Input encoding file
    -\inpenc@prehook=\toks14
    -\inpenc@posthook=\toks15
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
    -File: utf8.def 2017/01/28 v1.1t UTF-8 support for inputenc
    -Now handling font encoding OML ...
    -... no UTF-8 mapping file for font encoding OML
    -Now handling font encoding T1 ...
    -... processing UTF-8 mapping file for font encoding T1
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu
    -File: t1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc
    -   defining Unicode char U+00A0 (decimal 160)
    -   defining Unicode char U+00A1 (decimal 161)
    -   defining Unicode char U+00A3 (decimal 163)
    -   defining Unicode char U+00AB (decimal 171)
    -   defining Unicode char U+00AD (decimal 173)
    -   defining Unicode char U+00BB (decimal 187)
    -   defining Unicode char U+00BF (decimal 191)
    -   defining Unicode char U+00C0 (decimal 192)
    -   defining Unicode char U+00C1 (decimal 193)
    -   defining Unicode char U+00C2 (decimal 194)
    -   defining Unicode char U+00C3 (decimal 195)
    -   defining Unicode char U+00C4 (decimal 196)
    -   defining Unicode char U+00C5 (decimal 197)
    -   defining Unicode char U+00C6 (decimal 198)
    -   defining Unicode char U+00C7 (decimal 199)
    -   defining Unicode char U+00C8 (decimal 200)
    -   defining Unicode char U+00C9 (decimal 201)
    -   defining Unicode char U+00CA (decimal 202)
    -   defining Unicode char U+00CB (decimal 203)
    -   defining Unicode char U+00CC (decimal 204)
    -   defining Unicode char U+00CD (decimal 205)
    -   defining Unicode char U+00CE (decimal 206)
    -   defining Unicode char U+00CF (decimal 207)
    -   defining Unicode char U+00D0 (decimal 208)
    -   defining Unicode char U+00D1 (decimal 209)
    -   defining Unicode char U+00D2 (decimal 210)
    -   defining Unicode char U+00D3 (decimal 211)
    -   defining Unicode char U+00D4 (decimal 212)
    -   defining Unicode char U+00D5 (decimal 213)
    -   defining Unicode char U+00D6 (decimal 214)
    -   defining Unicode char U+00D8 (decimal 216)
    -   defining Unicode char U+00D9 (decimal 217)
    -   defining Unicode char U+00DA (decimal 218)
    -   defining Unicode char U+00DB (decimal 219)
    -   defining Unicode char U+00DC (decimal 220)
    -   defining Unicode char U+00DD (decimal 221)
    -   defining Unicode char U+00DE (decimal 222)
    -   defining Unicode char U+00DF (decimal 223)
    -   defining Unicode char U+00E0 (decimal 224)
    -   defining Unicode char U+00E1 (decimal 225)
    -   defining Unicode char U+00E2 (decimal 226)
    -   defining Unicode char U+00E3 (decimal 227)
    -   defining Unicode char U+00E4 (decimal 228)
    -   defining Unicode char U+00E5 (decimal 229)
    -   defining Unicode char U+00E6 (decimal 230)
    -   defining Unicode char U+00E7 (decimal 231)
    -   defining Unicode char U+00E8 (decimal 232)
    -   defining Unicode char U+00E9 (decimal 233)
    -   defining Unicode char U+00EA (decimal 234)
    -   defining Unicode char U+00EB (decimal 235)
    -   defining Unicode char U+00EC (decimal 236)
    -   defining Unicode char U+00ED (decimal 237)
    -   defining Unicode char U+00EE (decimal 238)
    -   defining Unicode char U+00EF (decimal 239)
    -   defining Unicode char U+00F0 (decimal 240)
    -   defining Unicode char U+00F1 (decimal 241)
    -   defining Unicode char U+00F2 (decimal 242)
    -   defining Unicode char U+00F3 (decimal 243)
    -   defining Unicode char U+00F4 (decimal 244)
    -   defining Unicode char U+00F5 (decimal 245)
    -   defining Unicode char U+00F6 (decimal 246)
    -   defining Unicode char U+00F8 (decimal 248)
    -   defining Unicode char U+00F9 (decimal 249)
    -   defining Unicode char U+00FA (decimal 250)
    -   defining Unicode char U+00FB (decimal 251)
    -   defining Unicode char U+00FC (decimal 252)
    -   defining Unicode char U+00FD (decimal 253)
    -   defining Unicode char U+00FE (decimal 254)
    -   defining Unicode char U+00FF (decimal 255)
    -   defining Unicode char U+0100 (decimal 256)
    -   defining Unicode char U+0101 (decimal 257)
    -   defining Unicode char U+0102 (decimal 258)
    -   defining Unicode char U+0103 (decimal 259)
    -   defining Unicode char U+0104 (decimal 260)
    -   defining Unicode char U+0105 (decimal 261)
    -   defining Unicode char U+0106 (decimal 262)
    -   defining Unicode char U+0107 (decimal 263)
    -   defining Unicode char U+0108 (decimal 264)
    -   defining Unicode char U+0109 (decimal 265)
    -   defining Unicode char U+010A (decimal 266)
    -   defining Unicode char U+010B (decimal 267)
    -   defining Unicode char U+010C (decimal 268)
    -   defining Unicode char U+010D (decimal 269)
    -   defining Unicode char U+010E (decimal 270)
    -   defining Unicode char U+010F (decimal 271)
    -   defining Unicode char U+0110 (decimal 272)
    -   defining Unicode char U+0111 (decimal 273)
    -   defining Unicode char U+0112 (decimal 274)
    -   defining Unicode char U+0113 (decimal 275)
    -   defining Unicode char U+0114 (decimal 276)
    -   defining Unicode char U+0115 (decimal 277)
    -   defining Unicode char U+0116 (decimal 278)
    -   defining Unicode char U+0117 (decimal 279)
    -   defining Unicode char U+0118 (decimal 280)
    -   defining Unicode char U+0119 (decimal 281)
    -   defining Unicode char U+011A (decimal 282)
    -   defining Unicode char U+011B (decimal 283)
    -   defining Unicode char U+011C (decimal 284)
    -   defining Unicode char U+011D (decimal 285)
    -   defining Unicode char U+011E (decimal 286)
    -   defining Unicode char U+011F (decimal 287)
    -   defining Unicode char U+0120 (decimal 288)
    -   defining Unicode char U+0121 (decimal 289)
    -   defining Unicode char U+0122 (decimal 290)
    -   defining Unicode char U+0123 (decimal 291)
    -   defining Unicode char U+0124 (decimal 292)
    -   defining Unicode char U+0125 (decimal 293)
    -   defining Unicode char U+0128 (decimal 296)
    -   defining Unicode char U+0129 (decimal 297)
    -   defining Unicode char U+012A (decimal 298)
    -   defining Unicode char U+012B (decimal 299)
    -   defining Unicode char U+012C (decimal 300)
    -   defining Unicode char U+012D (decimal 301)
    -   defining Unicode char U+012E (decimal 302)
    -   defining Unicode char U+012F (decimal 303)
    -   defining Unicode char U+0130 (decimal 304)
    -   defining Unicode char U+0131 (decimal 305)
    -   defining Unicode char U+0132 (decimal 306)
    -   defining Unicode char U+0133 (decimal 307)
    -   defining Unicode char U+0134 (decimal 308)
    -   defining Unicode char U+0135 (decimal 309)
    -   defining Unicode char U+0136 (decimal 310)
    -   defining Unicode char U+0137 (decimal 311)
    -   defining Unicode char U+0139 (decimal 313)
    -   defining Unicode char U+013A (decimal 314)
    -   defining Unicode char U+013B (decimal 315)
    -   defining Unicode char U+013C (decimal 316)
    -   defining Unicode char U+013D (decimal 317)
    -   defining Unicode char U+013E (decimal 318)
    -   defining Unicode char U+0141 (decimal 321)
    -   defining Unicode char U+0142 (decimal 322)
    -   defining Unicode char U+0143 (decimal 323)
    -   defining Unicode char U+0144 (decimal 324)
    -   defining Unicode char U+0145 (decimal 325)
    -   defining Unicode char U+0146 (decimal 326)
    -   defining Unicode char U+0147 (decimal 327)
    -   defining Unicode char U+0148 (decimal 328)
    -   defining Unicode char U+014A (decimal 330)
    -   defining Unicode char U+014B (decimal 331)
    -   defining Unicode char U+014C (decimal 332)
    -   defining Unicode char U+014D (decimal 333)
    -   defining Unicode char U+014E (decimal 334)
    -   defining Unicode char U+014F (decimal 335)
    -   defining Unicode char U+0150 (decimal 336)
    -   defining Unicode char U+0151 (decimal 337)
    -   defining Unicode char U+0152 (decimal 338)
    -   defining Unicode char U+0153 (decimal 339)
    -   defining Unicode char U+0154 (decimal 340)
    -   defining Unicode char U+0155 (decimal 341)
    -   defining Unicode char U+0156 (decimal 342)
    -   defining Unicode char U+0157 (decimal 343)
    -   defining Unicode char U+0158 (decimal 344)
    -   defining Unicode char U+0159 (decimal 345)
    -   defining Unicode char U+015A (decimal 346)
    -   defining Unicode char U+015B (decimal 347)
    -   defining Unicode char U+015C (decimal 348)
    -   defining Unicode char U+015D (decimal 349)
    -   defining Unicode char U+015E (decimal 350)
    -   defining Unicode char U+015F (decimal 351)
    -   defining Unicode char U+0160 (decimal 352)
    -   defining Unicode char U+0161 (decimal 353)
    -   defining Unicode char U+0162 (decimal 354)
    -   defining Unicode char U+0163 (decimal 355)
    -   defining Unicode char U+0164 (decimal 356)
    -   defining Unicode char U+0165 (decimal 357)
    -   defining Unicode char U+0168 (decimal 360)
    -   defining Unicode char U+0169 (decimal 361)
    -   defining Unicode char U+016A (decimal 362)
    -   defining Unicode char U+016B (decimal 363)
    -   defining Unicode char U+016C (decimal 364)
    -   defining Unicode char U+016D (decimal 365)
    -   defining Unicode char U+016E (decimal 366)
    -   defining Unicode char U+016F (decimal 367)
    -   defining Unicode char U+0170 (decimal 368)
    -   defining Unicode char U+0171 (decimal 369)
    -   defining Unicode char U+0172 (decimal 370)
    -   defining Unicode char U+0173 (decimal 371)
    -   defining Unicode char U+0174 (decimal 372)
    -   defining Unicode char U+0175 (decimal 373)
    -   defining Unicode char U+0176 (decimal 374)
    -   defining Unicode char U+0177 (decimal 375)
    -   defining Unicode char U+0178 (decimal 376)
    -   defining Unicode char U+0179 (decimal 377)
    -   defining Unicode char U+017A (decimal 378)
    -   defining Unicode char U+017B (decimal 379)
    -   defining Unicode char U+017C (decimal 380)
    -   defining Unicode char U+017D (decimal 381)
    -   defining Unicode char U+017E (decimal 382)
    -   defining Unicode char U+01CD (decimal 461)
    -   defining Unicode char U+01CE (decimal 462)
    -   defining Unicode char U+01CF (decimal 463)
    -   defining Unicode char U+01D0 (decimal 464)
    -   defining Unicode char U+01D1 (decimal 465)
    -   defining Unicode char U+01D2 (decimal 466)
    -   defining Unicode char U+01D3 (decimal 467)
    -   defining Unicode char U+01D4 (decimal 468)
    -   defining Unicode char U+01E2 (decimal 482)
    -   defining Unicode char U+01E3 (decimal 483)
    -   defining Unicode char U+01E6 (decimal 486)
    -   defining Unicode char U+01E7 (decimal 487)
    -   defining Unicode char U+01E8 (decimal 488)
    -   defining Unicode char U+01E9 (decimal 489)
    -   defining Unicode char U+01EA (decimal 490)
    -   defining Unicode char U+01EB (decimal 491)
    -   defining Unicode char U+01F0 (decimal 496)
    -   defining Unicode char U+01F4 (decimal 500)
    -   defining Unicode char U+01F5 (decimal 501)
    -   defining Unicode char U+0218 (decimal 536)
    -   defining Unicode char U+0219 (decimal 537)
    -   defining Unicode char U+021A (decimal 538)
    -   defining Unicode char U+021B (decimal 539)
    -   defining Unicode char U+0232 (decimal 562)
    -   defining Unicode char U+0233 (decimal 563)
    -   defining Unicode char U+1E02 (decimal 7682)
    -   defining Unicode char U+1E03 (decimal 7683)
    -   defining Unicode char U+200C (decimal 8204)
    -   defining Unicode char U+2010 (decimal 8208)
    -   defining Unicode char U+2011 (decimal 8209)
    -   defining Unicode char U+2012 (decimal 8210)
    -   defining Unicode char U+2013 (decimal 8211)
    -   defining Unicode char U+2014 (decimal 8212)
    -   defining Unicode char U+2015 (decimal 8213)
    -   defining Unicode char U+2018 (decimal 8216)
    -   defining Unicode char U+2019 (decimal 8217)
    -   defining Unicode char U+201A (decimal 8218)
    -   defining Unicode char U+201C (decimal 8220)
    -   defining Unicode char U+201D (decimal 8221)
    -   defining Unicode char U+201E (decimal 8222)
    -   defining Unicode char U+2030 (decimal 8240)
    -   defining Unicode char U+2031 (decimal 8241)
    -   defining Unicode char U+2039 (decimal 8249)
    -   defining Unicode char U+203A (decimal 8250)
    -   defining Unicode char U+2423 (decimal 9251)
    -   defining Unicode char U+1E20 (decimal 7712)
    -   defining Unicode char U+1E21 (decimal 7713)
    -)
    -Now handling font encoding OT1 ...
    -... processing UTF-8 mapping file for font encoding OT1
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu
    -File: ot1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc
    -   defining Unicode char U+00A0 (decimal 160)
    -   defining Unicode char U+00A1 (decimal 161)
    -   defining Unicode char U+00A3 (decimal 163)
    -   defining Unicode char U+00AD (decimal 173)
    -   defining Unicode char U+00B8 (decimal 184)
    -   defining Unicode char U+00BF (decimal 191)
    -   defining Unicode char U+00C5 (decimal 197)
    -   defining Unicode char U+00C6 (decimal 198)
    -   defining Unicode char U+00D8 (decimal 216)
    -   defining Unicode char U+00DF (decimal 223)
    -   defining Unicode char U+00E6 (decimal 230)
    -   defining Unicode char U+00EC (decimal 236)
    -   defining Unicode char U+00ED (decimal 237)
    -   defining Unicode char U+00EE (decimal 238)
    -   defining Unicode char U+00EF (decimal 239)
    -   defining Unicode char U+00F8 (decimal 248)
    -   defining Unicode char U+0131 (decimal 305)
    -   defining Unicode char U+0141 (decimal 321)
    -   defining Unicode char U+0142 (decimal 322)
    -   defining Unicode char U+0152 (decimal 338)
    -   defining Unicode char U+0153 (decimal 339)
    -   defining Unicode char U+0174 (decimal 372)
    -   defining Unicode char U+0175 (decimal 373)
    -   defining Unicode char U+0176 (decimal 374)
    -   defining Unicode char U+0177 (decimal 375)
    -   defining Unicode char U+0218 (decimal 536)
    -   defining Unicode char U+0219 (decimal 537)
    -   defining Unicode char U+021A (decimal 538)
    -   defining Unicode char U+021B (decimal 539)
    -   defining Unicode char U+2013 (decimal 8211)
    -   defining Unicode char U+2014 (decimal 8212)
    -   defining Unicode char U+2018 (decimal 8216)
    -   defining Unicode char U+2019 (decimal 8217)
    -   defining Unicode char U+201C (decimal 8220)
    -   defining Unicode char U+201D (decimal 8221)
    -)
    -Now handling font encoding OMS ...
    -... processing UTF-8 mapping file for font encoding OMS
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu
    -File: omsenc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc
    -   defining Unicode char U+00A7 (decimal 167)
    -   defining Unicode char U+00B6 (decimal 182)
    -   defining Unicode char U+00B7 (decimal 183)
    -   defining Unicode char U+2020 (decimal 8224)
    -   defining Unicode char U+2021 (decimal 8225)
    -   defining Unicode char U+2022 (decimal 8226)
    -)
    -Now handling font encoding OMX ...
    -... no UTF-8 mapping file for font encoding OMX
    -Now handling font encoding U ...
    -... no UTF-8 mapping file for font encoding U
    -   defining Unicode char U+00A9 (decimal 169)
    -   defining Unicode char U+00AA (decimal 170)
    -   defining Unicode char U+00AE (decimal 174)
    -   defining Unicode char U+00BA (decimal 186)
    -   defining Unicode char U+02C6 (decimal 710)
    -   defining Unicode char U+02DC (decimal 732)
    -   defining Unicode char U+200C (decimal 8204)
    -   defining Unicode char U+2026 (decimal 8230)
    -   defining Unicode char U+2122 (decimal 8482)
    -   defining Unicode char U+2423 (decimal 9251)
    -))
    +Package: inputenc 2020/08/01 v1.3d Input encoding file
    +\inpenc@prehook=\toks15
    +\inpenc@posthook=\toks16
    +)
        defining Unicode char U+00A0 (decimal 160)
        defining Unicode char U+2500 (decimal 9472)
        defining Unicode char U+2502 (decimal 9474)
    @@ -354,18 +40,14 @@ Now handling font encoding U ...
        defining Unicode char U+2572 (decimal 9586)
     
     (/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty
    -Package: cmap 2008/03/06 v1.0h CMap support: searchable PDF
    +Package: cmap 2021/02/04 v1.0j CMap support: searchable PDF
     )
     (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    -Package: fontenc 2017/04/05 v2.0i Standard LaTeX package
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
    -File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file
    -LaTeX Font Info:    Redeclaring font encoding T1 on input line 48.
    -)<>)
    +Package: fontenc 2020/08/10 v2.0s Standard LaTeX package
    +<>)
     (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
    -Package: amsmath 2017/09/02 v2.17a AMS math features
    -\@mathmargin=\skip43
    +Package: amsmath 2020/09/23 v2.17i AMS math features
    +\@mathmargin=\skip49
     
     For additional information on amsmath, use the `?' option.
     (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
    @@ -373,53 +55,53 @@ Package: amstext 2000/06/29 v2.01 AMS text
     
     (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
     File: amsgen.sty 1999/11/30 v2.0 generic functions
    -\@emptytoks=\toks16
    -\ex@=\dimen103
    +\@emptytoks=\toks17
    +\ex@=\dimen139
     ))
     (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
     Package: amsbsy 1999/11/29 v1.2d Bold Symbols
    -\pmbraise@=\dimen104
    +\pmbraise@=\dimen140
     )
     (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
     Package: amsopn 2016/03/08 v2.02 operator names
     )
    -\inf@bad=\count88
    -LaTeX Info: Redefining \frac on input line 213.
    -\uproot@=\count89
    -\leftroot@=\count90
    -LaTeX Info: Redefining \overline on input line 375.
    -\classnum@=\count91
    -\DOTSCASE@=\count92
    -LaTeX Info: Redefining \ldots on input line 472.
    -LaTeX Info: Redefining \dots on input line 475.
    -LaTeX Info: Redefining \cdots on input line 596.
    -\Mathstrutbox@=\box26
    -\strutbox@=\box27
    -\big@size=\dimen105
    -LaTeX Font Info:    Redeclaring font encoding OML on input line 712.
    -LaTeX Font Info:    Redeclaring font encoding OMS on input line 713.
    -\macc@depth=\count93
    -\c@MaxMatrixCols=\count94
    -\dotsspace@=\muskip10
    -\c@parentequation=\count95
    -\dspbrk@lvl=\count96
    -\tag@help=\toks17
    -\row@=\count97
    -\column@=\count98
    -\maxfields@=\count99
    -\andhelp@=\toks18
    -\eqnshift@=\dimen106
    -\alignsep@=\dimen107
    -\tagshift@=\dimen108
    -\tagwidth@=\dimen109
    -\totwidth@=\dimen110
    -\lineht@=\dimen111
    -\@envbody=\toks19
    -\multlinegap=\skip44
    -\multlinetaggap=\skip45
    -\mathdisplay@stack=\toks20
    -LaTeX Info: Redefining \[ on input line 2817.
    -LaTeX Info: Redefining \] on input line 2818.
    +\inf@bad=\count186
    +LaTeX Info: Redefining \frac on input line 234.
    +\uproot@=\count187
    +\leftroot@=\count188
    +LaTeX Info: Redefining \overline on input line 399.
    +\classnum@=\count189
    +\DOTSCASE@=\count190
    +LaTeX Info: Redefining \ldots on input line 496.
    +LaTeX Info: Redefining \dots on input line 499.
    +LaTeX Info: Redefining \cdots on input line 620.
    +\Mathstrutbox@=\box47
    +\strutbox@=\box48
    +\big@size=\dimen141
    +LaTeX Font Info:    Redeclaring font encoding OML on input line 743.
    +LaTeX Font Info:    Redeclaring font encoding OMS on input line 744.
    +\macc@depth=\count191
    +\c@MaxMatrixCols=\count192
    +\dotsspace@=\muskip16
    +\c@parentequation=\count193
    +\dspbrk@lvl=\count194
    +\tag@help=\toks18
    +\row@=\count195
    +\column@=\count196
    +\maxfields@=\count197
    +\andhelp@=\toks19
    +\eqnshift@=\dimen142
    +\alignsep@=\dimen143
    +\tagshift@=\dimen144
    +\tagwidth@=\dimen145
    +\totwidth@=\dimen146
    +\lineht@=\dimen147
    +\@envbody=\toks20
    +\multlinegap=\skip50
    +\multlinetaggap=\skip51
    +\mathdisplay@stack=\toks21
    +LaTeX Info: Redefining \[ on input line 2923.
    +LaTeX Info: Redefining \] on input line 2924.
     )
     (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
     Package: amssymb 2013/01/14 v3.01 AMS font symbols
    @@ -428,61 +110,62 @@ Package: amssymb 2013/01/14 v3.01 AMS font symbols
     Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
     \symAMSa=\mathgroup4
     \symAMSb=\mathgroup5
    +LaTeX Font Info:    Redeclaring math symbol \hbar on input line 98.
     LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
     (Font)                  U/euf/m/n --> U/euf/b/n on input line 106.
     ))
     (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
    -Package: babel 2018/02/14 3.18 The Babel package
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def
    -File: switch.def 2018/02/14 3.18 Babel switching mechanism
    -)
    -(/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
    -Language: english 2017/06/06 v3.3r English support from the babel system
    +Package: babel 2021/01/26 3.53 The Babel package
     
     (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
    -File: babel.def 2018/02/14 3.18 Babel common definitions
    -\babel@savecnt=\count100
    -\U@D=\dimen112
    +File: babel.def 2021/01/26 3.53 Babel common definitions
    +\babel@savecnt=\count198
    +\U@D=\dimen148
    +\l@babelnohyphens=\language86
     
     (/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def)
    -\bbl@dirlevel=\count101
    +\bbl@readstream=\read2
     )
    -\l@british = a dialect from \language\l@english 
    -\l@UKenglish = a dialect from \language\l@english 
    -\l@canadian = a dialect from \language\l@american 
    -\l@australian = a dialect from \language\l@british 
    -\l@newzealand = a dialect from \language\l@british 
    +\bbl@dirlevel=\count199
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
    +Language: english 2017/06/06 v3.3r English support from the babel system
    +Package babel Info: \l@canadian = using hyphenrules for english
    +(babel)             (\language0) on input line 102.
    +Package babel Info: \l@australian = using hyphenrules for ukenglish
    +(babel)             (\language67) on input line 105.
    +Package babel Info: \l@newzealand = using hyphenrules for ukenglish
    +(babel)             (\language67) on input line 108.
     ))
     (/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
    -Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) 
    +Package: times 2020/03/25 PSNFSS-v9.3 (SPQR) 
     )
     (/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty
     Package: fncychap 2007/07/30 v1.34 LaTeX package (Revised chapters)
    -\RW=\skip46
    -\mylen=\skip47
    -\myhi=\skip48
    -\px=\skip49
    -\py=\skip50
    -\pyy=\skip51
    -\pxx=\skip52
    -\c@AlphaCnt=\count102
    -\c@AlphaDecCnt=\count103
    +\RW=\skip52
    +\mylen=\skip53
    +\myhi=\skip54
    +\px=\skip55
    +\py=\skip56
    +\pyy=\skip57
    +\pxx=\skip58
    +\c@AlphaCnt=\count266
    +\c@AlphaDecCnt=\count267
     ) (./sphinx.sty
     Package: sphinx 2019/09/02 v2.3.0 LaTeX package (Sphinx markup)
     
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
    -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
    +(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
    +Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO)
     )
     (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
    -Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
    +Package: graphicx 2020/09/09 v1.2b Enhanced LaTeX Graphics (DPC,SPQR)
     
     (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
     Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
    -\KV@toks@=\toks21
    +\KV@toks@=\toks22
     )
     (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
    -Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
    +Package: graphics 2020/08/30 v1.4c Standard LaTeX Graphics (DPC,SPQR)
     
     (/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
     Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
    @@ -490,252 +173,101 @@ Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
     (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
     File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
     )
    -Package graphics Info: Driver file: pdftex.def on input line 99.
    +Package graphics Info: Driver file: pdftex.def on input line 105.
     
     (/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
    -File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
    +File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex
     ))
    -\Gin@req@height=\dimen113
    -\Gin@req@width=\dimen114
    +\Gin@req@height=\dimen149
    +\Gin@req@width=\dimen150
     )
     (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
    -Package: fancyhdr 2017/06/30 v3.9a Extensive control of page headers and footer
    -s
    -\f@nch@headwidth=\skip53
    -\f@nch@O@elh=\skip54
    -\f@nch@O@erh=\skip55
    -\f@nch@O@olh=\skip56
    -\f@nch@O@orh=\skip57
    -\f@nch@O@elf=\skip58
    -\f@nch@O@erf=\skip59
    -\f@nch@O@olf=\skip60
    -\f@nch@O@orf=\skip61
    +Package: fancyhdr 2021/01/04 v4.0 Extensive control of page headers and footers
    +
    +\f@nch@headwidth=\skip59
    +\f@nch@O@elh=\skip60
    +\f@nch@O@erh=\skip61
    +\f@nch@O@olh=\skip62
    +\f@nch@O@orh=\skip63
    +\f@nch@O@elf=\skip64
    +\f@nch@O@erf=\skip65
    +\f@nch@O@olf=\skip66
    +\f@nch@O@orf=\skip67
     )
     (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
    -Package: textcomp 2017/04/05 v2.0i Standard LaTeX package
    -Package textcomp Info: Sub-encoding information:
    -(textcomp)               5 = only ISO-Adobe without \textcurrency
    -(textcomp)               4 = 5 + \texteuro
    -(textcomp)               3 = 4 + \textohm
    -(textcomp)               2 = 3 + \textestimated + \textcurrency
    -(textcomp)               1 = TS1 - \textcircled - \t
    -(textcomp)               0 = TS1 (full)
    -(textcomp)             Font families with sub-encoding setting implement
    -(textcomp)             only a restricted character set as indicated.
    -(textcomp)             Family '?' is the default used for unknown fonts.
    -(textcomp)             See the documentation for details.
    -Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79.
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
    -File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
    -Now handling font encoding TS1 ...
    -... processing UTF-8 mapping file for font encoding TS1
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu
    -File: ts1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc
    -   defining Unicode char U+00A2 (decimal 162)
    -   defining Unicode char U+00A3 (decimal 163)
    -   defining Unicode char U+00A4 (decimal 164)
    -   defining Unicode char U+00A5 (decimal 165)
    -   defining Unicode char U+00A6 (decimal 166)
    -   defining Unicode char U+00A7 (decimal 167)
    -   defining Unicode char U+00A8 (decimal 168)
    -   defining Unicode char U+00A9 (decimal 169)
    -   defining Unicode char U+00AA (decimal 170)
    -   defining Unicode char U+00AC (decimal 172)
    -   defining Unicode char U+00AE (decimal 174)
    -   defining Unicode char U+00AF (decimal 175)
    -   defining Unicode char U+00B0 (decimal 176)
    -   defining Unicode char U+00B1 (decimal 177)
    -   defining Unicode char U+00B2 (decimal 178)
    -   defining Unicode char U+00B3 (decimal 179)
    -   defining Unicode char U+00B4 (decimal 180)
    -   defining Unicode char U+00B5 (decimal 181)
    -   defining Unicode char U+00B6 (decimal 182)
    -   defining Unicode char U+00B7 (decimal 183)
    -   defining Unicode char U+00B9 (decimal 185)
    -   defining Unicode char U+00BA (decimal 186)
    -   defining Unicode char U+00BC (decimal 188)
    -   defining Unicode char U+00BD (decimal 189)
    -   defining Unicode char U+00BE (decimal 190)
    -   defining Unicode char U+00D7 (decimal 215)
    -   defining Unicode char U+00F7 (decimal 247)
    -   defining Unicode char U+0192 (decimal 402)
    -   defining Unicode char U+02C7 (decimal 711)
    -   defining Unicode char U+02D8 (decimal 728)
    -   defining Unicode char U+02DD (decimal 733)
    -   defining Unicode char U+0E3F (decimal 3647)
    -   defining Unicode char U+2016 (decimal 8214)
    -   defining Unicode char U+2020 (decimal 8224)
    -   defining Unicode char U+2021 (decimal 8225)
    -   defining Unicode char U+2022 (decimal 8226)
    -   defining Unicode char U+2030 (decimal 8240)
    -   defining Unicode char U+2031 (decimal 8241)
    -   defining Unicode char U+203B (decimal 8251)
    -   defining Unicode char U+203D (decimal 8253)
    -   defining Unicode char U+2044 (decimal 8260)
    -   defining Unicode char U+204E (decimal 8270)
    -   defining Unicode char U+2052 (decimal 8274)
    -   defining Unicode char U+20A1 (decimal 8353)
    -   defining Unicode char U+20A4 (decimal 8356)
    -   defining Unicode char U+20A6 (decimal 8358)
    -   defining Unicode char U+20A9 (decimal 8361)
    -   defining Unicode char U+20AB (decimal 8363)
    -   defining Unicode char U+20AC (decimal 8364)
    -   defining Unicode char U+20B1 (decimal 8369)
    -   defining Unicode char U+2103 (decimal 8451)
    -   defining Unicode char U+2116 (decimal 8470)
    -   defining Unicode char U+2117 (decimal 8471)
    -   defining Unicode char U+211E (decimal 8478)
    -   defining Unicode char U+2120 (decimal 8480)
    -   defining Unicode char U+2122 (decimal 8482)
    -   defining Unicode char U+2126 (decimal 8486)
    -   defining Unicode char U+2127 (decimal 8487)
    -   defining Unicode char U+212E (decimal 8494)
    -   defining Unicode char U+2190 (decimal 8592)
    -   defining Unicode char U+2191 (decimal 8593)
    -   defining Unicode char U+2192 (decimal 8594)
    -   defining Unicode char U+2193 (decimal 8595)
    -   defining Unicode char U+2329 (decimal 9001)
    -   defining Unicode char U+232A (decimal 9002)
    -   defining Unicode char U+2422 (decimal 9250)
    -   defining Unicode char U+25E6 (decimal 9702)
    -   defining Unicode char U+25EF (decimal 9711)
    -   defining Unicode char U+266A (decimal 9834)
    -))
    -LaTeX Info: Redefining \oldstylenums on input line 334.
    -Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349.
    -Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350.
    -Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351.
    -Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352.
    -Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353.
    -Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354.
    -Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355.
    -Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356.
    -Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357.
    -Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358.
    -Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359.
    -Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360.
    -Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361.
    -Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362.
    -Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363.
    -Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364.
    -Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365.
    -Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366.
    -Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367.
    -Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368.
    -Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369.
    -Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370.
    -Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371.
    -Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372.
    -
    -Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373.
    -Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374.
    -Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375.
    -Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376.
    -Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377.
    -Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378.
    -Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379.
    -Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380.
    -Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381.
    -Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382.
    -Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383.
    -Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384.
    -Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385.
    -Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386.
    -Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387.
    -Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388.
    -Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389.
    -Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390.
    -Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391.
    -Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392.
    -Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393.
    -Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394.
    -Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395.
    -Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396.
    -Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397.
    -Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398.
    -Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399.
    -Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400.
    -Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401.
    -Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402.
    -Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403.
    -Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404.
    -Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405.
    -Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406.
    -Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407.
    -Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408.
    -Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409.
    +Package: textcomp 2020/02/02 v2.0n Standard LaTeX package
     )
     (/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
    -Package: titlesec 2016/03/21 v2.10.2 Sectioning titles
    -\ttl@box=\box28
    -\beforetitleunit=\skip62
    -\aftertitleunit=\skip63
    -\ttl@plus=\dimen115
    -\ttl@minus=\dimen116
    -\ttl@toksa=\toks22
    -\titlewidth=\dimen117
    -\titlewidthlast=\dimen118
    -\titlewidthfirst=\dimen119
    +Package: titlesec 2019/10/16 v2.13 Sectioning titles
    +\ttl@box=\box49
    +\beforetitleunit=\skip68
    +\aftertitleunit=\skip69
    +\ttl@plus=\dimen151
    +\ttl@minus=\dimen152
    +\ttl@toksa=\toks23
    +\titlewidth=\dimen153
    +\titlewidthlast=\dimen154
    +\titlewidthfirst=\dimen155
     )
     (/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty
     Package: tabulary 2014/06/11 v0.10 tabulary package (DPC)
     
     (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
    -Package: array 2016/10/06 v2.4d Tabular extension package (FMi)
    -\col@sep=\dimen120
    -\extrarowheight=\dimen121
    -\NC@list=\toks23
    -\extratabsurround=\skip64
    -\backup@length=\skip65
    -)
    -\TY@count=\count104
    -\TY@linewidth=\dimen122
    -\tymin=\dimen123
    -\tymax=\dimen124
    -\TY@tablewidth=\dimen125
    +Package: array 2020/10/01 v2.5c Tabular extension package (FMi)
    +\col@sep=\dimen156
    +\ar@mcellbox=\box50
    +\extrarowheight=\dimen157
    +\NC@list=\toks24
    +\extratabsurround=\skip70
    +\backup@length=\skip71
    +\ar@cellbox=\box51
    +)
    +\TY@count=\count268
    +\TY@linewidth=\dimen158
    +\tymin=\dimen159
    +\tymax=\dimen160
    +\TY@tablewidth=\dimen161
     )
     (/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
    -Package: longtable 2014/10/28 v4.11 Multi-page Table package (DPC)
    -\LTleft=\skip66
    -\LTright=\skip67
    -\LTpre=\skip68
    -\LTpost=\skip69
    -\LTchunksize=\count105
    -\LTcapwidth=\dimen126
    -\LT@head=\box29
    -\LT@firsthead=\box30
    -\LT@foot=\box31
    -\LT@lastfoot=\box32
    -\LT@cols=\count106
    -\LT@rows=\count107
    -\c@LT@tables=\count108
    -\c@LT@chunks=\count109
    -\LT@p@ftn=\toks24
    +Package: longtable 2020/01/07 v4.13 Multi-page Table package (DPC)
    +\LTleft=\skip72
    +\LTright=\skip73
    +\LTpre=\skip74
    +\LTpost=\skip75
    +\LTchunksize=\count269
    +\LTcapwidth=\dimen162
    +\LT@head=\box52
    +\LT@firsthead=\box53
    +\LT@foot=\box54
    +\LT@lastfoot=\box55
    +\LT@cols=\count270
    +\LT@rows=\count271
    +\c@LT@tables=\count272
    +\c@LT@chunks=\count273
    +\LT@p@ftn=\toks25
     )
     (/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty
     Package: varwidth 2009/03/30 ver 0.92;  Variable-width minipages
    -\@vwid@box=\box33
    -\sift@deathcycles=\count110
    -\@vwid@loff=\dimen127
    -\@vwid@roff=\dimen128
    +\@vwid@box=\box56
    +\sift@deathcycles=\count274
    +\@vwid@loff=\dimen163
    +\@vwid@roff=\dimen164
     )
     (./sphinxmulticell.sty
     Package: sphinxmulticell 2017/02/23 v1.6 better span rows and columns of a tabl
     e (Sphinx team)
    -\sphinx@TY@tablewidth=\dimen129
    +\sphinx@TY@tablewidth=\dimen165
     )
     (/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
     Package: makeidx 2014/09/29 v1.0m Standard LaTeX package
     )
     (/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
     Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks
    -\OuterFrameSep=\skip70
    -\fb@frw=\dimen130
    -\fb@frh=\dimen131
    -\FrameRule=\dimen132
    -\FrameSep=\dimen133
    +\OuterFrameSep=\skip76
    +\fb@frw=\dimen166
    +\fb@frh=\dimen167
    +\FrameRule=\dimen168
    +\FrameSep=\dimen169
     )
     (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
     Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
    @@ -755,41 +287,43 @@ Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370.
     Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371.
     )
     (/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
    -Package: fancyvrb 2008/02/07
    -
    -Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix 
    -<2008/02/07> (tvz)
    -\FV@CodeLineNo=\count111
    -\FV@InFile=\read1
    -\FV@TabBox=\box34
    -\c@FancyVerbLine=\count112
    -\FV@StepNumber=\count113
    +Package: fancyvrb 2021/01/20 v3.7 verbatim text (tvz,hv)
    +\FV@CodeLineNo=\count275
    +\FV@InFile=\read3
    +\FV@TabBox=\box57
    +\c@FancyVerbLine=\count276
    +\FV@StepNumber=\count277
     \FV@OutFile=\write3
    -) (./footnotehyper-sphinx.sty
    +)
    +(./footnotehyper-sphinx.sty
     Package: footnotehyper-sphinx 2017/10/27 v1.7 hyperref aware footnote.sty for s
     phinx (JFB)
    -\FNH@notes=\box35
    -\FNH@width=\dimen134
    +\FNH@notes=\box58
    +\FNH@width=\dimen170
     )
     (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
     Package: float 2001/11/08 v1.3d Float enhancements (AL)
    -\c@float@type=\count114
    -\float@exts=\toks25
    -\float@box=\box36
    -\@float@everytoks=\toks26
    -\@floatcapt=\box37
    +\c@float@type=\count278
    +\float@exts=\toks26
    +\float@box=\box59
    +\@float@everytoks=\toks27
    +\@floatcapt=\box60
     )
     (/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty
    -\wrapoverhang=\dimen135
    -\WF@size=\dimen136
    -\c@WF@wrappedlines=\count115
    -\WF@box=\box38
    -\WF@everypar=\toks27
    +\wrapoverhang=\dimen171
    +\WF@size=\dimen172
    +\c@WF@wrappedlines=\count279
    +\WF@box=\box61
    +\WF@everypar=\toks28
     Package: wrapfig 2003/01/31  v 3.6
     )
     (/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
    +Rollback for package 'parskip' requested -> version 'v1'.
    +         This corresponds to the release introduced on 2001-04-09.
    +
    +(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip-2001-04-09.sty
     Package: parskip 2001/04/09 non-zero parskip adjustments
    -)
    +))
     (/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
     Package: alltt 1997/06/16 v2.0g defines alltt environment
     )
    @@ -803,185 +337,176 @@ Package: capt-of 2009/12/29 v0.2 standard captions outside of floats
     (/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty
     Package: needspace 2010/09/12 v1.3d reserve vertical space
     )
    -(/usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty)
     (./sphinxhighlight.sty
     Package: sphinxhighlight 2016/05/29 stylesheet for highlighting with pygments
     )
    -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
    -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO)
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
    -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO)
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
    -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO)
    -)
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
    -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
    -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO)
    -Package ifluatex Info: LuaTeX not detected.
    -)
    -Package etexcmds Info: Could not find \expanded.
    -(etexcmds)             That can mean that you are not using pdfTeX 1.50 or
    -(etexcmds)             that some package has redefined \expanded.
    -(etexcmds)             In the latter case, load this package earlier.
    -)))
    -\sphinxverbatimsep=\dimen137
    -\sphinxverbatimborder=\dimen138
    -\sphinxshadowsep=\dimen139
    -\sphinxshadowsize=\dimen140
    -\sphinxshadowrule=\dimen141
    -\spx@notice@border=\dimen142
    -\spx@image@maxheight=\dimen143
    -\spx@image@box=\dimen144
    -\c@literalblock=\count116
    -\sphinxcontinuationbox=\box39
    -\sphinxvisiblespacebox=\box40
    -\sphinxVerbatim@TitleBox=\box41
    -\sphinxVerbatim@ContentsBox=\box42
    -\py@argswidth=\skip71
    -\lineblockindentation=\skip72
    -\DUlineblockindent=\skip73
    +(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
    +Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO)
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
    +Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
    +))
    +\sphinxverbatimsep=\dimen173
    +\sphinxverbatimborder=\dimen174
    +\sphinxshadowsep=\dimen175
    +\sphinxshadowsize=\dimen176
    +\sphinxshadowrule=\dimen177
    +\spx@notice@border=\dimen178
    +\spx@image@maxheight=\dimen179
    +\spx@image@box=\dimen180
    +\c@literalblock=\count280
    +\sphinxcontinuationbox=\box62
    +\sphinxvisiblespacebox=\box63
    +\sphinxVerbatim@TitleBox=\box64
    +\sphinxVerbatim@ContentsBox=\box65
    +\py@argswidth=\skip77
    +\lineblockindentation=\skip78
    +\DUlineblockindent=\skip79
     )
     (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
    -Package: geometry 2010/09/12 v5.6 Page Geometry
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
    -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch
    -)
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
    -Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
    -Package ifvtex Info: VTeX not detected.
    -)
    -(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
    -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
    -)
    -\Gm@cnth=\count117
    -\Gm@cntv=\count118
    -\c@Gm@tempcnt=\count119
    -\Gm@bindingoffset=\dimen145
    -\Gm@wd@mp=\dimen146
    -\Gm@odd@mp=\dimen147
    -\Gm@even@mp=\dimen148
    -\Gm@layoutwidth=\dimen149
    -\Gm@layoutheight=\dimen150
    -\Gm@layouthoffset=\dimen151
    -\Gm@layoutvoffset=\dimen152
    -\Gm@dimlist=\toks28
    +Package: geometry 2020/01/02 v5.9 Page Geometry
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
    +Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
    +Package: iftex 2020/03/06 v1.0d TeX engine tests
    +))
    +\Gm@cnth=\count281
    +\Gm@cntv=\count282
    +\c@Gm@tempcnt=\count283
    +\Gm@bindingoffset=\dimen181
    +\Gm@wd@mp=\dimen182
    +\Gm@odd@mp=\dimen183
    +\Gm@even@mp=\dimen184
    +\Gm@layoutwidth=\dimen185
    +\Gm@layoutheight=\dimen186
    +\Gm@layouthoffset=\dimen187
    +\Gm@layoutvoffset=\dimen188
    +\Gm@dimlist=\toks29
     )
     (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
    -Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
    -Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO)
    -
    -
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
    -Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO)
    -Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO)
    -Package hobsub Info: Skipping package `infwarerr' (already loaded).
    -Package hobsub Info: Skipping package `ltxcmds' (already loaded).
    -Package hobsub Info: Skipping package `ifluatex' (already loaded).
    -Package hobsub Info: Skipping package `ifvtex' (already loaded).
    -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO)
    -Package hobsub Info: Skipping package `ifpdf' (already loaded).
    -Package hobsub Info: Skipping package `etexcmds' (already loaded).
    -Package hobsub Info: Skipping package `kvsetkeys' (already loaded).
    -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO)
    -Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO
    -)
    -Package pdftexcmds Info: LuaTeX not detected.
    +Package: hyperref 2020-05-15 v7.00e Hypertext links for LaTeX
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
    +Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO
    +)
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
    +Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
    +)
     Package pdftexcmds Info: \pdf@primitive is available.
     Package pdftexcmds Info: \pdf@ifprimitive is available.
     Package pdftexcmds Info: \pdfdraftmode found.
    -Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO)
    -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO
     )
    -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO)
    -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO)
    +(/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
    +Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
    +)
    +(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
    +Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
    +)
    +(/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
    +Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
     )
    -Package hobsub Info: Skipping package `hobsub' (already loaded).
    -Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)
    -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO)
    -Package: xcolor-patch 2016/05/16 xcolor patch
    -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO)
    -Package atveryend Info: \enddocument detected (standard20110627).
    -Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO)
    -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO)
    -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO)
    +(/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
    +Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
     )
    -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
    -Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO)
    +(/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
    +Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
     )
    -\@linkdim=\dimen153
    -\Hy@linkcounter=\count120
    -\Hy@pagecounter=\count121
    +\@linkdim=\dimen189
    +\Hy@linkcounter=\count284
    +\Hy@pagecounter=\count285
     
     (/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
    -File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO)
    +File: pd1enc.def 2020-05-15 v7.00e Hyperref: PDFDocEncoding definition (HO)
     Now handling font encoding PD1 ...
     ... no UTF-8 mapping file for font encoding PD1
     )
    -\Hy@SavedSpaceFactor=\count122
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
    -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
    +(/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
    +Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
    +)
    +(/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
    +Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
     )
    -Package hyperref Info: Option `unicode' set `true' on input line 4383.
    +\Hy@SavedSpaceFactor=\count286
    +Package hyperref Info: Option `unicode' set `true' on input line 4338.
     
     (/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
    -File: puenc.def 2018/02/06 v6.86b Hyperref: PDF Unicode definition (HO)
    +File: puenc.def 2020-05-15 v7.00e Hyperref: PDF Unicode definition (HO)
     Now handling font encoding PU ...
     ... no UTF-8 mapping file for font encoding PU
     )
    -Package hyperref Info: Option `colorlinks' set `true' on input line 4383.
    -Package hyperref Info: Option `breaklinks' set `true' on input line 4383.
    -Package hyperref Info: Hyper figures OFF on input line 4509.
    -Package hyperref Info: Link nesting OFF on input line 4514.
    -Package hyperref Info: Hyper index ON on input line 4517.
    -Package hyperref Info: Plain pages OFF on input line 4524.
    -Package hyperref Info: Backreferencing OFF on input line 4529.
    +Package hyperref Info: Option `colorlinks' set `true' on input line 4338.
    +Package hyperref Info: Option `breaklinks' set `true' on input line 4338.
    +Package hyperref Info: Hyper figures OFF on input line 4464.
    +Package hyperref Info: Link nesting OFF on input line 4469.
    +Package hyperref Info: Hyper index ON on input line 4472.
    +Package hyperref Info: Plain pages OFF on input line 4479.
    +Package hyperref Info: Backreferencing OFF on input line 4484.
     Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
    -Package hyperref Info: Bookmarks ON on input line 4762.
    -\c@Hy@tempcnt=\count123
    +Package hyperref Info: Bookmarks ON on input line 4717.
    +\c@Hy@tempcnt=\count287
     
     (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
    -\Urlmuskip=\muskip11
    +\Urlmuskip=\muskip17
     Package: url 2013/09/16  ver 3.4  Verb mode for urls, etc.
     )
    -LaTeX Info: Redefining \url on input line 5115.
    -\XeTeXLinkMargin=\dimen154
    -\Fld@menulength=\count124
    -\Field@Width=\dimen155
    -\Fld@charsize=\dimen156
    -Package hyperref Info: Hyper figures OFF on input line 6369.
    -Package hyperref Info: Link nesting OFF on input line 6374.
    -Package hyperref Info: Hyper index ON on input line 6377.
    -Package hyperref Info: backreferencing OFF on input line 6384.
    -Package hyperref Info: Link coloring ON on input line 6387.
    -Package hyperref Info: Link coloring with OCG OFF on input line 6394.
    -Package hyperref Info: PDF/A mode OFF on input line 6399.
    -LaTeX Info: Redefining \ref on input line 6439.
    -LaTeX Info: Redefining \pageref on input line 6443.
    -\Hy@abspage=\count125
    -\c@Item=\count126
    -\c@Hfootnote=\count127
    +LaTeX Info: Redefining \url on input line 5076.
    +\XeTeXLinkMargin=\dimen190
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
    +Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
    +Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
    +)
    +))
    +\Fld@menulength=\count288
    +\Field@Width=\dimen191
    +\Fld@charsize=\dimen192
    +Package hyperref Info: Hyper figures OFF on input line 6347.
    +Package hyperref Info: Link nesting OFF on input line 6352.
    +Package hyperref Info: Hyper index ON on input line 6355.
    +Package hyperref Info: backreferencing OFF on input line 6362.
    +Package hyperref Info: Link coloring ON on input line 6365.
    +Package hyperref Info: Link coloring with OCG OFF on input line 6372.
    +Package hyperref Info: PDF/A mode OFF on input line 6377.
    +LaTeX Info: Redefining \ref on input line 6417.
    +LaTeX Info: Redefining \pageref on input line 6421.
    +
    +(/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
    +Package: atbegshi-ltx 2020/08/17 v1.0a Emulation of the original atbegshi packa
    +ge
    +with kernel methods
    +)
    +\Hy@abspage=\count289
    +\c@Item=\count290
    +\c@Hfootnote=\count291
     )
     Package hyperref Info: Driver (autodetected): hpdftex.
     
     (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
    -File: hpdftex.def 2018/02/06 v6.86b Hyperref driver for pdfTeX
    -\Fld@listcount=\count128
    -\c@bookmark@seq@number=\count129
    +File: hpdftex.def 2020-05-15 v7.00e Hyperref driver for pdfTeX
     
    -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
    -Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO)
    +(/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
    +Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atvery packag
    +e
    +with kernel methods
    +)
    +\Fld@listcount=\count292
    +\c@bookmark@seq@number=\count293
    +
    +(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
    +Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO)
    +
    +(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
    +Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
    +)
     Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
    -82.
    +86.
     )
    -\Hy@SectionHShift=\skip74
    +\Hy@SectionHShift=\skip80
     )
     (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty
     Package: hypcap 2016/05/16 v1.12 Adjusting the anchors of captions (HO)
    @@ -994,61 +519,55 @@ Package: sphinxmessages 2019/01/04 v2.0 Localized LaTeX macros (Sphinx team)
     
     
     Writing index file DFOLS.idx
    +LaTeX Font Info:    Trying to load font information for T1+ptm on input line 82
    +.
    +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
    +File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
    +)
    +(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
    +File: l3backend-pdftex.def 2020-01-29 L3 backend support: PDF output (pdfTeX)
    +\l__color_backend_stack_int=\count294
    +\l__pdf_internal_box=\box66
    +)
     (./DFOLS.aux)
     \openout1 = `DFOLS.aux'.
     
     LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
    -LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 82.
    +LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
     LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
    -LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 82.
    +LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 82.
    +LaTeX Font Info:    ... okay on input line 82.
    +LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
     LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
     LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
    -LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 82.
    -LaTeX Font Info:    Try loading font information for TS1+cmr on input line 82.
    - (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
    -File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
    -)
    -LaTeX Font Info:    ... okay on input line 82.
     LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
     LaTeX Font Info:    Checking defaults for PU/pdf/m/n on input line 82.
     LaTeX Font Info:    ... okay on input line 82.
    -LaTeX Font Info:    Try loading font information for T1+ptm on input line 82.
     
    -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
    -File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
    -)
     (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
     [Loading MPS to PDF converter (version 2006.09.02).]
    -\scratchcounter=\count130
    -\scratchdimen=\dimen157
    -\scratchbox=\box43
    -\nofMPsegments=\count131
    -\nofMParguments=\count132
    -\everyMPshowfont=\toks29
    -\MPscratchCnt=\count133
    -\MPscratchDim=\dimen158
    -\MPnumerator=\count134
    -\makeMPintoPDFobject=\count135
    -\everyMPtoPDFconversion=\toks30
    -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
    -Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf
    -
    -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
    -Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO)
    -)
    +\scratchcounter=\count295
    +\scratchdimen=\dimen193
    +\scratchbox=\box67
    +\nofMPsegments=\count296
    +\nofMParguments=\count297
    +\everyMPshowfont=\toks30
    +\MPscratchCnt=\count298
    +\MPscratchDim=\dimen194
    +\MPnumerator=\count299
    +\makeMPintoPDFobject=\count300
    +\everyMPtoPDFconversion=\toks31
    +) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
    +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
     Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
    -38.
    -Package grfext Info: Graphics extension search list:
    -(grfext)             [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE
    -G,.JBIG2,.JB2,.eps]
    -(grfext)             \AppendGraphicsExtensions on input line 456.
    +85.
     
     (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
     File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
    @@ -1088,15 +607,17 @@ e
     * \@reversemarginfalse
     * (1in=72.27pt=25.4mm, 1cm=28.453pt)
     
    -\AtBeginShipoutBox=\box44
     Package hyperref Info: Link coloring ON on input line 82.
     (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
    -Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section
    +Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section
     
    -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
    -Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO)
    +(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
    +Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
    +)
    +(/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
    +Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
     )
    -\c@section@level=\count136
    +\c@section@level=\count301
     )
     LaTeX Info: Redefining \ref on input line 82.
     LaTeX Info: Redefining \pageref on input line 82.
    @@ -1107,50 +628,34 @@ LaTeX Info: Redefining \nameref on input line 82.
     \openout5 = `DFOLS.out'.
     
     Package hyperref Info: Option `pageanchor' set `false' on input line 85.
    -LaTeX Font Info:    Try loading font information for T1+phv on input line 85.
    +LaTeX Font Info:    Trying to load font information for T1+phv on input line 85
    +.
     
     (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
    -File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv.
    -)
    -LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <10> not available
    -(Font)              Font shape `T1/phv/b/n' tried instead on input line 85.
    -LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <24.88> not available
    -(Font)              Font shape `T1/phv/b/n' tried instead on input line 85.
    -LaTeX Font Info:    Font shape `T1/phv/bx/it' in size <10> not available
    -(Font)              Font shape `T1/phv/b/it' tried instead on input line 85.
    +File: t1phv.fd 2020/03/25 scalable font definitions for T1/phv.
    +)
     LaTeX Font Info:    Font shape `T1/phv/b/it' in size <10> not available
     (Font)              Font shape `T1/phv/b/sl' tried instead on input line 85.
    -LaTeX Font Info:    Font shape `T1/phv/bx/it' in size <17.28> not available
    -(Font)              Font shape `T1/phv/b/it' tried instead on input line 85.
     LaTeX Font Info:    Font shape `T1/phv/b/it' in size <17.28> not available
     (Font)              Font shape `T1/phv/b/sl' tried instead on input line 85.
    -LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <17.28> not available
    -(Font)              Font shape `T1/phv/b/n' tried instead on input line 85.
     <><><><>
    -LaTeX Font Info:    Try loading font information for U+msa on input line 85.
    +LaTeX Font Info:    Trying to load font information for U+msa on input line 85.
    +
     
     (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
     File: umsa.fd 2013/01/14 v3.01 AMS symbols A
     )
    -LaTeX Font Info:    Try loading font information for U+msb on input line 85.
    +LaTeX Font Info:    Trying to load font information for U+msb on input line 85.
    +
     
     (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
     File: umsb.fd 2013/01/14 v3.01 AMS symbols B
    -)
    -LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <12> not available
    -(Font)              Font shape `T1/phv/b/n' tried instead on input line 85.
    - [1
    +) [1
     
     {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2
     
     
    -]
    -LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <14.4> not available
    -(Font)              Font shape `T1/phv/b/n' tried instead on input line 87.
    - (./DFOLS.toc
    -LaTeX Font Info:    Font shape `T1/ptm/bx/n' in size <10> not available
    -(Font)              Font shape `T1/ptm/b/n' tried instead on input line 2.
    - [1
    +] (./DFOLS.toc [1
     
     ])
     \tf@toc=\write6
    @@ -1162,12 +667,13 @@ LaTeX Font Info:    Font shape `T1/ptm/bx/n' in size <10> not available
     
     ]
     Chapter 1.
    -LaTeX Font Info:    Try loading font information for TS1+ptm on input line 121.
    -
    +LaTeX Font Info:    Trying to load font information for TS1+ptm on input line 1
    +21.
     (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd
     File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm.
     )
    -LaTeX Font Info:    Try loading font information for T1+pcr on input line 139.
    +LaTeX Font Info:    Trying to load font information for T1+pcr on input line 13
    +9.
     
     (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
     File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
    @@ -1182,111 +688,121 @@ Chapter 2.
     
     ]
     Chapter 3.
    -[9]
    -LaTeX Font Info:    Font shape `T1/pcr/bx/n' in size <9> not available
    -(Font)              Font shape `T1/pcr/b/n' tried instead on input line 425.
    - [10]
    -LaTeX Font Info:    Try loading font information for TS1+pcr on input line 1.
    +[9] [10]
    +LaTeX Font Info:    Trying to load font information for TS1+pcr on input line 1
    +.
      (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1pcr.fd
     File: ts1pcr.fd 2001/06/04 font definitions for TS1/pcr.
     ) [11]
    -[12] [13]
    -Overfull \vbox (2.68167pt too high) detected at line 716
    +[12] [13] [14]
    +
    +Package textcomp Warning: Symbol \textasciigrave not provided by
    +(textcomp)                font family pcr in TS1 encoding.
    +(textcomp)                Default family used instead on input line 756.
    +
    +LaTeX Font Info:    Trying to load font information for T1+cmtt on input line 7
    +56.
    +(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd
    +File: t1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions
    +)
    +LaTeX Font Info:    Trying to load font information for TS1+cmtt on input line 
    +756.
    +
    +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd
    +File: ts1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions
    +)
    +
    +Package textcomp Warning: Symbol \textasciigrave not provided by
    +(textcomp)                font family pcr in TS1 encoding.
    +(textcomp)                Default family used instead on input line 756.
    +
    +
    +Overfull \vbox (0.68164pt too high) detected at line 784
      []
     
    -[14] [15]
    -
    +[15] [16]
    +
     File: data_fitting.png Graphic file (type png)
     
    -Package pdftex.def Info: data_fitting.png  used on input line 816.
    +Package pdftex.def Info: data_fitting.png  used on input line 857.
     (pdftex.def)             Requested size: 352.31625pt x 270.79639pt.
    - [16]
    -Overfull \vbox (2.92438pt too high) detected at line 876
    - []
    + [17 <./data_fitting.png>] [18] [19] [20
     
    -[17 <./data_fitting.png>] [18]
    +]
     Chapter 4.
    -[19
    -
    -] [20]
    -Underfull \hbox (badness 10000) in paragraph at lines 1044--1045
    +[21] [22]
    +Underfull \hbox (badness 10000) in paragraph at lines 1085--1086
     []\T1/pcr/m/n/10 regression.increase_num_extra_steps_with_restart \T1/ptm/m/n/1
     0 - The amount to in-crease
      []
     
     
    -Underfull \hbox (badness 10000) in paragraph at lines 1079--1080
    +Underfull \hbox (badness 10000) in paragraph at lines 1120--1121
     []\T1/pcr/m/n/10 restarts.hard.increase_ndirs_initial_amt \T1/ptm/m/n/10 - Amou
     nt to in-crease \T1/pcr/m/n/10 growing.
      []
     
    -[21]
    -Underfull \hbox (badness 8000) in paragraph at lines 1114--1115
    +[23]
    +Underfull \hbox (badness 8000) in paragraph at lines 1155--1156
     \T1/ptm/m/n/10 De-fault is \T1/pcr/m/n/10 False \T1/ptm/m/n/10 if $\OML/cmm/m/i
     t/10 m \OMS/cmsy/m/n/10 ^^U \OML/cmm/m/it/10 n$ \T1/ptm/m/n/10 and \T1/pcr/m/n/
     10 True \T1/ptm/m/n/10 oth-er-wise (op-po-site to \T1/pcr/m/n/10 growing.full_r
     ank.
      []
     
    -[22] [23] [24
    +[24] [25] [26
     
     ]
     Chapter 5.
    -[25] [26]
    +[27] [28]
     Chapter 6.
    -[27
    -
    -] [28]
    -Chapter 7.
     [29
     
    -] [30
    +] [30]
    +Chapter 7.
    +[31
     
    -] (./DFOLS.ind)
    -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1397.
    - [31
    +] [32
     
    -]
    -Package atveryend Info: Empty hook `AfterLastShipout' on input line 1397.
    - (./DFOLS.aux)
    -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1397.
    -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1397.
    +] (./DFOLS.ind) [33
     
    +] (./DFOLS.aux)
     Package rerunfilecheck Info: File `DFOLS.out' has not changed.
    -(rerunfilecheck)             Checksum: 0DA220324F9F4FF77D55207662CCF7C0;9013.
    -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1397.
    +(rerunfilecheck)             Checksum: 4C15CB7F3428BA1015BE450CF20AE095;9566.
      ) 
     Here is how much of TeX's memory you used:
    - 13838 strings out of 494923
    - 192129 string characters out of 6180742
    - 326077 words of memory out of 5000000
    - 16743 multiletter control sequences out of 15000+600000
    - 52360 words of font info for 74 fonts, out of 8000000 for 9000
    - 15 hyphenation exceptions out of 8191
    - 37i,17n,51p,887b,548s stack positions out of 5000i,500n,10000p,200000b,80000s
    -{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}<
    -/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb>
    -Output written on DFOLS.pdf (35 pages, 302355 bytes).
    + 13946 strings out of 479304
    + 199409 string characters out of 5869779
    + 597748 words of memory out of 5000000
    + 30696 multiletter control sequences out of 15000+600000
    + 452760 words of font info for 89 fonts, out of 8000000 for 9000
    + 1142 hyphenation exceptions out of 8191
    + 83i,17n,88p,887b,562s stack positions out of 5000i,500n,10000p,200000b,80000s
    +{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}{/usr/share/texli
    +ve/texmf-dist/fonts/enc/dvips/base/8r.enc}
    +Output written on DFOLS.pdf (37 pages, 321015 bytes).
     PDF statistics:
    - 584 PDF objects out of 1000 (max. 8388607)
    - 514 compressed objects within 6 object streams
    - 92 named destinations out of 1000 (max. 500000)
    - 450 words of extra memory for PDF output out of 10000 (max. 10000000)
    + 616 PDF objects out of 1000 (max. 8388607)
    + 543 compressed objects within 6 object streams
    + 97 named destinations out of 1000 (max. 500000)
    + 474 words of extra memory for PDF output out of 10000 (max. 10000000)
     
    diff --git a/docs/build/latex/DFOLS.out b/docs/build/latex/DFOLS.out
    index c21e6e1..a470f6b 100755
    --- a/docs/build/latex/DFOLS.out
    +++ b/docs/build/latex/DFOLS.out
    @@ -15,7 +15,7 @@
     \BOOKMARK [1][-]{section.3.2}{\376\377\000H\000o\000w\000\040\000t\000o\000\040\000u\000s\000e\000\040\000D\000F\000O\000-\000L\000S}{chapter.3}% 15
     \BOOKMARK [1][-]{section.3.3}{\376\377\000O\000p\000t\000i\000o\000n\000a\000l\000\040\000A\000r\000g\000u\000m\000e\000n\000t\000s}{chapter.3}% 16
     \BOOKMARK [1][-]{section.3.4}{\376\377\000A\000\040\000S\000i\000m\000p\000l\000e\000\040\000E\000x\000a\000m\000p\000l\000e}{chapter.3}% 17
    -\BOOKMARK [1][-]{section.3.5}{\376\377\000A\000d\000d\000i\000n\000g\000\040\000B\000o\000u\000n\000d\000s\000\040\000a\000n\000d\000\040\000M\000o\000r\000e\000\040\000O\000u\000t\000p\000u\000t}{chapter.3}% 18
    +\BOOKMARK [1][-]{section.3.5}{\376\377\000A\000d\000d\000i\000n\000g\000\040\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\040\000a\000n\000d\000\040\000M\000o\000r\000e\000\040\000O\000u\000t\000p\000u\000t}{chapter.3}% 18
     \BOOKMARK [1][-]{section.3.6}{\376\377\000E\000x\000a\000m\000p\000l\000e\000:\000\040\000N\000o\000i\000s\000y\000\040\000O\000b\000j\000e\000c\000t\000i\000v\000e\000\040\000E\000v\000a\000l\000u\000a\000t\000i\000o\000n}{chapter.3}% 19
     \BOOKMARK [1][-]{section.3.7}{\376\377\000E\000x\000a\000m\000p\000l\000e\000:\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000E\000s\000t\000i\000m\000a\000t\000i\000o\000n\000/\000D\000a\000t\000a\000\040\000F\000i\000t\000t\000i\000n\000g}{chapter.3}% 20
     \BOOKMARK [1][-]{section.3.8}{\376\377\000E\000x\000a\000m\000p\000l\000e\000:\000\040\000S\000o\000l\000v\000i\000n\000g\000\040\000a\000\040\000N\000o\000n\000l\000i\000n\000e\000a\000r\000\040\000S\000y\000s\000t\000e\000m\000\040\000o\000f\000\040\000E\000q\000u\000a\000t\000i\000o\000n\000s}{chapter.3}% 21
    @@ -32,22 +32,25 @@
     \BOOKMARK [1][-]{section.4.9}{\376\377\000R\000e\000g\000r\000e\000s\000s\000i\000o\000n\000\040\000M\000o\000d\000e\000l\000\040\000M\000a\000n\000a\000g\000e\000m\000e\000n\000t}{chapter.4}% 32
     \BOOKMARK [1][-]{section.4.10}{\376\377\000M\000u\000l\000t\000i\000p\000l\000e\000\040\000R\000e\000s\000t\000a\000r\000t\000s}{chapter.4}% 33
     \BOOKMARK [1][-]{section.4.11}{\376\377\000D\000y\000n\000a\000m\000i\000c\000a\000l\000l\000y\000\040\000G\000r\000o\000w\000i\000n\000g\000\040\000I\000n\000i\000t\000i\000a\000l\000\040\000S\000e\000t}{chapter.4}% 34
    -\BOOKMARK [1][-]{section.4.12}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{chapter.4}% 35
    -\BOOKMARK [0][-]{chapter.5}{\376\377\000D\000i\000a\000g\000n\000o\000s\000t\000i\000c\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n}{}% 36
    -\BOOKMARK [1][-]{section.5.1}{\376\377\000C\000u\000r\000r\000e\000n\000t\000\040\000I\000t\000e\000r\000a\000t\000e}{chapter.5}% 37
    -\BOOKMARK [1][-]{section.5.2}{\376\377\000T\000r\000u\000s\000t\000\040\000R\000e\000g\000i\000o\000n}{chapter.5}% 38
    -\BOOKMARK [1][-]{section.5.3}{\376\377\000M\000o\000d\000e\000l\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000i\000o\000n}{chapter.5}% 39
    -\BOOKMARK [1][-]{section.5.4}{\376\377\000I\000t\000e\000r\000a\000t\000i\000o\000n\000\040\000C\000o\000u\000n\000t}{chapter.5}% 40
    -\BOOKMARK [1][-]{section.5.5}{\376\377\000A\000l\000g\000o\000r\000i\000t\000h\000m\000\040\000P\000r\000o\000g\000r\000e\000s\000s}{chapter.5}% 41
    -\BOOKMARK [0][-]{chapter.6}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000H\000i\000s\000t\000o\000r\000y}{}% 42
    -\BOOKMARK [1][-]{section.6.1}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0000\000\040\000\050\0006\000\040\000F\000e\000b\000\040\0002\0000\0001\0008\000\051}{chapter.6}% 43
    -\BOOKMARK [1][-]{section.6.2}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0000\000.\0001\000\040\000\050\0002\0000\000\040\000F\000e\000b\000\040\0002\0000\0001\0008\000\051}{chapter.6}% 44
    -\BOOKMARK [1][-]{section.6.3}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0000\000.\0002\000\040\000\050\0002\0000\000\040\000J\000u\000n\000\040\0002\0000\0001\0008\000\051}{chapter.6}% 45
    -\BOOKMARK [1][-]{section.6.4}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0001\000\040\000\050\0001\0006\000\040\000J\000a\000n\000\040\0002\0000\0001\0009\000\051}{chapter.6}% 46
    -\BOOKMARK [1][-]{section.6.5}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0001\000.\0001\000\040\000\050\0005\000\040\000A\000p\000r\000\040\0002\0000\0001\0009\000\051}{chapter.6}% 47
    -\BOOKMARK [1][-]{section.6.6}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000\040\000\050\0001\0002\000\040\000F\000e\000b\000\040\0002\0000\0002\0000\000\051}{chapter.6}% 48
    -\BOOKMARK [1][-]{section.6.7}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000.\0001\000\040\000\050\0001\0003\000\040\000F\000e\000b\000\040\0002\0000\0002\0000\000\051}{chapter.6}% 49
    -\BOOKMARK [1][-]{section.6.8}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000.\0002\000\040\000\050\0002\0006\000\040\000F\000e\000b\000\040\0002\0000\0002\0001\000\051}{chapter.6}% 50
    -\BOOKMARK [1][-]{section.6.9}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000.\0003\000\040\000\050\0001\000\040\000J\000u\000n\000\040\0002\0000\0002\0001\000\051}{chapter.6}% 51
    -\BOOKMARK [0][-]{chapter.7}{\376\377\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000e\000m\000e\000n\000t\000s}{}% 52
    -\BOOKMARK [0][-]{chapter*.3}{\376\377\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y}{}% 53
    +\BOOKMARK [1][-]{section.4.12}{\376\377\000D\000y\000k\000s\000t\000r\000a\040\031\000s\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m}{chapter.4}% 35
    +\BOOKMARK [1][-]{section.4.13}{\376\377\000C\000h\000e\000c\000k\000i\000n\000g\000\040\000M\000a\000t\000r\000i\000x\000\040\000R\000a\000n\000k}{chapter.4}% 36
    +\BOOKMARK [1][-]{section.4.14}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{chapter.4}% 37
    +\BOOKMARK [0][-]{chapter.5}{\376\377\000D\000i\000a\000g\000n\000o\000s\000t\000i\000c\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n}{}% 38
    +\BOOKMARK [1][-]{section.5.1}{\376\377\000C\000u\000r\000r\000e\000n\000t\000\040\000I\000t\000e\000r\000a\000t\000e}{chapter.5}% 39
    +\BOOKMARK [1][-]{section.5.2}{\376\377\000T\000r\000u\000s\000t\000\040\000R\000e\000g\000i\000o\000n}{chapter.5}% 40
    +\BOOKMARK [1][-]{section.5.3}{\376\377\000M\000o\000d\000e\000l\000\040\000I\000n\000t\000e\000r\000p\000o\000l\000a\000t\000i\000o\000n}{chapter.5}% 41
    +\BOOKMARK [1][-]{section.5.4}{\376\377\000I\000t\000e\000r\000a\000t\000i\000o\000n\000\040\000C\000o\000u\000n\000t}{chapter.5}% 42
    +\BOOKMARK [1][-]{section.5.5}{\376\377\000A\000l\000g\000o\000r\000i\000t\000h\000m\000\040\000P\000r\000o\000g\000r\000e\000s\000s}{chapter.5}% 43
    +\BOOKMARK [0][-]{chapter.6}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000H\000i\000s\000t\000o\000r\000y}{}% 44
    +\BOOKMARK [1][-]{section.6.1}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0000\000\040\000\050\0006\000\040\000F\000e\000b\000\040\0002\0000\0001\0008\000\051}{chapter.6}% 45
    +\BOOKMARK [1][-]{section.6.2}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0000\000.\0001\000\040\000\050\0002\0000\000\040\000F\000e\000b\000\040\0002\0000\0001\0008\000\051}{chapter.6}% 46
    +\BOOKMARK [1][-]{section.6.3}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0000\000.\0002\000\040\000\050\0002\0000\000\040\000J\000u\000n\000\040\0002\0000\0001\0008\000\051}{chapter.6}% 47
    +\BOOKMARK [1][-]{section.6.4}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0001\000\040\000\050\0001\0006\000\040\000J\000a\000n\000\040\0002\0000\0001\0009\000\051}{chapter.6}% 48
    +\BOOKMARK [1][-]{section.6.5}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0001\000.\0001\000\040\000\050\0005\000\040\000A\000p\000r\000\040\0002\0000\0001\0009\000\051}{chapter.6}% 49
    +\BOOKMARK [1][-]{section.6.6}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000\040\000\050\0001\0002\000\040\000F\000e\000b\000\040\0002\0000\0002\0000\000\051}{chapter.6}% 50
    +\BOOKMARK [1][-]{section.6.7}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000.\0001\000\040\000\050\0001\0003\000\040\000F\000e\000b\000\040\0002\0000\0002\0000\000\051}{chapter.6}% 51
    +\BOOKMARK [1][-]{section.6.8}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000.\0002\000\040\000\050\0002\0006\000\040\000F\000e\000b\000\040\0002\0000\0002\0001\000\051}{chapter.6}% 52
    +\BOOKMARK [1][-]{section.6.9}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0002\000.\0003\000\040\000\050\0001\000\040\000J\000u\000n\000\040\0002\0000\0002\0001\000\051}{chapter.6}% 53
    +\BOOKMARK [1][-]{section.6.10}{\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\0001\000.\0003\000.\0000\000\040\000\050\0001\0006\000\040\000O\000c\000t\000\040\0002\0000\0002\0001\000\051}{chapter.6}% 54
    +\BOOKMARK [0][-]{chapter.7}{\376\377\000A\000c\000k\000n\000o\000w\000l\000e\000d\000g\000e\000m\000e\000n\000t\000s}{}% 55
    +\BOOKMARK [0][-]{chapter*.3}{\376\377\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y}{}% 56
    diff --git a/docs/build/latex/DFOLS.pdf b/docs/build/latex/DFOLS.pdf
    index 3eb1243cf46aea69b21f2da3551362ab979ce540..886cb3c4b8a94283f6164b95ebe668618d27eda5 100755
    GIT binary patch
    delta 144411
    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	#(>u}kaCvn
    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
O{%Q=t2cJ8n{|{KG-T5bB%Nw&
    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

    2~@La=7uiT>CKy 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

    VFGW#?o}V>$()0@SFQY9wE^mg0zFlR^}C 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%0DD$PH>o@|pr#JZauif@S_ch#5B{R;o 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 -DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional bound constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares. +DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional convex constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares. That is, DFO-LS solves .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad a \leq x \leq b + \text{s.t.} &\quad x \in C -The upper and lower bounds on the variables are non-relaxable (i.e. DFO-LS will never ask to evaluate a point outside the bounds). +The constraint set :math:`C` is assumed to be non-empty, closed and convex. Moreover, the constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible). Full details of the DFO-LS algorithm are given in our paper: C. Cartis, J. Fiala, B. Marteau and L. Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers `_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint `_] . DFO-LS is a more flexible version of `DFO-GN `_. diff --git a/docs/info.rst b/docs/info.rst index 824a232..46d74c8 100644 --- a/docs/info.rst +++ b/docs/info.rst @@ -3,14 +3,15 @@ Overview When to use DFO-LS ------------------ -DFO-LS is designed to solve the nonlinear least-squares minimization problem (with optional bound constraints) +DFO-LS is designed to solve the nonlinear least-squares minimization problem (with optional convex constraints). .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad a \leq x \leq b + \text{s.t.} &\quad x \in C We call :math:`f(x)` the objective function and :math:`r_i(x)` the residual functions (or simply residuals). +Here :math:`C` is a non-empty and closed convex set. DFO-LS is a *derivative-free* optimization algorithm, which means it does not require the user to provide the derivatives of :math:`f(x)` or :math:`r_i(x)`, nor does it attempt to estimate them internally (by using finite differencing, for instance). diff --git a/docs/userguide.rst b/docs/userguide.rst index 6804892..28408bd 100644 --- a/docs/userguide.rst +++ b/docs/userguide.rst @@ -9,9 +9,9 @@ DFO-LS is designed to solve the local optimization problem .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad a \leq x \leq b + \text{s.t.} &\quad x \in C -where the bound constraints :math:`a \leq x \leq b` are optional. The upper and lower bounds on the variables are non-relaxable (i.e. DFO-LS will never ask to evaluate a point outside the bounds). +where the set :math:`C` is an optional non-empty, closed and convex constraint set. The constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible). DFO-LS iteratively constructs an interpolation-based model for the objective, and determines a step using a trust-region framework. For an in-depth technical description of the algorithm see the paper [CFMR2018]_. @@ -75,6 +75,7 @@ These arguments are: * :code:`args` - a tuple of extra arguments passed to the objective function. * :code:`bounds` - a tuple :code:`(lower, upper)` with the vectors :math:`a` and :math:`b` of lower and upper bounds on :math:`x` (default is :math:`a_i=-10^{20}` and :math:`b_i=10^{20}`). To set bounds for either :code:`lower` or :code:`upper`, but not both, pass a tuple :code:`(lower, None)` or :code:`(None, upper)`. +* :code:`projections` - a list :code:`[f1,f2,...,fn]` of functions that each take as input a point :code:`x` and return a new point :code:`y`. The new point :code:`y` should be given by the projection of :code:`x` onto a closed convex set. The intersection of all sets corresponding to a function must be non-empty. * :code:`npt` - the number of interpolation points to use (default is :code:`len(x0)+1`). If using restarts, this is the number of points to use in the first run of the solver, before any restarts (and may be optionally increased via settings in :code:`user_params`). * :code:`rhobeg` - the initial value of the trust region radius (default is :math:`0.1\max(\|x_0\|_{\infty}, 1)`, or 0.1 if :code:`scaling_within_bounds`). * :code:`rhoend` - minimum allowed value of trust region radius, which determines when a successful termination occurs (default is :math:`10^{-8}`). @@ -142,9 +143,9 @@ Note that DFO-LS is a randomized algorithm: in its first phase, it builds an int This and all following problems can be found in the `examples `_ directory on the DFO-LS Github page. -Adding Bounds and More Output +Adding Constraints and More Output ----------------------------- -We can extend the above script to add constraints. To do this, we can add the lines +We can extend the above script to add constraints. To add bound constraints alone, we can add the lines .. code-block:: python @@ -179,6 +180,40 @@ However, we also get a warning that our starting point was outside of the bounds DFO-LS automatically fixes this, and moves :math:`x_0` to a point within the bounds, in this case :math:`x_0=(-1.2,0.85)`. +If we want more complex constraints, we can instead write + + .. code-block:: python + + # Define the projection functions + def pball(x): + c = np.array([0.7,1.5]) # ball centre + r = 0.4 # ball radius + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) + + def pbox(x): + l = np.array([-2, 1.1]) # lower bound + u = np.array([0.9, 3]) # upper bound + return np.minimum(np.maximum(x,l), u) + + # Call DFO-LS (with box and ball constraints) + soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) + +DFO-LS correctly finds the solution to this constrained problem too: + + .. code-block:: none + + ****** DFO-LS Results ****** + Solution xmin = [0.9 1.15358984] + Residual vector = [3.43589838 0.1 ] + Objective value f(xmin) = 11.81539771 + Needed 10 objective evaluations (at 10 points) + Approximate Jacobian = [[-1.79826221e+01 1.00004412e+01] + [-1.00000000e+00 6.81262102e-15]] + Exit flag = 0 + Success: rho has reached rhoend + **************************** + + We can also get DFO-LS to print out more detailed information about its progress using the `logging `_ module. To do this, we need to add the following lines: .. code-block:: python @@ -188,7 +223,7 @@ We can also get DFO-LS to print out more detailed information about its progress # ... (call dfols.solve) -And we can now see each evaluation of :code:`objfun`: +And for the simple bounds example we can now see each evaluation of :code:`objfun`: .. code-block:: none diff --git a/examples/rosenbrock_constrained.py b/examples/rosenbrock_constrained.py index eeac7bf..8a0812c 100644 --- a/examples/rosenbrock_constrained.py +++ b/examples/rosenbrock_constrained.py @@ -10,6 +10,7 @@ def rosenbrock(x): # Define the starting point x0 = np.array([-1.2, 1]) +# Define the projection functions def pball(x): c = np.array([0.7,1.5]) # ball centre r = 0.4 # ball radius @@ -25,7 +26,7 @@ def pbox(x): logging.basicConfig(level=logging.DEBUG, format='%(message)s') # Call DFO-LS -soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) +soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox], user_params={'dykstra.d_tol': 1e-50}) # Display output print(soln) diff --git a/manual.pdf b/manual.pdf old mode 100644 new mode 100755 index 3eb1243cf46aea69b21f2da3551362ab979ce540..886cb3c4b8a94283f6164b95ebe668618d27eda5 GIT binary patch delta 144411 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 #(>u}kaCvn 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 O{%Q=t2cJ8n{|{KG-T5bB%Nw& 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

    2~@La=7uiT>CKy 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

    VFGW#?o}V>$()0@SFQY9wE^mg0zFlR^}C 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%0DD$PH>o@|pr#JZauif@S_ch#5B{R;o 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 Date: Sun, 17 Oct 2021 18:35:52 -0400 Subject: [PATCH 08/11] Correct code that was outdated from paper --- dfols/controller.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dfols/controller.py b/dfols/controller.py index 5ace32c..a408267 100644 --- a/dfols/controller.py +++ b/dfols/controller.py @@ -144,7 +144,7 @@ def initialise_coordinate_directions(self, number_of_samples, num_directions, pa while k < self.n(): ek = np.zeros(self.n()) ek[k] = 1 - p = np.dot(ek,self.delta) + p = np.dot(ek,min(1,self.delta)) yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) D[k,:] = yk - self.model.xbase @@ -158,7 +158,7 @@ def initialise_coordinate_directions(self, number_of_samples, num_directions, pa if diag[k] < mr_tol: ek = np.zeros(self.n()) ek[k] = 1 - p = -np.dot(ek,self.delta) + p = -np.dot(ek,min(1,self.delta)) yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) dk = D[k,:].copy() D[k,:] = yk - self.model.xbase @@ -178,7 +178,7 @@ def initialise_coordinate_directions(self, number_of_samples, num_directions, pa if slctr[k%self.n()] == 1: # if selector says make -ve, make -ve ek = np.zeros(self.n()) ek[k%self.n()] = 1 - p = -np.dot(ek,self.delta) + p = -np.dot(ek,min(1,self.delta)) yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) dk = D[k%self.n(),:].copy() D[k%self.n(),:] = yk - self.model.xbase @@ -202,7 +202,7 @@ def initialise_coordinate_directions(self, number_of_samples, num_directions, pa if diag[k] < mr_tol: p = np.random.normal(size=self.n()) p = p/np.linalg.norm(p) - p = np.dot(p,self.delta) + p = np.dot(p,min(1,self.delta)) yk = dykstra(self.model.projections, self.model.xbase + p, max_iter=params("dykstra.max_iters"), tol=params("dykstra.d_tol")) dk = D[k,:].copy() D[k,:] = yk - self.model.xbase From 6c7e1528e63ccc573b2ec28e9c82435c440f8bf9 Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Mon, 18 Oct 2021 00:24:54 -0400 Subject: [PATCH 09/11] Remove unwanted params in example --- examples/rosenbrock_constrained.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/rosenbrock_constrained.py b/examples/rosenbrock_constrained.py index 8a0812c..e69c0e7 100644 --- a/examples/rosenbrock_constrained.py +++ b/examples/rosenbrock_constrained.py @@ -26,7 +26,7 @@ def pbox(x): logging.basicConfig(level=logging.DEBUG, format='%(message)s') # Call DFO-LS -soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox], user_params={'dykstra.d_tol': 1e-50}) +soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) # Display output print(soln) From 3b2309d7e9cbfecd66dca52cbf4a0326465d9a3c Mon Sep 17 00:00:00 2001 From: Matt Hough Date: Mon, 25 Oct 2021 12:20:36 -0400 Subject: [PATCH 10/11] Add warning when using projections and get model increase in tr subproblem --- dfols/controller.py | 10 ++++++-- docs/build/doctrees/environment.pickle | Bin 36240 -> 36246 bytes docs/build/doctrees/userguide.doctree | Bin 91374 -> 92677 bytes docs/build/html/_sources/userguide.rst.txt | 20 ++++++++------- docs/build/html/objects.inv | Bin 399 -> 401 bytes docs/build/html/searchindex.js | 2 +- docs/build/html/userguide.html | 18 +++++++------ docs/build/latex/DFOLS.aux | 6 ++--- docs/build/latex/DFOLS.fdb_latexmk | 24 +++++++++--------- docs/build/latex/DFOLS.log | 26 ++++++++----------- docs/build/latex/DFOLS.pdf | Bin 321015 -> 321478 bytes docs/build/latex/DFOLS.tex | 28 ++++++++++++--------- docs/userguide.rst | 20 ++++++++------- manual.pdf | Bin 321015 -> 321478 bytes 14 files changed, 83 insertions(+), 71 deletions(-) diff --git a/dfols/controller.py b/dfols/controller.py index a408267..32e3e37 100644 --- a/dfols/controller.py +++ b/dfols/controller.py @@ -43,6 +43,7 @@ 'EXIT_INPUT_ERROR', 'EXIT_TR_INCREASE_ERROR', 'EXIT_LINALG_ERROR', 'EXIT_FALSE_SUCCESS_WARNING', 'EXIT_AUTO_DETECT_RESTART_WARNING'] +EXIT_TR_INCREASE_WARNING = 5 # warning, TR increase in proj constrained case - likely due to multiple active constraints EXIT_AUTO_DETECT_RESTART_WARNING = 4 # warning, auto-detected restart criteria EXIT_FALSE_SUCCESS_WARNING = 3 # warning, maximum fake successful steps reached EXIT_SLOW_WARNING = 2 # warning, maximum number of slow (successful) iterations reached @@ -70,6 +71,8 @@ def message(self, with_stem=True): return "Warning (slow progress): " + self.msg elif self.flag == EXIT_MAXFUN_WARNING: return "Warning (max evals): " + self.msg + elif self.flag == EXIT_TR_INCREASE_WARNING: + return "Warning (trust region increase): " + self.msg elif self.flag == EXIT_INPUT_ERROR: return "Error (bad input): " + self.msg elif self.flag == EXIT_TR_INCREASE_ERROR: @@ -82,7 +85,7 @@ def message(self, with_stem=True): return "Unknown exit flag: " + self.msg def able_to_do_restart(self): - if self.flag in [EXIT_TR_INCREASE_ERROR, EXIT_LINALG_ERROR, EXIT_SLOW_WARNING, EXIT_AUTO_DETECT_RESTART_WARNING]: + if self.flag in [EXIT_TR_INCREASE_ERROR, EXIT_TR_INCREASE_WARNING, EXIT_LINALG_ERROR, EXIT_SLOW_WARNING, EXIT_AUTO_DETECT_RESTART_WARNING]: return True elif self.flag in [EXIT_MAXFUN_WARNING, EXIT_INPUT_ERROR]: return False @@ -616,7 +619,10 @@ def calculate_ratio(self, current_iter, rvec_list, d, gopt, H): if min(sqrt(sumsq(d)), self.delta) > self.rho: # if ||d|| >= rho, successful! self.last_successful_iter = current_iter if pred_reduction < 0.0: - exit_info = ExitInformation(EXIT_TR_INCREASE_ERROR, "Trust region step gave model increase") + if len(self.model.projections) > 1: # if we are using multiple projections, only warn since likely due to constraint intersection + exit_info = ExitInformation(EXIT_TR_INCREASE_WARNING, "Either multiple constraints are active or trust region step gave model increase") + else: + exit_info = ExitInformation(EXIT_TR_INCREASE_ERROR, "Either rust region step gave model increase") ratio = actual_reduction / pred_reduction return ratio, exit_info diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index ff76c8c3b763b8e1ecaa39f50624cb97a1f957af..f237cbcdbc71fd321887be5ec5d996e7137e98f0 100755 GIT binary patch literal 36246 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 o|nYH(Moh0+=R$h;iZZPOCtr> zt|C;^<3t%RHJ$%7eh&KxKdn9XrSwtis$t;pS#UC7Bh&Kt) z#jIY@mBVC<`1CD4Ojb!a2I*>Mj#40fFfWNmBAnkZIN$RvRA>2I=JHdx{Cr*#1IJ}{wXk90mQ=lP=B7r^cBg+jS}^(J%oXYv6D;lF z)>`7Es4I?Ah5w7v}V0`VTDp91%JUX`v#~t;l z%xtCLUCB#g;P9S|;0^Z;YpI>XyKEfJo?W2+aAtw@3-!qe>ToNumfB3*buV!Y_y;mG zmje8Kc}WZ$@Z_G;HU*rF5Rg8exf19!oYl<530U!;Kto#1wUhOf}T8*Ml{ zKg7G7&QGvM=lr-IOcR;Jt&*?d$}9@PWxBE%kS^&6X4O7QT>r?oDN!I3#P-L#Y)y27 zS>DBntMYIU7vC?B%#sVYHZheuyt6TWqb-i{8|`(B-)Pfg{6@PUqc=a8qCJi%sp8>Y z8otzNF5J@C7CJ81nek;$U?#Y)LOcZ%j&0*E&7FGL#;t*;$uTs%A#dT0PTYfV37Ko+ zTKUG-Y8ltOWA|qG{(_E^QSiQ>Z#BdZT!V!xmvE;8=83e+Q{8QcpEIU=Sx?5^4#rA} z3!;Llk_Jb}>G;Yhy2DOR%whSj5}I5bNc0kld@7J3 z9zA__{W5Pr;BKiG>)KN;(< zqSsny5o-Mrezl9z`Wk{RT7N=+gE1D{CFfET0-DChEx2mg)7e1btKY&9Ot3;e}CxWD2DHjUDSQ3*MyyTcMfh&J+47U?4<59O z4iBm)uE+9&A&W$D!g>=WqN9x9BnV$_wuywl4D{F^)2X??;vg4Dqb?qq&-C%Ri& zM+`OvHx09K6LM0A7~&SPbGS9`X3N7pXVx*~vmT;9Z=*jCZ@*59IezK*p>r4amJ7&bDlwrm9x3R1o)HJCkX;$~QUXopj6udm6~eYldx`T?|e z>g3e!@9^8}Etdi);tupuwI+MjtyQoPOs(154cq})C33Fpz7OVcR|3vM)N1NZdAfH9 aU1p3rbxEmWs9=4Q?xUnzjS=gY7ymz)nWCQn literal 36240 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 diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 9520167..149bcb0 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["advanced","diagnostic","history","index","info","install","userguide"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["advanced.rst","diagnostic.rst","history.rst","index.rst","info.rst","install.rst","userguide.rst"],objects:{},objnames:{},objtypes:{},terms:{"00000000e":6,"00004412e":6,"00180000e":6,"00670067e":6,"00e":6,"01256863e":6,"01941978e":6,"04752848e":6,"06227943e":6,"07858081e":6,"09280752e":6,"09843514e":6,"10862447e":6,"10g":6,"12897463e":6,"19971362e":6,"1e20":6,"20e":6,"22992989e":6,"24129962e":6,"24991776e":6,"33017181e":6,"34676365e":6,"35e":6,"41166495e":6,"42808544e":6,"43e":6,"45394186e":6,"47252555e":6,"50e":6,"51525603e":6,"550476524e":6,"59085679e":6,"59634974e":6,"61e":6,"62398179e":6,"63036198e":6,"650274685e":6,"65956876e":6,"70205419e":6,"70749826e":6,"71355033e":6,"75304364e":6,"77e":6,"79826221e":6,"79999999e":6,"80e":6,"81262102e":6,"827884295e":6,"83184867e":6,"90335675e":6,"95045269e":6,"95108811e":6,"96161167e":6,"97239623e":6,"98196347e":6,"98830861e":6,"99950530e":6,"99999998e":6,"case":[0,4,6],"const":0,"default":[0,2,5,6],"float":6,"function":[0,4,6],"import":6,"long":2,"new":[0,4,6],"public":3,"return":[1,2,6],"short":6,"throw":0,"true":[0,1,4,6],"try":[0,3,4],"while":[0,4],Adding:3,And:6,For:[0,3,4,5,6],Such:4,That:[3,4],The:[0,1,3,6],Then:4,There:[0,4],These:6,Use:2,Using:[0,1,3],__future__:6,a_i:6,abl:6,about:[1,6],abov:[4,5,6],abs_tol:0,absolut:0,accept:0,access:6,accur:[4,6],accuraci:6,achiev:6,acm:[0,3,4,6],actual:1,add:[0,6],added:0,adding:0,addit:[0,2],addition:5,additive_noise_level:0,adjust:[2,6],admin:5,advanc:[3,6],after:0,algebra:6,algorithm:[2,3,6],all:[0,1,4,6],allow:[0,6],alon:6,along:6,alpha1:0,alpha2:0,alpha_1:0,alpha_2:0,also:[0,4,5,6],altern:[0,3,5,6],alwai:[0,4],amount:[0,6],ani:[0,1,3,6],anoth:0,appli:[0,6],applic:6,approach:0,approx:[4,6],approxim:[4,6],apr:3,arbitrari:2,aren:4,arg:[2,6],argument:[2,3],arrai:6,ask:[0,3,6],assum:3,attempt:4,author:3,auto:2,auto_detect:0,automat:[0,5,6],avail:[0,6],averag:6,avoid:[0,2],awai:6,axes:6,b_i:6,ball:6,base:[0,2,3,4,6],bash:5,basicconfig:6,becom:6,been:[1,6],befor:[0,6],behavior:2,being:0,below:[0,6],benjamin:[0,4,6],best:[0,1,4,6],between:2,block:5,bobyqa:3,both:6,bound:[0,1,2,6],box:6,bug:2,bugfix:2,build:[0,6],calcul:[2,4,6],calibr:[4,6],call:[0,1,4,6],can:[0,4,5,6],cannot:[0,4],cap:0,carlo:4,carti:[0,3,4,6],categori:4,caus:[0,6],cdl:6,cdot:[0,6],centr:[3,6],certainli:4,cfmr2018:[0,4,6],chang:[0,1,2],check:[3,4],check_objfun_for_overflow:0,choic:4,choos:4,clone:5,close:[2,3,4,6],closest:4,code:[2,5,6],coeffici:0,collabor:3,column:1,com:[5,6],common:4,commonli:6,compar:6,compil:5,complet:4,complex:6,compon:0,comput:[1,4],computation:0,condit:[0,1,6],consecut:0,consid:[0,4],consist:0,constrain:6,constraint:[2,3,4],construct:[4,6],contact:3,contain:[1,5,6],content:3,convex:[2,3,4,6],coordin:[0,6],coralia:[0,3,4,6],correct:[2,6],correctli:[2,6],correl:0,correspond:6,cost:[0,2,6],could:6,count:3,creat:2,criteria:0,criterion:0,crvmin:2,csv:1,current:[0,3,4,6],customis:2,d_tol:0,data:[0,3,4],datafram:[1,6],date:3,deactiv:6,dec:0,decai:6,decreas:[0,4,6],def:6,defin:[1,6],deflat:4,delta:[1,6],delta_:4,delta_k:[0,1,4],delta_scale_new_dirn:0,demonstr:6,depend:[0,1,2,4,6],deprec:2,depth:6,deriv:[0,4,6],describ:[0,4,6],descript:[1,4,6],design:[4,6],detail:[0,3,6],detect:2,determin:[0,4,6],determinist:2,develop:[3,4],dfo:[0,1,2],dfol:[0,1,5,6],diagnost:[0,3,6],diagnostic_info:[1,6],diagon:0,dictionari:[0,6],did:[0,6],differ:[0,2,4,6],differenc:4,difficult:4,dimension:6,direct:[0,6],directli:4,directori:[5,6],disciplin:4,displai:6,distanc:1,divid:2,do_geom_step:0,do_log:6,do_safety_step:0,doctor:3,document:[5,6],doe:[4,6],doi:2,doing:4,don:2,download:5,dure:[0,2],dykstra:3,dynam:3,each:[0,1,4,6],easi:[5,6],easy_instal:5,effect:0,either:6,empti:[3,4,6],enabl:2,encount:0,end:0,enough:[0,6],ensur:2,entri:[0,6],epsrc:3,equal:1,equat:3,error:[0,1,4,6],estim:[3,4],eta1:0,eta2:0,eta_1:0,eta_2:0,etc:[0,1],eval:6,evalu:[0,1,2,3,4],even:4,everi:[4,6],exactli:[1,6],exampl:[3,4,5],exclud:0,exist:4,exit:[2,6],exit_false_success_warn:6,exit_input_error:6,exit_linalg_error:6,exit_maxfun_warn:6,exit_slow_warn:6,exit_success:6,exit_tr_increase_error:6,exp:6,expect:6,expens:[0,1,4],experi:4,explain:1,exponenti:6,extend:6,extra:[0,2,6],factor:0,fals:[0,6],far:[1,6],fast:5,faster:[2,6],feasibl:[2,3,6],featur:3,feb:3,februari:[],fewest:4,fiala:[0,3,4,6],figur:6,file:[0,1,5,6],filemod:6,filenam:6,find:[3,4,6],finish:6,finit:[2,4],first:6,fit:[0,3],fix:[0,2,6],flag:[0,6],flexibl:[0,3,4,6],floor:0,focus:3,follow:[5,6],form:4,format:6,formul:4,fortran:[2,5],found:[0,1,6],framework:6,free:[0,4,6],frobeniu:1,from:[1,2,4,5,6],full:[0,2,3,6],full_geom_step:0,full_rank:0,fulli:1,further:0,g_k:1,gamma:0,gamma_:0,gamma_dec:0,gamma_inc:0,gamma_inc_overlin:0,gaussian:6,gave:[],gca:6,gener:[3,6],geometri:[0,2,4],geq:0,get:[4,6],gfortran:5,git:5,github:[5,6],give:[0,6],given:[0,3,4,6],gnu:3,good:[4,6],gracefulli:0,grad:6,gradient:1,grid:6,group:3,grow:3,guarante:4,had:1,hand:[2,4,5],handl:2,happen:4,hard:0,has:[0,1,2,3,4,6],have:[0,4,5,6],help:6,here:[4,6],hessian:2,high:6,higher:5,histori:[0,3],history_for_slow:0,home:5,how:[0,1,3,5],howev:[4,6],htm:6,html:[5,6],http:[5,6],idea:4,imlug:6,imlug_genstatexpls_sect004:6,impact:[2,6],imposs:4,impract:0,improv:[0,2,3,4,6],inaccur:4,inc:0,includ:[0,1,6],increas:[0,6],increase_ndirs_initial_amt:0,increase_npt:0,increase_npt_amt:0,increase_num_extra_steps_with_restart:0,indic:6,industri:3,infinit:4,info:[1,6],inform:[3,4,6],infti:6,init:0,initi:[2,3,6],initialis:[2,6],input:[0,2,4,6],inspect:0,instal:[2,3],instanc:[0,4],instead:[4,5,6],integ:6,interest:[3,4],interfac:6,intermedi:0,intern:[0,4,6],interpol:[2,3,4,6],interpolation_change_j_norm:1,interpolation_condition_numb:1,interpolation_error:1,interpolation_total_residu:1,intersect:6,introduc:0,invers:2,involv:[0,4],iter:[0,2,3,6],iter_this_run:1,iter_typ:1,iters_tot:1,its:[0,6],j_k:[0,1],jacobian:[0,1,2,6],jan:[0,3,4,6],jun:3,june:[],just:2,keep:4,known:4,l015803:3,label:6,lambda:[0,1],larg:[0,4],larger:0,largest:0,last:[0,1],lastli:6,latest:5,ldot:4,least:4,least_squar:6,left:4,legend:6,len:[0,6],length:0,leq:[0,6],less:0,let:6,level:[0,5,6],librari:4,licens:3,like:[4,6],linalg:[0,6],linalgerror:0,lindon:[0,3,4,6],line:[0,6],linear:[0,1,4,6],link:2,linspac:6,list:[2,6],loc:6,local:[3,6],locat:5,log:[1,2,3,6],longer:2,lower:[0,1,6],lsqcurvefit:6,m_k:4,magnitud:[0,6],mai:[1,3,4,6],main:[4,6],maintain:4,major:4,make:[0,2,4,5,6],manag:3,mani:[0,2,3,4,6],manual:3,marteau:[0,3,4,6],math:6,mathbb:[3,4,6],mathemat:[0,3,4,6],mathrm:4,mathwork:6,matplotlib:6,matrix:[1,3,6],matrix_rank:0,max:6,max_distance_xk:1,max_fake_successful_step:0,max_it:0,max_npt:0,max_slow_it:0,max_unsuccessful_restart:0,maxfun:[0,6],maximum:[0,1,6],mean:[1,4],measur:[0,4],messag:6,method:[0,2,4],min:6,min_:[3,4,6],min_chgj_slop:0,min_correl:0,min_sing_v:0,minim:[2,4],minimum:[0,6],minor:2,model:[2,3,4,6],modifi:6,modul:6,momentum:0,momentum_extra_step:0,mont:4,more:[0,3,4],moreov:3,most:[0,1,4,6],move:[0,4,6],move_xk:0,msg:6,multipl:[2,3,4,6],multiplicative_noise_level:0,must:6,myfil:[1,6],n_to_print_whole_x_vector:0,nag:3,nan:[0,2],navig:5,ndirs_initi:0,necessari:2,need:[4,6],never:[3,6],next:6,nfev:6,nois:[3,4,6],noisi:[0,3,4],non:[3,4,6],nonconvex:4,none:[0,6],nonlinear:3,nonlinear_system:6,nonzero:0,nor:4,norm:[1,6],norm_gk:1,norm_sk:1,normal:6,note:[5,6],now:[0,6],npt:[0,1,6],nrestart:6,nrun:[1,6],nsampl:[1,6],num_extra_step:0,num_geom_step:0,num_new_dirns_each_it:0,number:[0,1,4,6],numer:3,numericalalgorithmsgroup:5,numpi:[0,2,5,6],obj:6,object:[1,2,3,4],objfun:[0,1,2,6],objfun_has_nois:[0,6],obs:4,observ:[4,6],occur:6,oct:3,octob:3,often:4,older:5,one:[0,1,4,5,6],onli:[0,1,4,6],onto:6,oper:2,oppos:0,opposit:0,opt:6,optim:[0,1,4,6],option:[0,2,3,4,5],order:6,org:5,origin:6,orthogon:0,other:0,otherwis:[0,4],our:[3,4,6],out:6,output:[1,2,3,4],outsid:6,over:[0,6],overdetermin:4,overflow:2,overflowerror:0,overlin:0,overrid:0,overridden:6,overview:[3,6],packag:[2,3,5],page:6,panda:[1,5,6],paper:[0,3,4,6],param1:6,param2:6,paramet:[2,3],part:[2,6],partial:6,particularli:[4,6],pass:[2,6],past:0,pball:6,pbox:6,per:[0,1,2,6],perform:[0,2,4,6],perturb:0,perturb_trust_region_step:0,phase:[0,6],physic:4,piec:[0,1],pip:3,pleas:3,plot:6,plt:6,point:[1,2,3,4,6],pois:1,poised:[0,1],popul:1,posisbl:0,possibl:[4,6],post:0,practic:6,precondit:0,predict:[1,4],prediction_error:6,prefer:4,preprint:[0,3,4,6],present:5,preserv:0,previou:[0,6],previous:1,print:[0,2,6],print_funct:6,print_progress:6,privat:5,privileg:5,probabl:4,problem:[0,1,2,3,4,6],proccess:4,process:[0,4],produc:[4,6],progress:[3,6],prohibit:4,project:6,provid:[4,5,6],pull:5,pure:5,purpos:6,put:4,pydata:5,pyplot:6,python:[0,5,6],quad:[3,4,6],quantit:4,quantiti:4,quit:0,quit_on_noise_level:0,r_1:[0,4,6],r_2:4,r_i:[0,4,6],r_m:[0,4,6],r_tol:0,radii:0,radiu:[0,1,2,4,6],random:[0,2,6],random_directions_make_orthogon:0,random_initial_direct:0,rang:6,rank:3,rate:0,rather:2,ratio:[0,1],reach:[0,6],recommend:0,recycl:0,reduc:[0,2],reduce_delta:0,reduct:1,refer:3,regim:2,region:[2,3,4,5,6],regress:3,regular:0,regularli:4,rel:0,rel_tol:0,relationship:4,relax:[3,6],releas:[2,3],remov:[2,5],repeat:4,replac:6,reproduc:[2,6],request:6,requir:[0,3,4,6],rerun:5,reset:0,reset_delta:0,reset_rho:0,resid:6,residu:[1,4,6],respect:0,restart:[1,2,3,6],result:[0,1,2,4,6],retriev:2,rho:[1,6],rho_:0,rho_k:[0,1],rhobeg:6,rhoend:6,rhoend_scal:0,right:[2,6],risk:0,robert:[0,3,4,6],robust:[0,3,4,6],root:5,rosenbrock:6,rosenbrock_noisi:6,rounding_error_const:0,roundoff:0,row:1,run:[0,5,6],run_in_parallel:0,runtim:2,runtimewarn:6,s_k:[0,1,4],safeti:[0,1,2],safety_step_thresh:0,sai:4,same:[0,3,4,6],sampl:6,sas:6,satisfi:[4,6],save:[0,1,6],save_diagnostic_info:[0,1],save_poised:[0,1],save_rk:[0,1],save_xk:[0,1],saw:1,scale:[0,2,6],scale_factor:0,scale_factor_for_quit:0,scaling_within_bound:6,scipi:[4,5,6],screen:0,script:6,search:[0,2,4],section:[0,1,2,6],see:[1,5,6],seed:[2,6],sens:4,sensibl:6,set:[1,2,3,4,6],set_xlabel:6,set_ylabel:6,setup:[0,5],sever:[0,4,6],shape:6,shift:[0,6],should:[0,5,6],show:6,side:[2,4],similar:4,similarli:4,simpl:[2,3,5],simpli:4,simul:4,sin:4,sinc:[0,1],singular:[0,6],site:5,situat:4,size:[4,6],slope:0,slow:[1,3,6],slow_it:1,small:[3,4,6],smaller:0,smallest:[0,1],smooth:0,soft:0,softwar:[0,3,4,5,6],soln:[1,6],solut:[2,3,4,5,6],solv:[0,1,3],solver:[0,2,3,4,6],some:[0,4,5,6],sourc:5,space:[0,2,4],specifi:[0,6],squar:[1,4],stai:4,stand:3,start:[2,4,6],statu:6,step:[0,1,2,4,6],still:0,stochast:[3,6],stop:[0,2],store:[0,2],str:6,string:6,strongli:4,structur:3,subproblem:[2,4,5,6],success:[0,1,6],successfulli:6,sudo:5,suffici:6,suitabl:4,sum:[1,4],sum_:[3,4,6],supervis:3,support:[3,5,6],suppos:[4,6],sure:[4,5],svd_max_jac_cond:0,svd_scale_factor:0,system:[0,1,3,5],t_i:6,tabl:6,take:[0,4,6],taken:6,task:4,tdata:6,technic:6,techniqu:4,termin:[1,3,6],test:[3,6],text:[0,1,3,4,6],than:[0,2,6],thei:[0,4],them:[2,4],therefor:6,thi:[0,1,2,3,4,5,6],thresh_for_slow:0,threshold:0,through:[0,2],throw_error_on_nan:0,time:[0,1,4,6],to_csv:1,toler:0,too:6,top:5,total:[1,6],tr_radiu:0,train:3,transact:[0,3,4,6],trend:0,trial:4,triangular:2,trigger:0,troubl:6,trust:[2,3,4,5,6],trustregion:[2,5],tupl:6,turn:1,two:[0,4],type:[1,4],typic:4,unabl:6,under:3,underdetermin:4,uninstal:3,unknown:4,unless:6,unpack:5,unsuccess:0,updat:2,upgrad:5,upper:[2,6],usag:[3,6],use:[0,1,2,3,5],use_full_rank_interp:0,use_old_rk:0,use_restart:0,use_soft_restart:0,used:[0,1,4,6],useful:[0,4,6],user:[0,4,5,6],user_param:[0,1,6],uses:0,using:[0,2,3,4,6],usual:0,val1:6,val2:6,valu:[1,2,3,4,6],vari:0,variabl:6,vast:4,vdot:4,vector:[0,1,4,6],veri:[0,4,6],version:[0,3,5],via:6,viewer:6,visibl:6,wai:[0,4,6],want:[5,6],warn:[2,6],well:4,what:[0,1],when:[0,2,3,6],where:[0,4,6],whether:[0,4,6],which:[0,1,2,3,4,5,6],whole:2,why:6,wish:[3,4,6],within:[0,2,6],without:[0,3],work:5,wors:6,write:6,written:5,www:5,x_0:[0,6],x_1:[4,6],x_2:[4,6],x_b:0,x_j:6,x_k:[0,4],x_n:4,xmin:6,xtol:6,y_1:4,y_i:[4,6],y_k:[0,1],y_m:4,y_t:0,ydata:6,yet:0,you:[3,4,5,6],your:[4,5,6],zenodo:2,zero:[0,2]},titles:["Advanced Usage","Diagnostic Information","Version History","DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization","Overview","Installing DFO-LS","Using DFO-LS"],titleterms:{Adding:6,Using:6,acknowledg:3,advanc:0,algorithm:[0,1,4],apr:2,argument:6,bound:[],check:0,constraint:6,count:1,current:1,data:6,deriv:3,detail:4,dfo:[3,4,5,6],diagnost:1,dykstra:0,dynam:0,equat:[4,6],estim:6,evalu:6,exampl:6,feb:2,fit:[4,6],free:3,gener:0,grow:0,histori:2,how:6,inform:[0,1],initi:0,instal:5,interpol:[0,1],iter:1,jan:2,jun:2,least:[3,6],log:0,manag:0,manual:5,matrix:0,minim:[3,6],model:[0,1],more:6,multipl:0,nois:0,noisi:6,nonlinear:[4,6],object:[0,6],oct:2,optim:3,option:6,output:[0,6],overview:4,paramet:[0,4,6],pip:5,point:0,progress:[0,1],rank:0,refer:[0,4,6],region:[0,1],regress:0,requir:5,restart:0,set:0,simpl:6,slow:0,small:0,solv:[4,6],squar:[3,6],stochast:0,system:[4,6],termin:0,test:5,trust:[0,1],uninstal:5,usag:0,use:[4,6],using:5,valu:0,version:2,when:4}}) \ No newline at end of file +Search.setIndex({docnames:["advanced","diagnostic","history","index","info","install","userguide"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":2,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["advanced.rst","diagnostic.rst","history.rst","index.rst","info.rst","install.rst","userguide.rst"],objects:{},objnames:{},objtypes:{},terms:{"00000000e":6,"00004412e":6,"00180000e":6,"00670067e":6,"00e":6,"01256863e":6,"01941978e":6,"04752848e":6,"06227943e":6,"07858081e":6,"09280752e":6,"09843514e":6,"10862447e":6,"10g":6,"12897463e":6,"19971362e":6,"1e20":6,"20e":6,"22992989e":6,"24129962e":6,"24991776e":6,"33017181e":6,"34676365e":6,"35e":6,"41166495e":6,"42808544e":6,"43e":6,"45394186e":6,"47252555e":6,"50e":6,"51525603e":6,"550476524e":6,"59085679e":6,"59634974e":6,"61e":6,"62398179e":6,"63036198e":6,"650274685e":6,"65956876e":6,"70205419e":6,"70749826e":6,"71355033e":6,"75304364e":6,"77e":6,"79826221e":6,"79999999e":6,"80e":6,"81262102e":[],"81976605e":6,"827884295e":6,"83184867e":6,"90335675e":6,"95045269e":6,"95108811e":6,"96161167e":6,"97239623e":6,"98196347e":6,"98830861e":6,"99950530e":6,"99999998e":6,"case":[0,4,6],"const":0,"default":[0,2,5,6],"float":6,"function":[0,4,6],"import":6,"long":2,"new":[0,4,6],"public":3,"return":[1,2,6],"short":6,"throw":0,"true":[0,1,4,6],"try":[0,3,4],"while":[0,4],Adding:3,And:6,For:[0,3,4,5,6],Such:4,That:[3,4],The:[0,1,3,6],Then:4,There:[0,4],These:6,Use:2,Using:[0,1,3],__future__:6,a_i:6,abl:6,about:[1,6],abov:[4,5,6],abs_tol:0,absolut:0,accept:0,access:6,accur:[4,6],accuraci:6,achiev:6,acm:[0,3,4,6],activ:6,actual:1,add:[0,6],added:0,adding:0,addit:[0,2],addition:5,additive_noise_level:0,adjust:[2,6],admin:5,advanc:[3,6],after:0,algebra:6,algorithm:[2,3,6],all:[0,1,4,6],allow:[0,6],alon:6,along:6,alpha1:0,alpha2:0,alpha_1:0,alpha_2:0,also:[0,4,5,6],altern:[0,3,5,6],alwai:[0,4],amount:[0,6],ani:[0,1,3,6],anoth:0,appli:[0,6],applic:6,approach:0,approx:[4,6],approxim:[4,6],apr:3,arbitrari:[2,6],aren:4,arg:[2,6],argument:[2,3],arrai:6,ask:[0,3,6],assum:3,attempt:4,author:3,auto:2,auto_detect:0,automat:[0,5,6],avail:[0,6],averag:6,avoid:[0,2],awai:6,axes:6,b_i:6,ball:6,base:[0,2,3,4,6],bash:5,basicconfig:6,becaus:6,becom:6,been:[1,6],befor:[0,6],behavior:2,being:0,below:[0,6],benjamin:[0,4,6],best:[0,1,4,6],between:2,block:5,bobyqa:3,both:6,bound:[0,1,2,6],box:6,bug:2,bugfix:2,build:[0,6],calcul:[2,4,6],calibr:[4,6],call:[0,1,4,6],can:[0,4,5,6],cannot:[0,4],cap:0,carlo:4,carti:[0,3,4,6],categori:4,caus:[0,6],cdl:6,cdot:[0,6],centr:[3,6],certainli:4,cfmr2018:[0,4,6],chang:[0,1,2],check:[3,4],check_objfun_for_overflow:0,choic:4,choos:4,clone:5,close:[2,3,4,6],closest:4,code:[2,5,6],coeffici:0,collabor:3,column:1,com:[5,6],common:[4,6],commonli:6,compar:6,compil:5,complet:4,complex:6,compon:0,comput:[1,4,6],computation:0,condit:[0,1,6],consecut:0,consid:[0,4],consist:0,constrain:6,constraint:[2,3,4],construct:[4,6],contact:3,contain:[1,5,6],content:3,convex:[2,3,4,6],coordin:[0,6],coralia:[0,3,4,6],correct:[2,6],correctli:[2,6],correl:0,correspond:6,cost:[0,2,6],could:6,count:3,creat:2,criteria:0,criterion:0,crvmin:2,csv:1,current:[0,3,4,6],customis:2,d_tol:0,data:[0,3,4],datafram:[1,6],date:3,deactiv:6,dec:0,decai:6,decreas:[0,4,6],def:6,defin:[1,6],deflat:4,delta:[1,6],delta_:4,delta_k:[0,1,4],delta_scale_new_dirn:0,demonstr:6,depend:[0,1,2,4,6],deprec:2,depth:6,deriv:[0,4,6],describ:[0,4,6],descript:[1,4,6],design:[4,6],detail:[0,3,6],detect:2,determin:[0,4,6],determinist:2,develop:[3,4],dfo:[0,1,2],dfol:[0,1,5,6],diagnost:[0,3,6],diagnostic_info:[1,6],diagon:0,dictionari:[0,6],did:[0,6],differ:[0,2,4,6],differenc:4,difficult:4,dimension:6,direct:[0,6],directli:4,directori:[5,6],disciplin:4,displai:6,distanc:1,divid:2,do_geom_step:0,do_log:6,do_safety_step:0,doctor:3,document:[5,6],doe:[4,6],doi:2,doing:4,don:2,download:5,dure:[0,2],dykstra:3,dynam:3,each:[0,1,4,6],easi:[5,6],easy_instal:5,effect:0,either:6,empti:[3,4,6],enabl:2,encount:0,end:0,enough:[0,6],ensur:2,entri:[0,6],epsrc:3,equal:1,equat:3,error:[0,1,4,6],estim:[3,4],eta1:0,eta2:0,eta_1:0,eta_2:0,etc:[0,1],eval:6,evalu:[0,1,2,3,4],even:4,everi:[4,6],exactli:[1,6],exampl:[3,4,5],exclud:0,exist:4,exit:[2,6],exit_false_success_warn:6,exit_input_error:6,exit_linalg_error:6,exit_maxfun_warn:6,exit_slow_warn:6,exit_success:6,exit_tr_increase_error:6,exit_tr_increase_warn:6,exp:6,expect:6,expens:[0,1,4],experi:4,explain:1,exponenti:6,extend:6,extra:[0,2,6],factor:0,fals:[0,6],far:[1,6],fast:5,faster:[2,6],feasibl:[2,3,6],featur:3,feb:3,februari:[],fewest:4,fiala:[0,3,4,6],figur:6,file:[0,1,5,6],filemod:6,filenam:6,find:[3,4,6],finish:6,finit:[2,4],first:6,fit:[0,3],fix:[0,2,6],flag:[0,6],flexibl:[0,3,4,6],floor:0,focus:3,follow:[5,6],form:4,format:6,formul:4,fortran:[2,5],found:[0,1,6],framework:6,free:[0,4,6],frobeniu:1,from:[1,2,4,5,6],full:[0,2,3,6],full_geom_step:0,full_rank:0,fulli:1,further:0,g_k:1,gamma:0,gamma_:0,gamma_dec:0,gamma_inc:0,gamma_inc_overlin:0,gaussian:6,gave:6,gca:6,gener:[3,6],geometri:[0,2,4],geq:0,get:[4,6],gfortran:5,git:5,github:[5,6],give:[0,6],given:[0,3,4,6],gnu:3,good:[4,6],gracefulli:0,grad:6,gradient:1,grid:6,group:3,grow:3,guarante:4,had:1,hand:[2,4,5],handl:2,happen:4,hard:0,has:[0,1,2,3,4,6],have:[0,4,5,6],help:6,here:[4,6],hessian:2,high:6,higher:5,histori:[0,3],history_for_slow:0,home:5,how:[0,1,3,5],howev:[4,6],htm:6,html:[5,6],http:[5,6],idea:4,imlug:6,imlug_genstatexpls_sect004:6,impact:[2,6],imposs:4,impract:0,improv:[0,2,3,4,6],inaccur:4,inc:0,includ:[0,1,6],increas:[0,6],increase_ndirs_initial_amt:0,increase_npt:0,increase_npt_amt:0,increase_num_extra_steps_with_restart:0,indic:6,industri:3,infinit:4,info:[1,6],inform:[3,4,6],infti:6,init:0,initi:[2,3,6],initialis:[2,6],input:[0,2,4,6],inspect:0,instal:[2,3],instanc:[0,4],instead:[4,5,6],integ:6,interest:[3,4],interfac:6,intermedi:0,intern:[0,4,6],interpol:[2,3,4,6],interpolation_change_j_norm:1,interpolation_condition_numb:1,interpolation_error:1,interpolation_total_residu:1,intersect:6,introduc:0,invers:2,involv:[0,4],iter:[0,2,3,6],iter_this_run:1,iter_typ:1,iters_tot:1,its:[0,6],j_k:[0,1],jacobian:[0,1,2,6],jan:[0,3,4,6],jun:3,june:[],just:2,keep:4,known:4,l015803:3,label:6,lambda:[0,1],larg:[0,4],larger:0,largest:0,last:[0,1],lastli:6,latest:5,ldot:4,least:4,least_squar:6,left:4,legend:6,len:[0,6],length:0,leq:[0,6],less:0,let:6,level:[0,5,6],librari:4,licens:3,like:[4,6],linalg:[0,6],linalgerror:0,lindon:[0,3,4,6],line:[0,6],linear:[0,1,4,6],link:2,linspac:6,list:[2,6],loc:6,local:[3,6],locat:5,log:[1,2,3,6],longer:2,lower:[0,1,6],lsqcurvefit:6,m_k:4,magnitud:[0,6],mai:[1,3,4,6],main:[4,6],maintain:4,major:4,make:[0,2,4,5,6],manag:3,mani:[0,2,3,4,6],manual:3,marteau:[0,3,4,6],math:6,mathbb:[3,4,6],mathemat:[0,3,4,6],mathrm:4,mathwork:6,matplotlib:6,matrix:[1,3,6],matrix_rank:0,max:6,max_distance_xk:1,max_fake_successful_step:0,max_it:0,max_npt:0,max_slow_it:0,max_unsuccessful_restart:0,maxfun:[0,6],maximum:[0,1,6],mean:[1,4],measur:[0,4],messag:6,method:[0,2,4],min:6,min_:[3,4,6],min_chgj_slop:0,min_correl:0,min_sing_v:0,minim:[2,4],minimum:[0,6],minor:2,model:[2,3,4,6],modifi:6,modul:6,momentum:0,momentum_extra_step:0,mont:4,more:[0,3,4],moreov:3,most:[0,1,4,6],move:[0,4,6],move_xk:0,msg:6,multipl:[2,3,4,6],multiplicative_noise_level:0,must:6,myfil:[1,6],n_to_print_whole_x_vector:0,nag:3,nan:[0,2],navig:5,ndirs_initi:0,necessari:2,need:[4,6],never:[3,6],next:6,nfev:6,nois:[3,4,6],noisi:[0,3,4],non:[3,4,6],nonconvex:4,none:[0,6],nonlinear:3,nonlinear_system:6,nonzero:0,nor:4,norm:[1,6],norm_gk:1,norm_sk:1,normal:6,note:[5,6],now:[0,6],npt:[0,1,6],nrestart:6,nrun:[1,6],nsampl:[1,6],num_extra_step:0,num_geom_step:0,num_new_dirns_each_it:0,number:[0,1,4,6],numer:3,numericalalgorithmsgroup:5,numpi:[0,2,5,6],obj:6,object:[1,2,3,4],objfun:[0,1,2,6],objfun_has_nois:[0,6],obs:4,observ:[4,6],occur:6,oct:3,octob:3,often:4,older:5,one:[0,1,4,5,6],onli:[0,1,4,6],onto:6,oper:2,oppos:0,opposit:0,opt:6,optim:[0,1,4,6],option:[0,2,3,4,5],order:6,org:5,origin:6,orthogon:0,other:0,otherwis:[0,4],our:[3,4,6],out:6,output:[1,2,3,4],outsid:6,over:[0,6],overdetermin:4,overflow:2,overflowerror:0,overlin:0,overrid:0,overridden:6,overview:[3,6],packag:[2,3,5],page:6,panda:[1,5,6],paper:[0,3,4,6],param1:6,param2:6,paramet:[2,3],part:[2,6],partial:6,particularli:[4,6],pass:[2,6],past:0,pball:6,pbox:6,per:[0,1,2,6],perform:[0,2,4,6],perturb:0,perturb_trust_region_step:0,phase:[0,6],physic:4,piec:[0,1],pip:3,pleas:3,plot:6,plt:6,point:[1,2,3,4,6],pois:1,poised:[0,1],popul:1,posisbl:0,possibl:[4,6],post:0,practic:6,precondit:0,predict:[1,4],prediction_error:6,prefer:4,preprint:[0,3,4,6],present:5,preserv:0,previou:[0,6],previous:1,print:[0,2,6],print_funct:6,print_progress:6,privat:5,privileg:5,probabl:4,problem:[0,1,2,3,4,6],proccess:4,process:[0,4],produc:[4,6],progress:[3,6],prohibit:4,project:6,provid:[4,5,6],pull:5,pure:5,purpos:6,put:4,pydata:5,pyplot:6,python:[0,5,6],quad:[3,4,6],quantit:4,quantiti:4,quit:0,quit_on_noise_level:0,r_1:[0,4,6],r_2:4,r_i:[0,4,6],r_m:[0,4,6],r_tol:0,radii:0,radiu:[0,1,2,4,6],random:[0,2,6],random_directions_make_orthogon:0,random_initial_direct:0,rang:6,rank:3,rate:0,rather:2,ratio:[0,1],reach:[0,6],recommend:0,recycl:0,reduc:[0,2],reduce_delta:0,reduct:1,refer:3,regim:2,region:[2,3,4,5,6],regress:3,regular:0,regularli:4,rel:0,rel_tol:0,relationship:4,relax:[3,6],releas:[2,3],remov:[2,5],repeat:4,replac:6,reproduc:[2,6],request:6,requir:[0,3,4,6],rerun:5,reset:0,reset_delta:0,reset_rho:0,resid:6,residu:[1,4,6],respect:0,restart:[1,2,3,6],result:[0,1,2,4,6],retriev:2,rho:[1,6],rho_:0,rho_k:[0,1],rhobeg:6,rhoend:6,rhoend_scal:0,right:[2,6],risk:0,robert:[0,3,4,6],robust:[0,3,4,6],root:5,rosenbrock:6,rosenbrock_noisi:6,rounding_error_const:0,roundoff:0,row:1,run:[0,5,6],run_in_parallel:0,runtim:2,runtimewarn:6,s_k:[0,1,4],safeti:[0,1,2],safety_step_thresh:0,sai:4,same:[0,3,4,6],sampl:6,sas:6,satisfi:[4,6],save:[0,1,6],save_diagnostic_info:[0,1],save_poised:[0,1],save_rk:[0,1],save_xk:[0,1],saw:1,scale:[0,2,6],scale_factor:0,scale_factor_for_quit:0,scaling_within_bound:6,scipi:[4,5,6],screen:0,script:6,search:[0,2,4],section:[0,1,2,6],see:[1,5,6],seed:[2,6],sens:4,sensibl:6,set:[1,2,3,4,6],set_xlabel:6,set_ylabel:6,setup:[0,5],sever:[0,4,6],shape:6,shift:[0,6],should:[0,5,6],show:6,side:[2,4],similar:4,similarli:4,simpl:[2,3,5],simpli:4,simul:4,sin:4,sinc:[0,1],singular:[0,6],site:5,situat:4,size:[4,6],slope:0,slow:[1,3,6],slow_it:1,small:[3,4,6],smaller:0,smallest:[0,1],smooth:0,soft:0,softwar:[0,3,4,5,6],soln:[1,6],solut:[2,3,4,5,6],solv:[0,1,3],solver:[0,2,3,4,6],some:[0,4,5,6],someth:6,sourc:5,space:[0,2,4],specifi:[0,6],squar:[1,4],stai:4,stand:3,start:[2,4,6],statu:6,step:[0,1,2,4,6],still:0,stochast:[3,6],stop:[0,2],store:[0,2],str:6,string:6,strongli:4,structur:3,subproblem:[2,4,5,6],success:[0,1,6],successfulli:6,sudo:5,suffici:6,suitabl:4,sum:[1,4],sum_:[3,4,6],supervis:3,support:[3,5,6],suppos:[4,6],sure:[4,5],svd_max_jac_cond:0,svd_scale_factor:0,system:[0,1,3,5],t_i:6,tabl:6,take:[0,4,6],taken:6,task:4,tdata:6,technic:6,techniqu:4,termin:[1,3,6],test:[3,6],text:[0,1,3,4,6],than:[0,2,6],thei:[0,4],them:[2,4],therefor:6,thi:[0,1,2,3,4,5,6],thresh_for_slow:0,threshold:0,through:[0,2],throw_error_on_nan:0,time:[0,1,4,6],to_csv:1,toler:0,too:6,top:5,total:[1,6],tr_radiu:0,train:3,transact:[0,3,4,6],trend:0,trial:4,triangular:2,trigger:0,troubl:6,trust:[2,3,4,5,6],trustregion:[2,5],tupl:6,turn:1,two:[0,4],type:[1,4],typic:4,unabl:6,under:3,underdetermin:4,uninstal:3,unknown:4,unless:6,unpack:5,unsuccess:0,updat:2,upgrad:5,upper:[2,6],usag:[3,6],use:[0,1,2,3,5],use_full_rank_interp:0,use_old_rk:0,use_restart:0,use_soft_restart:0,used:[0,1,4,6],useful:[0,4,6],user:[0,4,5,6],user_param:[0,1,6],uses:0,using:[0,2,3,4,6],usual:0,val1:6,val2:6,valu:[1,2,3,4,6],vari:0,variabl:6,vast:4,vdot:4,vector:[0,1,4,6],veri:[0,4,6],version:[0,3,5],via:6,viewer:6,visibl:6,wai:[0,4,6],want:[5,6],warn:[2,6],well:4,what:[0,1],when:[0,2,3,6],where:[0,4,6],whether:[0,4,6],which:[0,1,2,3,4,5,6],whole:2,why:6,wish:[3,4,6],within:[0,2,6],without:[0,3],work:5,wors:6,write:6,written:5,www:5,x_0:[0,6],x_1:[4,6],x_2:[4,6],x_b:0,x_j:6,x_k:[0,4],x_n:4,xmin:6,xtol:6,y_1:4,y_i:[4,6],y_k:[0,1],y_m:4,y_t:0,ydata:6,yet:0,you:[3,4,5,6],your:[4,5,6],zenodo:2,zero:[0,2]},titles:["Advanced Usage","Diagnostic Information","Version History","DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization","Overview","Installing DFO-LS","Using DFO-LS"],titleterms:{Adding:6,Using:6,acknowledg:3,advanc:0,algorithm:[0,1,4],apr:2,argument:6,bound:[],check:0,constraint:6,count:1,current:1,data:6,deriv:3,detail:4,dfo:[3,4,5,6],diagnost:1,dykstra:0,dynam:0,equat:[4,6],estim:6,evalu:6,exampl:6,feb:2,fit:[4,6],free:3,gener:0,grow:0,histori:2,how:6,inform:[0,1],initi:0,instal:5,interpol:[0,1],iter:1,jan:2,jun:2,least:[3,6],log:0,manag:0,manual:5,matrix:0,minim:[3,6],model:[0,1],more:6,multipl:0,nois:0,noisi:6,nonlinear:[4,6],object:[0,6],oct:2,optim:3,option:6,output:[0,6],overview:4,paramet:[0,4,6],pip:5,point:0,progress:[0,1],rank:0,refer:[0,4,6],region:[0,1],regress:0,requir:5,restart:0,set:0,simpl:6,slow:0,small:0,solv:[4,6],squar:[3,6],stochast:0,system:[4,6],termin:0,test:5,trust:[0,1],uninstal:5,usag:0,use:[4,6],using:5,valu:0,version:2,when:4}}) \ No newline at end of file diff --git a/docs/build/html/userguide.html b/docs/build/html/userguide.html index ab38f4f..218f9d3 100644 --- a/docs/build/html/userguide.html +++ b/docs/build/html/userguide.html @@ -211,6 +211,7 @@

    How to use DFO-LSsoln.EXIT_MAXFUN_WARNING - maximum allowed objective evaluations reached. This is the most likely return value when using multiple restarts.

  • soln.EXIT_SLOW_WARNING - maximum number of slow iterations reached.

  • soln.EXIT_FALSE_SUCCESS_WARNING - DFO-LS reached the maximum number of restarts which decreased the objective, but to a worse value than was found in a previous run.

  • +
  • soln.EXIT_TR_INCREASE_WARNING - model increase when solving the trust region subproblem with multiple arbitrary constraints.

  • soln.EXIT_INPUT_ERROR - error in the inputs.

  • soln.EXIT_TR_INCREASE_ERROR - error occurred when solving the trust region subproblem.

  • soln.EXIT_LINALG_ERROR - linear algebra error, e.g. the interpolation points produced a singular linear system.

  • @@ -336,7 +337,7 @@

    Adding Constraints and More Output\(x_0\) to a point within the bounds, in this case \(x_0=(-1.2,0.85)\).

    -

    If we want more complex constraints, we can instead write

    +

    If we want more complex constraints, we can instead write something like the following:

    diff --git a/docs/build/latex/DFOLS.aux b/docs/build/latex/DFOLS.aux index dfc33b1..ae3caac 100755 --- a/docs/build/latex/DFOLS.aux +++ b/docs/build/latex/DFOLS.aux @@ -46,12 +46,12 @@ \newlabel{info:parameter-fitting}{{2.2}{5}{Parameter Fitting}{section.2.2}{}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}Solving Nonlinear Systems of Equations}{6}{section.2.3}\protected@file@percent } \newlabel{info:solving-nonlinear-systems-of-equations}{{2.3}{6}{Solving Nonlinear Systems of Equations}{section.2.3}{}} -\citation{info:cfmr2018} +\citation{userguide:cfmr2018} \@writefile{toc}{\contentsline {section}{\numberline {2.4}Details of the DFO\sphinxhyphen {}LS Algorithm}{7}{section.2.4}\protected@file@percent } \newlabel{info:details-of-the-dfo-ls-algorithm}{{2.4}{7}{Details of the DFO\sphinxhyphen {}LS Algorithm}{section.2.4}{}} \@writefile{toc}{\contentsline {section}{\numberline {2.5}References}{7}{section.2.5}\protected@file@percent } \newlabel{info:references}{{2.5}{7}{References}{section.2.5}{}} -\citation{info:cfmr2018} +\citation{userguide:cfmr2018} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Using DFO\sphinxhyphen {}LS}{9}{chapter.3}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} @@ -75,7 +75,7 @@ \newlabel{userguide:example-solving-a-nonlinear-system-of-equations}{{3.8}{18}{Example: Solving a Nonlinear System of Equations}{section.3.8}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.9}References}{19}{section.3.9}\protected@file@percent } \newlabel{userguide:references}{{3.9}{19}{References}{section.3.9}{}} -\citation{info:cfmr2018} +\citation{userguide:cfmr2018} \@writefile{toc}{\contentsline {chapter}{\numberline {4}Advanced Usage}{21}{chapter.4}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} diff --git a/docs/build/latex/DFOLS.fdb_latexmk b/docs/build/latex/DFOLS.fdb_latexmk index c3143db..ffe90bb 100755 --- a/docs/build/latex/DFOLS.fdb_latexmk +++ b/docs/build/latex/DFOLS.fdb_latexmk @@ -1,10 +1,10 @@ # Fdb version 3 -["makeindex DFOLS.idx"] 1533896586 "DFOLS.idx" "DFOLS.ind" "DFOLS" 1634440875 - "DFOLS.idx" 1634440874 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex" +["makeindex DFOLS.idx"] 1533896586 "DFOLS.idx" "DFOLS.ind" "DFOLS" 1635178686 + "DFOLS.idx" 1635178685 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex" (generated) - "DFOLS.ind" "DFOLS.ilg" -["pdflatex"] 1634440872 "DFOLS.tex" "DFOLS.pdf" "DFOLS" 1634440875 + "DFOLS.ind" +["pdflatex"] 1635178684 "DFOLS.tex" "DFOLS.pdf" "DFOLS" 1635178686 "/etc/texmf/web2c/texmf.cnf" 1624242784 475 c0e671620eb5563b2130f56340a5fde8 "" "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab "" "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" @@ -173,22 +173,22 @@ "/usr/share/texmf/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 "" "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1624243066 5160710 ecf427ae8fa19139d8691f526e47bb9b "" "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1624243094 2569235 be2903e90bfe54d2770ce0f508f15937 "" - "DFOLS.aux" 1634440874 14077 a57e9cbc321455cf71aa897afa283d2c "pdflatex" + "DFOLS.aux" 1635178686 14092 9d9d9e97af3301fe1a6671e122c87eb2 "pdflatex" "DFOLS.ind" 1610358580 0 d41d8cd98f00b204e9800998ecf8427e "makeindex DFOLS.idx" - "DFOLS.out" 1634440874 9566 4c15cb7f3428ba1015be450cf20ae095 "pdflatex" - "DFOLS.tex" 1634440863 88436 83d524cb5461f8777e2e649ff2ddefdb "" - "DFOLS.toc" 1634440874 4715 c361968e0fbff7dd069132047d694ae5 "pdflatex" + "DFOLS.out" 1635178686 9566 4c15cb7f3428ba1015be450cf20ae095 "pdflatex" + "DFOLS.tex" 1635178681 88954 c0e52f684f29b5b7b470a229b4c94cfb "" + "DFOLS.toc" 1635178686 4715 c361968e0fbff7dd069132047d694ae5 "pdflatex" "data_fitting.png" 1610358580 29893 211bb1c28ea25d47c8c0990fbf39c55c "" "footnotehyper-sphinx.sty" 1610358580 8888 1bbd7bdeae8c8bed1d10d551bddb1cc9 "" "sphinx.sty" 1633985769 82020 a38700b8aa22dfd94a8a5b905e69be73 "" - "sphinxhighlight.sty" 1634440869 8137 38a433148fcb7611515a989ff1750dd5 "" + "sphinxhighlight.sty" 1635178681 8137 38a433148fcb7611515a989ff1750dd5 "" "sphinxmanual.cls" 1610358580 4236 124cd90deb92742b5d3922bfc2cd70c0 "" - "sphinxmessages.sty" 1634440869 745 3f5fcd6cdd7964ed608767954a8ced6f "" + "sphinxmessages.sty" 1635178681 745 3f5fcd6cdd7964ed608767954a8ced6f "" "sphinxmulticell.sty" 1610358580 14606 0b6edc2b1a83546ed92026d1f6a311b5 "" (generated) - "DFOLS.aux" - "DFOLS.log" "DFOLS.idx" + "DFOLS.aux" "DFOLS.toc" "DFOLS.pdf" + "DFOLS.log" "DFOLS.out" diff --git a/docs/build/latex/DFOLS.log b/docs/build/latex/DFOLS.log index 153396a..f0c4f81 100755 --- a/docs/build/latex/DFOLS.log +++ b/docs/build/latex/DFOLS.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.6.21) 16 OCT 2021 23:21 +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.6.21) 25 OCT 2021 12:18 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -698,15 +698,15 @@ File: ts1pcr.fd 2001/06/04 font definitions for TS1/pcr. Package textcomp Warning: Symbol \textasciigrave not provided by (textcomp) font family pcr in TS1 encoding. -(textcomp) Default family used instead on input line 756. +(textcomp) Default family used instead on input line 760. LaTeX Font Info: Trying to load font information for T1+cmtt on input line 7 -56. +60. (/usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd File: t1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions ) LaTeX Font Info: Trying to load font information for TS1+cmtt on input line -756. +760. (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd File: ts1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions @@ -714,36 +714,32 @@ File: ts1cmtt.fd 2019/12/16 v2.5j Standard LaTeX font definitions Package textcomp Warning: Symbol \textasciigrave not provided by (textcomp) font family pcr in TS1 encoding. -(textcomp) Default family used instead on input line 756. - - -Overfull \vbox (0.68164pt too high) detected at line 784 - [] +(textcomp) Default family used instead on input line 760. [15] [16] File: data_fitting.png Graphic file (type png) -Package pdftex.def Info: data_fitting.png used on input line 857. +Package pdftex.def Info: data_fitting.png used on input line 861. (pdftex.def) Requested size: 352.31625pt x 270.79639pt. [17 <./data_fitting.png>] [18] [19] [20 ] Chapter 4. [21] [22] -Underfull \hbox (badness 10000) in paragraph at lines 1085--1086 +Underfull \hbox (badness 10000) in paragraph at lines 1089--1090 []\T1/pcr/m/n/10 regression.increase_num_extra_steps_with_restart \T1/ptm/m/n/1 0 - The amount to in-crease [] -Underfull \hbox (badness 10000) in paragraph at lines 1120--1121 +Underfull \hbox (badness 10000) in paragraph at lines 1124--1125 []\T1/pcr/m/n/10 restarts.hard.increase_ndirs_initial_amt \T1/ptm/m/n/10 - Amou nt to in-crease \T1/pcr/m/n/10 growing. [] [23] -Underfull \hbox (badness 8000) in paragraph at lines 1155--1156 +Underfull \hbox (badness 8000) in paragraph at lines 1159--1160 \T1/ptm/m/n/10 De-fault is \T1/pcr/m/n/10 False \T1/ptm/m/n/10 if $\OML/cmm/m/i t/10 m \OMS/cmsy/m/n/10 ^^U \OML/cmm/m/it/10 n$ \T1/ptm/m/n/10 and \T1/pcr/m/n/ 10 True \T1/ptm/m/n/10 oth-er-wise (op-po-site to \T1/pcr/m/n/10 growing.full_r @@ -773,7 +769,7 @@ Package rerunfilecheck Info: File `DFOLS.out' has not changed. Here is how much of TeX's memory you used: 13946 strings out of 479304 199409 string characters out of 5869779 - 597748 words of memory out of 5000000 + 604138 words of memory out of 5000000 30696 multiletter control sequences out of 15000+600000 452760 words of font info for 89 fonts, out of 8000000 for 9000 1142 hyphenation exceptions out of 8191 @@ -799,7 +795,7 @@ exmf-dist/fonts/type1/urw/helvetic/uhvbo8a.pfb> -Output written on DFOLS.pdf (37 pages, 321015 bytes). +Output written on DFOLS.pdf (37 pages, 321478 bytes). PDF statistics: 616 PDF objects out of 1000 (max. 8388607) 543 compressed objects within 6 object streams diff --git a/docs/build/latex/DFOLS.pdf b/docs/build/latex/DFOLS.pdf index 886cb3c4b8a94283f6164b95ebe668618d27eda5..78a20d72df03956027133aa456c940bd0088805f 100755 GIT binary patch delta 28418 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 delta 27975 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 delta 27975 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 Date: Sun, 7 Nov 2021 01:02:43 -0500 Subject: [PATCH 11/11] Update docs and examples --- docs/build/doctrees/environment.pickle | Bin 36246 -> 36753 bytes docs/build/doctrees/history.doctree | Bin 15890 -> 16631 bytes docs/build/doctrees/index.doctree | Bin 14340 -> 14644 bytes docs/build/doctrees/info.doctree | Bin 34775 -> 35617 bytes docs/build/doctrees/userguide.doctree | Bin 92677 -> 98907 bytes docs/build/html/_sources/history.rst.txt | 1 + docs/build/html/_sources/index.rst.txt | 7 +- docs/build/html/_sources/info.rst.txt | 5 +- docs/build/html/_sources/userguide.rst.txt | 126 +++- docs/build/html/_static/pygments.css | 6 +- docs/build/html/advanced.html | 67 +- docs/build/html/diagnostic.html | 29 +- docs/build/html/genindex.html | 2 +- docs/build/html/history.html | 50 +- docs/build/html/index.html | 27 +- docs/build/html/info.html | 34 +- docs/build/html/install.html | 29 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- docs/build/html/userguide.html | 171 +++-- docs/build/latex/DFOLS.aux | 23 +- docs/build/latex/DFOLS.fdb_latexmk | 77 +- docs/build/latex/DFOLS.fls | 792 +-------------------- docs/build/latex/DFOLS.log | 450 ++++++------ docs/build/latex/DFOLS.out | 79 +- docs/build/latex/DFOLS.pdf | Bin 321478 -> 324914 bytes docs/build/latex/DFOLS.tex | 155 ++-- docs/build/latex/DFOLS.toc | 11 +- docs/build/latex/sphinxhighlight.sty | 134 ++-- docs/history.rst | 1 + docs/index.rst | 7 +- docs/info.rst | 5 +- docs/userguide.rst | 126 +++- examples/rosenbrock_constrained.py | 34 +- manual.pdf | Bin 321478 -> 324914 bytes 35 files changed, 989 insertions(+), 1463 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index f237cbcdbc71fd321887be5ec5d996e7137e98f0..bd34af35c951f0e3546d373468551a0bbb175435 100755 GIT binary patch literal 36753 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

    OCw#@BcuHwJD|7KFP`2`t7&s`8uI*xt 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 P=_*pX&>FFRdGY@PXqhTb literal 36246 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 o|nYH(Moh0+=R$h;iZZPOCtr> zt|C;^<3t%RHJ$%7eh&KxKdn9XrSwtis$t;pS#UC7Bh&Kt) z#jIY@mBVC<`1CD4Ojb!a2I*>Mj#40fFfWNmBAnkZIN$RvRA>2I=JHdx{Cr*#1IJ}{wXk90mQ=lP=B7r^cBg+jS}^(J%oXYv6D;lF z)>`7Es4I?Ah5w7v}V0`VTDp91%JUX`v#~t;l z%xtCLUCB#g;P9S|;0^Z;YpI>XyKEfJo?W2+aAtw@3-!qe>ToNumfB3*buV!Y_y;mG zmje8Kc}WZ$@Z_G;HU*rF5Rg8exf19!oYl<530U!;Kto#1wUhOf}T8*Ml{ zKg7G7&QGvM=lr-IOcR;Jt&*?d$}9@PWxBE%kS^&6X4O7QT>r?oDN!I3#P-L#Y)y27 zS>DBntMYIU7vC?B%#sVYHZheuyt6TWqb-i{8|`(B-)Pfg{6@PUqc=a8qCJi%sp8>Y z8otzNF5J@C7CJ81nek;$U?#Y)LOcZ%j&0*E&7FGL#;t*;$uTs%A#dT0PTYfV37Ko+ zTKUG-Y8ltOWA|qG{(_E^QSiQ>Z#BdZT!V!xmvE;8=83e+Q{8QcpEIU=Sx?5^4#rA} z3!;Llk_Jb}>G;Yhy2DOR%whSj5}I5bNc0kld@7J3 z9zA__{W5Pr;BKiG>)KN;(< zqSsny5o-Mrezl9z`Wk{RT7N=+gE1D{CFfET0-DChEx2mg)7e1btKY&9Ot3;e}CxWD2DHjUDSQ3*MyyTcMfh&J+47U?4<59O z4iBm)uE+9&A&W$D!g>=WqN9x9BnV$_wuywl4D{F^)2X??;vg4Dqb?qq&-C%Ri& zM+`OvHx09K6LM0A7~&SPbGS9`X3N7pXVx*~vmT;9Z=*jCZ@*59IezK*p>r4amJ7&bDlwrm9x3R1o)HJCkX;$~QUXopj6udm6~eYldx`T?|e z>g3e!@9^8}Etdi);tupuwI+MjtyQoPOs(154cq})C33Fpz7OVcR|3vM)N1NZdAfH9 aU1p3rbxEmWs9=4Q?xUnzjS=gY7ymz)nWCQn diff --git a/docs/build/doctrees/history.doctree b/docs/build/doctrees/history.doctree index c8a9010aa79add5e4ab2cec1f902bb2bf2faf423..665337cb53d17f065e5e9dee919c22e40ab51b70 100755 GIT binary patch literal 16631 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 diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index a87d31bf8267aeadba8b94582694ef8ff316add2..9fc32b2b36a02daecdb4c68a02f23d809eb3d07a 100755 GIT binary patch delta 2816 zcmcImYiv|S6z<)=ciX#0Os6uW(Hh0P^MOHS(^N4l{Y>WqpR@OMJPkwWGYbmF3N;+u=yrtl>j-iiZo7 zo<&cP%a7E3o}_kqA+3)|6H-iy_@#g{BJfqOku>L$R+X>Hl}r0yFj#Q_eyluHLCg0l ztSC7{%J?mFxTzuKg;uK|<_Cmx`eEZeX1QDFVa!P|Wj(-UXcFe&f?>R8Y)nt`{yN6? zC%pkeyksmS?I+XOAD^=A{dR3=mZHTLy6#INFx4dWJ;PQaVZfeldHr1F+sFz?5tpRcv3T7ypV2&2bN~Df^E*a zUPgcBbushqs#U^s8*qjn0KI`-pIbGhb=~>*3(gi-mxTUeO^L(HSsSXb5JPBY(O|yz z!zI0w8~ z_e@oOKHy~Co8}V*!Abp^YE8;D^{Lm?=TQAq!E#c^8m7fd8Z#>oJMC9oNxBct z)pgfR&iJCfnf+e1P#6dc1qT|BnZL$KUY*W^scEKK!=(|{pb>VfX-Kf#*C^n^I>=G+ zk;csX<~9+91^AT=@C2bB*U{PXj`@#eI_|^GmKUlup;3o=X*Fea!0y(d@H<>u@3Uh@(%ndcyMj(!IihEOZ;K%X0Zk`-`j_Dmfh+KzS2Bb?T%yOYZ^1lReR0$ zXv`Z5ddYTgED?+=ta&}K&gofdUJS+4*X}%S4&fxPjJx56^Xv+2nUKpSh_lP-?C@Eq zn|;y|MzIENxLzux$&7Ugg84)NPoz7%0uTJw{kHf?A%gY&c&{AJxl|RPzvdWr-Vux6A&)QnG5OCK$Y<6kuJJJn3J)d%Gakh%Q zRAt~bHW<=n@n|yUmlWy%(X&TzXZCqc3&PWk(7Qnp9I$bH8+iIUYt5lxL>doCk$nj| z9twto31z3r0k5q8Df4RIpfLM0(=Ok`EL^2mBw-i+`DLIU9o!YPDX2;U(*MRw6fV4rUZIz=s{2tAR~^9-S3Qp-uKF7san*m~2vrmQA!KET**q(I s9!Dr!{vva|zgMsuf)Rfx8DNQw?o;+EX?;NQv*yPaUKz#OBz^9G0K9NKT>t<8 delta 2442 zcmbtWeMnnZ6!+@0E>ZKLrhZ1B-|;INjn=MI3$3-)%~IIbu4^eVzV`ZR5{X7?Y3J08 zr6W+glL@XeXc<%}Zj;E$94)jkHW+1v(J{nrjI#e^(6JT9Si5`f^CfxeU)w*w+;SEx4a{7t zm}wQWzn5}}bivh}A|0;oXRDpiDdg!pVl#v7Q ztI$NwA|q89-E7qqCSv66$YkVF#70x;G3Mxwh3MlOjE*+(hK#rJLP<5Mq~P|Ff-y;OYsUnchwHXVIFZ(w`T=7N!iQ;-`5z<2 zCtmGKpnsVlom{)NGvkcoIoUf^pr&lriZ%Jkd?1)3j3&YT9fM z8@^)hU&ght;^kvlmEDlY4)^puhDXfuoyLJzTXirg4sbZVn4AWhep(k%LWlXx6i+qX z!L~kTxw67SMq9}*8->nN2xtlxT0KwrF8q@r?skog1U%A!IO-GoCDH5iHb|b~(eZlG zJ>(l6bPn?RqG`@^K%yY zDX-QIad1TZ@4?m#!yW&VV%|8Is5P&{mE%pP zEQU*9CcDHO!E>?>lhK3i`!w2Z$suMZ&am0&UF)N9c|7BA z#(G{@VrJG)gp)8|%Cvs6ePfup!h!OT|=P6B}X!WwYOnOJBnB zZ-fUGZMIA_Y90>EZjGvyeKgpI%tq}{SJ{!%#W&0Q@kh-9zCT5nR`&kL`(i8n5vgNT z9nsG!4<%msH--Q2yY@WmgH8Qoh-s?U4Y*Ml`;B8Jt5{RTPQsZo^2>$z2RNqhRV2Lw=%ie ztjO8hNL{xF&CxBqlZ}>~>)1RNS(6E@Y?fNt`d9|x$HpGBO5`(l6(w=i9vpGiGdSX^ y@8gK8{u4*2TIB7i$R1*IMfMDiP`11r{b^S-$E4#_V7 diff --git a/docs/build/doctrees/info.doctree b/docs/build/doctrees/info.doctree index 1302d15f3a1035ebf2397664b61b643aac070245..a431aac09a2f4c25a2c6312ce4dbce4966562b04 100755 GIT binary patch literal 35617 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 mw*G5=Gqq#eUGy(JP^jfw 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 -DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional convex constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares. +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. That is, DFO-LS solves .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad x \in C + \text{s.t.} &\quad x \in C\\ + &\quad a \leq x \leq b -The constraint set :math:`C` is assumed to be non-empty, closed and convex. Moreover, the constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible). +The constraint set :math:`C` is the intersection of multiple convex sets provided as input by the user. All constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible). Full details of the DFO-LS algorithm are given in our paper: C. Cartis, J. Fiala, B. Marteau and L. Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers `_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint `_] . DFO-LS is a more flexible version of `DFO-GN `_. diff --git a/docs/build/html/_sources/info.rst.txt b/docs/build/html/_sources/info.rst.txt index 46d74c8..e4e0b29 100644 --- a/docs/build/html/_sources/info.rst.txt +++ b/docs/build/html/_sources/info.rst.txt @@ -8,10 +8,11 @@ DFO-LS is designed to solve the nonlinear least-squares minimization problem (wi .. math:: \min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\ - \text{s.t.} &\quad x \in C + \text{s.t.} &\quad x \in C\\ + &\quad a \leq x \leq b We call :math:`f(x)` the objective function and :math:`r_i(x)` the residual functions (or simply residuals). -Here :math:`C` is a non-empty and closed convex set. +:math:`C` is the intersection of multiple convex sets given as input by the user. DFO-LS is a *derivative-free* optimization algorithm, which means it does not require the user to provide the derivatives of :math:`f(x)` or :math:`r_i(x)`, nor does it attempt to estimate them internally (by using finite differencing, for instance). diff --git a/docs/build/html/_sources/userguide.rst.txt b/docs/build/html/_sources/userguide.rst.txt index f7c5fe3..e8a7b54 100644 --- a/docs/build/html/_sources/userguide.rst.txt +++ b/docs/build/html/_sources/userguide.rst.txt @@ -144,7 +144,7 @@ Note that DFO-LS is a randomized algorithm: in its first phase, it builds an int This and all following problems can be found in the `examples `_ directory on the DFO-LS Github page. -Adding Constraints and More Output +Adding Bounds and More Output ----------------------------- We can extend the above script to add constraints. To add bound constraints alone, we can add the lines @@ -181,41 +181,6 @@ However, we also get a warning that our starting point was outside of the bounds DFO-LS automatically fixes this, and moves :math:`x_0` to a point within the bounds, in this case :math:`x_0=(-1.2,0.85)`. -If we want more complex constraints, we can instead write something like the following: - - .. code-block:: python - - # Define the projection functions - def pball(x): - c = np.array([0.7,1.5]) # ball centre - r = 0.4 # ball radius - return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) - - def pbox(x): - l = np.array([-2, 1.1]) # lower bound - u = np.array([0.9, 3]) # upper bound - return np.minimum(np.maximum(x,l), u) - - # Call DFO-LS (with box and ball constraints) - soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) - -DFO-LS correctly finds the solution to this constrained problem too. Note that we get a warning because the step computed in the trust region subproblem -gave an increase in the model. This is common in the case where multiple constraints are active at the optimal point. - - .. code-block:: none - - ****** DFO-LS Results ****** - Solution xmin = [0.9 1.15359245] - Residual vector = [3.43592448 0.1 ] - Objective value f(xmin) = 11.81557703 - Needed 10 objective evaluations (at 10 points) - Approximate Jacobian = [[-1.79826221e+01 1.00004412e+01] - [-1.00000000e+00 -1.81976605e-15]] - Exit flag = 5 - Warning (trust region increase): Either multiple constraints are active or trust region step gave model increase - **************************** - - We can also get DFO-LS to print out more detailed information about its progress using the `logging `_ module. To do this, we need to add the following lines: .. code-block:: python @@ -259,6 +224,95 @@ An alternative option available is to get DFO-LS to print to terminal progress i 1 55 1.00e-02 2.00e-01 1.50e-08 1.00e-08 56 1 56 1.00e-02 2.00e-01 1.50e-08 1.00e-08 57 +Handling Arbitrary Convex Constraints +----------------------------- +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 +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 +sets must be non-empty. + + .. code-block:: python + + ''' + DFO-LS example: minimize the Rosenbrock function with arbitrary convex constraints + + This example defines two functions pball(x) and pbox(x) that project onto ball and + box constraint sets respectively. It then passes both these functions to the DFO-LS + solver so that it can find a constrained minimizer to the Rosenbrock function. + Such a minimizer must lie in the intersection of constraint sets corresponding to + projection functions pball(x) and pbox(x). The description of the problem is as follows: + + min rosenbrock(x) + s.t. + -2 <= x[0] <= 1.1, + 1.1 <= x[1] <= 3, + norm(x-c) <= 0.4 + + where c = [0.7, 1.5] is the centre of the ball. + ''' + from __future__ import print_function + import numpy as np + import dfols + + # Define the objective function + def rosenbrock(x): + return np.array([10.0 * (x[1] - x[0] ** 2), 1.0 - x[0]]) + + # Define the starting point + x0 = np.array([-1.2, 1]) + + ''' + Define ball projection function + Projects the input x onto a ball with + centre point (0.7,1.5) and radius 0.4. + ''' + def pball(x): + c = np.array([0.7,1.5]) # ball centre + r = 0.4 # ball radius + return c + (r/np.max([np.linalg.norm(x-c),r]))*(x-c) + + ''' + Define box projection function + Projects the input x onto a box + such that -2 <= x[0] <= 0.9 and + 1.1 <= x[1] <= 3. + + Note: One could equivalently add bound + constraints as a separate input to the solver + instead. + ''' + def pbox(x): + l = np.array([-2, 1.1]) # lower bound + u = np.array([0.9, 3]) # upper bound + return np.minimum(np.maximum(x,l), u) + + # For optional extra output details + import logging + logging.basicConfig(level=logging.DEBUG, format='%(message)s') + + # Call DFO-LS + soln = dfols.solve(rosenbrock, x0, projections=[pball,pbox]) + + # Display output + print(soln) + +Note that for bound constraints one can choose to either implement them by defining a projection function as above, or by passing the bounds as input like in the example from the section on adding bound constraints. + +DFO-LS correctly finds the solution to this constrained problem too. Note that we get a warning because the step computed in the trust region subproblem +gave an increase in the model. This is common in the case where multiple constraints are active at the optimal point. + + .. code-block:: none + + ****** DFO-LS Results ****** + Solution xmin = [0.9 1.15359245] + Residual vector = [3.43592448 0.1 ] + Objective value f(xmin) = 11.81557703 + Needed 10 objective evaluations (at 10 points) + Approximate Jacobian = [[-1.79826221e+01 1.00004412e+01] + [-1.00000000e+00 -1.81976605e-15]] + Exit flag = 5 + Warning (trust region increase): Either multiple constraints are active or trust region step gave model increase + **************************** + 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: diff --git a/docs/build/html/_static/pygments.css b/docs/build/html/_static/pygments.css index de7af26..691aeb8 100644 --- a/docs/build/html/_static/pygments.css +++ b/docs/build/html/_static/pygments.css @@ -1,7 +1,7 @@ pre { line-height: 125%; } -td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #eeffcc; } diff --git a/docs/build/html/advanced.html b/docs/build/html/advanced.html index ae72a6d..df6805c 100644 --- a/docs/build/html/advanced.html +++ b/docs/build/html/advanced.html @@ -5,7 +5,8 @@ - + + Advanced Usage — DFO-LS v1.3.0 documentation @@ -85,7 +86,7 @@ -

    Contents:

    +

    Contents:

    Depending on exactly how DFO-LS terminates, the last row of results may not be fully populated.

    -
    +

    Current Iterate¶

    • xk - Best point found so far (current iterate). This is only saved if user_params['logging.save_xk'] = True.

    • rk - The vector of residuals at the current iterate. This is only saved if user_params['logging.save_rk'] = True.

    • fk - The value of \(f\) at the current iterate.

    -
    -
    + +

    Trust Region¶

    • rho - The lower bound on the trust region radius \(\rho_k\).

    • delta - The trust region radius \(\Delta_k\).

    • norm_sk - The norm of the trust region step \(\|s_k\|\).

    -
    -
    + +

    Model Interpolation¶

    -
    -
    + +

    Iteration Count¶

    -
    -
    + +

    Algorithm Progress¶

    • iter_type - A text description of what type of iteration we had (e.g. Successful, Safety, etc.)

    • ratio - The ratio of actual to predicted objective reduction in the trust region step.

    • slow_iter - Equal to 1 if the current iteration is successful but slow, 0 if is successful but not slow, and -1 if was not successful.

    -
    -

    + +
    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 96042a4..3f9829a 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -84,7 +84,7 @@ -

    Contents:

    +

    Contents: