FitBenchmarking 1.2.0__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/PKG-INFO +12 -11
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/README.md +8 -8
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cli/checkpoint_handler.py +60 -41
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cli/main.py +117 -85
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/base_controller.py +43 -23
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/bumps_controller.py +4 -6
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/ceres_controller.py +2 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/dfo_controller.py +2 -1
- fitbenchmarking-1.3.0/fitbenchmarking/controllers/galahad_controller.py +243 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/gofit_controller.py +3 -2
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/gradient_free_controller.py +2 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/gsl_controller.py +2 -6
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/levmar_controller.py +2 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/lmfit_controller.py +5 -12
- fitbenchmarking-1.3.0/fitbenchmarking/controllers/mantid_controller.py +440 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/matlab_curve_controller.py +2 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/matlab_opt_controller.py +2 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/minuit_controller.py +2 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/nlopt_controller.py +5 -12
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/paramonte_controller.py +3 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/ralfit_controller.py +4 -2
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/scipy_controller.py +7 -4
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/scipy_go_controller.py +2 -2
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/scipy_ls_controller.py +3 -2
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/core/fitting_benchmarking.py +119 -58
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/core/results_output.py +57 -25
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/base_cost_func.py +8 -3
- fitbenchmarking-1.3.0/fitbenchmarking/parsing/fitbenchmark_parser.py +601 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/fitting_problem.py +20 -19
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/horace_parser.py +152 -7
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/ivp_parser.py +1 -1
- fitbenchmarking-1.3.0/fitbenchmarking/parsing/mantid_parser.py +137 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/mantiddev_parser.py +24 -47
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/nist_data_functions.py +1 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/base_table.py +129 -18
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/compare_table.py +7 -5
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/energy_usage_table.py +0 -2
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/fitting_report.py +14 -13
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/local_min_table.py +3 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/performance_profiler.py +8 -4
- fitbenchmarking-1.3.0/fitbenchmarking/results_processing/plots.py +876 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/problem_summary_page.py +45 -5
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/runtime_table.py +23 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/tables.py +15 -21
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/css/custom_style.css +11 -0
- fitbenchmarking-1.3.0/fitbenchmarking/templates/fitting_report_template.html +175 -0
- fitbenchmarking-1.3.0/fitbenchmarking/templates/js/plotly.js +3879 -0
- fitbenchmarking-1.3.0/fitbenchmarking/templates/js/table.js +546 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/problem_summary_page_template.html +100 -46
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/table_template.html +15 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/checkpoint.py +4 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/fitbm_result.py +135 -29
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/options.py +15 -1
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/pyproject.toml +14 -2
- fitbenchmarking-1.2.0/fitbenchmarking/controllers/mantid_controller.py +0 -374
- fitbenchmarking-1.2.0/fitbenchmarking/parsing/fitbenchmark_parser.py +0 -632
- fitbenchmarking-1.2.0/fitbenchmarking/parsing/mantid_parser.py +0 -22
- fitbenchmarking-1.2.0/fitbenchmarking/results_processing/plots.py +0 -373
- fitbenchmarking-1.2.0/fitbenchmarking/templates/fitting_report_template.html +0 -158
- fitbenchmarking-1.2.0/fitbenchmarking/templates/js/plotly.js +0 -8
- fitbenchmarking-1.2.0/fitbenchmarking/templates/js/table.js +0 -142
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/.gitignore +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/LICENSE.txt +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/__main__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/ENSO.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Gauss3.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Hahn1.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Kirby2.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Lanczos1.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Lanczos2.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/META.txt +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/MGH17.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Misra1c.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Misra1d.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/ENSO.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/ENSO.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Gauss3.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Gauss3.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Hahn1.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Hahn1.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Kirby2.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Kirby2.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos1.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos1.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos2.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos2.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/MGH17.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/MGH17.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1c.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1c.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1d.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1d.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Bennett5.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/BoxBOD.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Eckerle4.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/META.txt +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/MGH09.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/MGH10.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Rat42.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Rat43.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Thurber.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Bennett5.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Bennett5.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/BoxBOD.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/BoxBOD.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Eckerle4.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Eckerle4.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH09.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH09.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH10.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH10.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat42.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat42.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat43.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat43.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Thurber.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Thurber.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Chwirut1.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Chwirut2.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/DanWood.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Gauss1.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Gauss2.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Lanczos3.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/META.txt +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Misra1a.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Misra1b.dat +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut1.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut1.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut2.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut2.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/DanWood.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/DanWood.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss1.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss1.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss2.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss2.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Lanczos3.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Lanczos3.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1a.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1a.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1b.hes +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1b.jac +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cli/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cli/exception_handler.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/controller_factory.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/horace_controller.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/matlab_controller.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/matlab_curve_controller/eval_r.m +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/matlab_mixin.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/matlab_stats_controller.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/scipy_leastsq_controller.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/theseus_controller.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/core/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/cost_func_factory.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/hellinger_nlls_cost_func.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/loglike_nlls_cost_func.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/nlls_base_cost_func.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/nlls_cost_func.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/poisson_cost_func.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/cost_func/weighted_nlls_cost_func.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Bold.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-BoldItalic.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Italic.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Light.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-LightItalic.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Medium.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-MediumItalic.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Regular.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Bold.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-BoldItalic.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Italic.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Light.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-LightItalic.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Medium.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-MediumItalic.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Regular.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Bold.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-BoldItalic.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Italic.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Light.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-LightItalic.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Medium.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-MediumItalic.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Regular.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Bold.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-BoldItalic.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Italic.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Light.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-LightItalic.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Medium.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-MediumItalic.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Regular.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.eot +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.svg +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.ttf +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.woff2 +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/analytic_hessian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/base_hessian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/best_available_hessian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/hessian_factory.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/numdifftools_hessian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/hessian/scipy_hessian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/analytic_jacobian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/base_jacobian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/best_available_jacobian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/default_jacobian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/jacobian_factory.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/numdifftools_jacobian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/scipy_jacobian.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/jacobian/scripts/NIST-Jacobians.nb +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/bal_parser.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/base_parser.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/hogben_parser.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/nist_parser.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/parser_factory.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/parsing/sasview_parser.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/results_processing/acc_table.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/css/dropdown_style.css +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/css/main_style.css +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/css/math_style.css +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/css/table_style.css +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/images/accuracy.png +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/images/compare.png +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/images/energy.png +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/images/fitbenchmarking_logo.png +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/images/local_min.png +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/images/runtime.png +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/index_page.html +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/dropdown.js +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/js/tex-mml-chtml.js +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/problem_index_page.html +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/templates/style_sheet.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/__init__.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/create_dirs.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/debug.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/exceptions.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/log.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/matlab_engine.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/misc.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/output_grabber.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/timer.py +0 -0
- {fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/utils/write_files.py +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: FitBenchmarking
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: FitBenchmarking: A tool for comparing fitting software
|
|
5
5
|
Project-URL: Homepage, https://fitbenchmarking.github.io
|
|
6
6
|
Project-URL: Documentation, https://fitbenchmarking.readthedocs.io/en/stable
|
|
7
7
|
Project-URL: Repository, https://github.com/fitbenchmarking/fitbenchmarking
|
|
8
8
|
Project-URL: Release Notes, https://github.com/fitbenchmarking/fitbenchmarking/releases
|
|
9
9
|
Project-URL: Issues, https://github.com/fitbenchmarking/fitbenchmarking/issues
|
|
10
|
-
Author:
|
|
10
|
+
Author: FitBenchmarking Team
|
|
11
|
+
License-File: LICENSE.txt
|
|
11
12
|
Keywords: benchmark,comparison,fitting,least squares,optimisation
|
|
12
13
|
Classifier: License :: OSI Approved :: BSD License
|
|
13
14
|
Classifier: Operating System :: OS Independent
|
|
@@ -68,22 +69,22 @@ Requires-Dist: sasmodels; extra == 'sas'
|
|
|
68
69
|
Requires-Dist: tinycc; (platform_system == 'Windows') and extra == 'sas'
|
|
69
70
|
Description-Content-Type: text/markdown
|
|
70
71
|
|
|
71
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.
|
|
72
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.
|
|
72
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.3.0)
|
|
73
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.3.0)
|
|
73
74
|
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/install.yml)
|
|
74
|
-
[](https://fitbenchmarking.readthedocs.io/en/v1.3.0)
|
|
75
76
|
[](https://coveralls.io/github/fitbenchmarking/fitbenchmarking)
|
|
76
77
|
[](https://slack.com/)
|
|
77
|
-
[](https://doi.org/10.5281/zenodo.14224242)
|
|
78
79
|
[](https://doi.org/10.21105/joss.03127)
|
|
79
80
|
# FitBenchmarking
|
|
80
81
|
|
|
81
82
|
FitBenchmarking is an open source tool for comparing different minimizers/fitting frameworks. FitBenchmarking is cross platform and we support Windows, Linux and Mac OS. For questions, feature requests or any other inquiries, please open an issue on GitHub.
|
|
82
83
|
|
|
83
|
-
- **Installation Instructions:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
84
|
-
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
85
|
-
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
86
|
-
- **Automated Tests:** Run via GitHub Actions, https://github.com/fitbenchmarking/fitbenchmarking/actions, and tests are documented at https://fitbenchmarking.readthedocs.io/en/v1.
|
|
84
|
+
- **Installation Instructions:** https://fitbenchmarking.readthedocs.io/en/v1.3.0/users/install_instructions/index.html
|
|
85
|
+
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.3.0/users/index.html
|
|
86
|
+
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.3.0/contributors/guidelines.html
|
|
87
|
+
- **Automated Tests:** Run via GitHub Actions, https://github.com/fitbenchmarking/fitbenchmarking/actions, and tests are documented at https://fitbenchmarking.readthedocs.io/en/v1.3.0/users/tests.html
|
|
87
88
|
|
|
88
89
|
The package is the result of a collaboration between STFC’s Scientific Computing Department and ISIS Neutron and Muon Facility and the Diamond Light Source. We also would like to acknowledge support from:
|
|
89
90
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.
|
|
2
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.
|
|
1
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.3.0)
|
|
2
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.3.0)
|
|
3
3
|
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/install.yml)
|
|
4
|
-
[](https://fitbenchmarking.readthedocs.io/en/v1.3.0)
|
|
5
5
|
[](https://coveralls.io/github/fitbenchmarking/fitbenchmarking)
|
|
6
6
|
[](https://slack.com/)
|
|
7
|
-
[](https://doi.org/10.5281/zenodo.14224242)
|
|
8
8
|
[](https://doi.org/10.21105/joss.03127)
|
|
9
9
|
# FitBenchmarking
|
|
10
10
|
|
|
11
11
|
FitBenchmarking is an open source tool for comparing different minimizers/fitting frameworks. FitBenchmarking is cross platform and we support Windows, Linux and Mac OS. For questions, feature requests or any other inquiries, please open an issue on GitHub.
|
|
12
12
|
|
|
13
|
-
- **Installation Instructions:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
14
|
-
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
15
|
-
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
16
|
-
- **Automated Tests:** Run via GitHub Actions, https://github.com/fitbenchmarking/fitbenchmarking/actions, and tests are documented at https://fitbenchmarking.readthedocs.io/en/v1.
|
|
13
|
+
- **Installation Instructions:** https://fitbenchmarking.readthedocs.io/en/v1.3.0/users/install_instructions/index.html
|
|
14
|
+
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.3.0/users/index.html
|
|
15
|
+
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.3.0/contributors/guidelines.html
|
|
16
|
+
- **Automated Tests:** Run via GitHub Actions, https://github.com/fitbenchmarking/fitbenchmarking/actions, and tests are documented at https://fitbenchmarking.readthedocs.io/en/v1.3.0/users/tests.html
|
|
17
17
|
|
|
18
18
|
The package is the result of a collaboration between STFC’s Scientific Computing Department and ISIS Neutron and Muon Facility and the Diamond Light Source. We also would like to acknowledge support from:
|
|
19
19
|
|
|
@@ -142,7 +142,7 @@ def generate_report(options_file="", additional_options=None, debug=False):
|
|
|
142
142
|
:type options_file: str, optional
|
|
143
143
|
:param additional_options: Extra options for the reporting.
|
|
144
144
|
Available keys are:
|
|
145
|
-
|
|
145
|
+
filename (str): The checkpoint file to use.
|
|
146
146
|
:type additional_options: dict, optional
|
|
147
147
|
"""
|
|
148
148
|
if additional_options is None:
|
|
@@ -185,46 +185,65 @@ def merge_data_sets(
|
|
|
185
185
|
):
|
|
186
186
|
"""
|
|
187
187
|
Combine multiple checkpoint files into one following these rules:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
188
|
+
|
|
189
|
+
1) The output will be the same as combining them one at a time in
|
|
190
|
+
sequence. i.e. A + B + C = (A + B) + C
|
|
191
|
+
|
|
192
|
+
**Note:** The rules from here on will only reference A and B as
|
|
193
|
+
the relation is recursive.
|
|
194
|
+
|
|
195
|
+
2) Datasets
|
|
196
|
+
|
|
197
|
+
2a) Datasets in A and B are identical if they agree on the label
|
|
198
|
+
|
|
199
|
+
2b) If A and B contain identical datasets, the problems and results
|
|
200
|
+
are combined as below.
|
|
201
|
+
|
|
202
|
+
**Note:** The remainder of these rules assume that A and B are
|
|
203
|
+
identical datasets as the alternative is trivial.
|
|
204
|
+
|
|
205
|
+
3) Problems
|
|
206
|
+
|
|
207
|
+
3a) If problems in A and B agree on name, ini_params, ini_y, x, y,
|
|
208
|
+
and e then these problems are considered identical.
|
|
209
|
+
|
|
210
|
+
3b)If A and B share identical problems, the details not specified in
|
|
211
|
+
3a are taken from A.
|
|
212
|
+
|
|
213
|
+
3c) If problems in A and B are not identical but share a name, the
|
|
214
|
+
name of the project in B should be updated to "<problem_name>*".
|
|
215
|
+
|
|
216
|
+
4) Results
|
|
217
|
+
|
|
218
|
+
4a) If results in A and B have identical problems and agree on name,
|
|
219
|
+
software_tag, minimizer_tag, jacobian_tag, hessian_tag, and
|
|
220
|
+
costfun_tag they are considered identical.
|
|
221
|
+
|
|
222
|
+
4b) If A an B share identical results, the details not specified in 4a
|
|
223
|
+
are taken from A if strategy is 'first', or B if strategy is 'last'.
|
|
224
|
+
|
|
225
|
+
5) As tables are grids of results, combining arbitrary results can lead to
|
|
226
|
+
un-table-able checkpoint files.
|
|
227
|
+
|
|
228
|
+
This occurs when the problems in A and B are not all identical and the
|
|
229
|
+
set of combinations of software_tag, minimizer_tag, jacobian_tag,
|
|
230
|
+
hessian_tag, and costfun_tag for which there are results in each of A
|
|
231
|
+
and B are not identical.
|
|
232
|
+
|
|
233
|
+
**E.g.** B has a problem not in A and uses a minimizer for which there
|
|
234
|
+
are no results in A.
|
|
235
|
+
|
|
236
|
+
5a) If the resulting checkpoint file would have the above issue,
|
|
237
|
+
the checkpoints are incompatible.
|
|
238
|
+
|
|
239
|
+
5b) Incompatible checkpoint files can be combined but should raise
|
|
240
|
+
warnings and mark the dataset in the checkpoint file.
|
|
241
|
+
|
|
242
|
+
**Note:** Some datasets may be incompatible where others can be
|
|
243
|
+
successfully combined.
|
|
244
|
+
|
|
245
|
+
6) Unselected minimizers and failed problems will be discarded when
|
|
246
|
+
combining.
|
|
228
247
|
|
|
229
248
|
:param files: The files to combine.
|
|
230
249
|
:type files: list[str]
|
|
@@ -122,8 +122,7 @@ of the Fitbenchmarking docs. """
|
|
|
122
122
|
type=str,
|
|
123
123
|
default=[],
|
|
124
124
|
help=(
|
|
125
|
-
"Select what type of algorithm is used within a specific "
|
|
126
|
-
"software."
|
|
125
|
+
"Select what type of algorithm is used within a specific software."
|
|
127
126
|
),
|
|
128
127
|
)
|
|
129
128
|
parser.add_argument(
|
|
@@ -179,8 +178,8 @@ of the Fitbenchmarking docs. """
|
|
|
179
178
|
help="Set the port for Dash.",
|
|
180
179
|
)
|
|
181
180
|
|
|
182
|
-
|
|
183
|
-
|
|
181
|
+
make_plots_group = parser.add_mutually_exclusive_group()
|
|
182
|
+
make_plots_group.add_argument(
|
|
184
183
|
"--make_plots",
|
|
185
184
|
action="store_true",
|
|
186
185
|
help=(
|
|
@@ -188,7 +187,7 @@ of the Fitbenchmarking docs. """
|
|
|
188
187
|
"during runtime."
|
|
189
188
|
),
|
|
190
189
|
)
|
|
191
|
-
|
|
190
|
+
make_plots_group.add_argument(
|
|
192
191
|
"--dont_make_plots",
|
|
193
192
|
action="store_true",
|
|
194
193
|
help=(
|
|
@@ -197,8 +196,8 @@ of the Fitbenchmarking docs. """
|
|
|
197
196
|
),
|
|
198
197
|
)
|
|
199
198
|
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
results_browser_group = parser.add_mutually_exclusive_group()
|
|
200
|
+
results_browser_group.add_argument(
|
|
202
201
|
"--results_browser",
|
|
203
202
|
action="store_true",
|
|
204
203
|
help=(
|
|
@@ -207,7 +206,7 @@ of the Fitbenchmarking docs. """
|
|
|
207
206
|
"of a fit benchmark."
|
|
208
207
|
),
|
|
209
208
|
)
|
|
210
|
-
|
|
209
|
+
results_browser_group.add_argument(
|
|
211
210
|
"--no_results_browser",
|
|
212
211
|
action="store_true",
|
|
213
212
|
help=(
|
|
@@ -217,8 +216,8 @@ of the Fitbenchmarking docs. """
|
|
|
217
216
|
),
|
|
218
217
|
)
|
|
219
218
|
|
|
220
|
-
|
|
221
|
-
|
|
219
|
+
pbar_group = parser.add_mutually_exclusive_group()
|
|
220
|
+
pbar_group.add_argument(
|
|
222
221
|
"--pbar",
|
|
223
222
|
action="store_true",
|
|
224
223
|
help=(
|
|
@@ -226,7 +225,7 @@ of the Fitbenchmarking docs. """
|
|
|
226
225
|
"see the progress bar during runtime."
|
|
227
226
|
),
|
|
228
227
|
)
|
|
229
|
-
|
|
228
|
+
pbar_group.add_argument(
|
|
230
229
|
"--no_pbar",
|
|
231
230
|
action="store_true",
|
|
232
231
|
help=(
|
|
@@ -269,8 +268,8 @@ of the Fitbenchmarking docs. """
|
|
|
269
268
|
help="Specify the file path to write the logs to.",
|
|
270
269
|
)
|
|
271
270
|
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
append_log_group = parser.add_mutually_exclusive_group()
|
|
272
|
+
append_log_group.add_argument(
|
|
274
273
|
"--append_log",
|
|
275
274
|
action="store_true",
|
|
276
275
|
help=(
|
|
@@ -280,7 +279,7 @@ of the Fitbenchmarking docs. """
|
|
|
280
279
|
"subsequent run."
|
|
281
280
|
),
|
|
282
281
|
)
|
|
283
|
-
|
|
282
|
+
append_log_group.add_argument(
|
|
284
283
|
"--overwrite_log",
|
|
285
284
|
action="store_true",
|
|
286
285
|
help=(
|
|
@@ -318,8 +317,8 @@ of the Fitbenchmarking docs. """
|
|
|
318
317
|
),
|
|
319
318
|
)
|
|
320
319
|
|
|
321
|
-
|
|
322
|
-
|
|
320
|
+
run_dash_group = parser.add_mutually_exclusive_group()
|
|
321
|
+
run_dash_group.add_argument(
|
|
323
322
|
"--run_dash",
|
|
324
323
|
action="store_true",
|
|
325
324
|
help=(
|
|
@@ -327,7 +326,7 @@ of the Fitbenchmarking docs. """
|
|
|
327
326
|
"interactive plots."
|
|
328
327
|
),
|
|
329
328
|
)
|
|
330
|
-
|
|
329
|
+
run_dash_group.add_argument(
|
|
331
330
|
"--dont_run_dash",
|
|
332
331
|
action="store_true",
|
|
333
332
|
help=(
|
|
@@ -335,6 +334,23 @@ of the Fitbenchmarking docs. """
|
|
|
335
334
|
"run dash for interactive plots."
|
|
336
335
|
),
|
|
337
336
|
)
|
|
337
|
+
|
|
338
|
+
jacobian_check_group = parser.add_mutually_exclusive_group()
|
|
339
|
+
jacobian_check_group.add_argument(
|
|
340
|
+
"--check_jacobian",
|
|
341
|
+
action="store_true",
|
|
342
|
+
help=(
|
|
343
|
+
"Use this option to check the jacobian against"
|
|
344
|
+
"a finite difference approximation."
|
|
345
|
+
),
|
|
346
|
+
)
|
|
347
|
+
jacobian_check_group.add_argument(
|
|
348
|
+
"--dont_check_jacobian",
|
|
349
|
+
action="store_true",
|
|
350
|
+
help=(
|
|
351
|
+
"Use this option if you have decided not to check the jacobian."
|
|
352
|
+
),
|
|
353
|
+
)
|
|
338
354
|
return parser
|
|
339
355
|
|
|
340
356
|
|
|
@@ -347,7 +363,7 @@ def run(problem_sets, additional_options=None, options_file="", debug=False):
|
|
|
347
363
|
:param problem_sets: The paths to directories containing problem_sets.
|
|
348
364
|
:type problem_sets: list of str
|
|
349
365
|
:param additional_options: A dictionary of options input by the
|
|
350
|
-
|
|
366
|
+
user into the command line.
|
|
351
367
|
:type additional_options: dict
|
|
352
368
|
:param options_file: The path to an options file, defaults to ''.
|
|
353
369
|
:type options_file: str, optional
|
|
@@ -383,76 +399,85 @@ def run(problem_sets, additional_options=None, options_file="", debug=False):
|
|
|
383
399
|
pp_dfs_all_prob_sets = {}
|
|
384
400
|
cp = Checkpoint(options=options)
|
|
385
401
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
)
|
|
410
|
-
results, failed_problems, unselected_minimizers = fit.benchmark()
|
|
411
|
-
|
|
412
|
-
# If a result has error flag 4 then the result contains dummy values,
|
|
413
|
-
# if this is the case for all results then output should not be
|
|
414
|
-
# produced as results tables won't show meaningful values.
|
|
415
|
-
all_dummy_results_flag = True
|
|
416
|
-
for result in results:
|
|
417
|
-
if result.error_flag != 4:
|
|
418
|
-
all_dummy_results_flag = False
|
|
419
|
-
break
|
|
420
|
-
|
|
421
|
-
# If the results are an empty list then this means that all minimizers
|
|
422
|
-
# raise an exception and the tables will produce errors if they run
|
|
423
|
-
# for that problem set.
|
|
424
|
-
if not results or all_dummy_results_flag:
|
|
425
|
-
message = (
|
|
426
|
-
"\nWARNING: \nThe user chosen options and/or problem "
|
|
427
|
-
" setup resulted in all minimizers and/or parsers "
|
|
428
|
-
"raising an exception. Because of this, results for "
|
|
429
|
-
f"the {label} problem set will not be displayed. "
|
|
430
|
-
"Please see the logs for more detail on why this is "
|
|
431
|
-
"the case."
|
|
402
|
+
try:
|
|
403
|
+
for sub_dir in problem_sets:
|
|
404
|
+
# Create full path for the directory that holds a group of
|
|
405
|
+
# problem definition files
|
|
406
|
+
data_dir = os.path.join(current_path, sub_dir)
|
|
407
|
+
|
|
408
|
+
test_data = glob.glob(data_dir + "/*.*")
|
|
409
|
+
|
|
410
|
+
if not test_data:
|
|
411
|
+
LOGGER.warning("Problem set %s not found", data_dir)
|
|
412
|
+
continue
|
|
413
|
+
|
|
414
|
+
# generate group label/name used for problem set
|
|
415
|
+
try:
|
|
416
|
+
with open(
|
|
417
|
+
os.path.join(data_dir, "META.txt"), encoding="utf-8"
|
|
418
|
+
) as f:
|
|
419
|
+
label = f.readline().strip("\n")
|
|
420
|
+
except OSError:
|
|
421
|
+
label = sub_dir.replace("/", "_")
|
|
422
|
+
|
|
423
|
+
LOGGER.info(
|
|
424
|
+
"Running the benchmarking on the %s problem set", label
|
|
432
425
|
)
|
|
433
|
-
|
|
434
|
-
else:
|
|
435
|
-
LOGGER.info("Producing output for the %s problem set", label)
|
|
436
|
-
# Display the runtime and accuracy results in a table
|
|
437
|
-
group_results_dir, pp_dfs = save_results(
|
|
438
|
-
group_name=label,
|
|
439
|
-
results=results,
|
|
426
|
+
fit = Fit(
|
|
440
427
|
options=options,
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
)
|
|
445
|
-
|
|
446
|
-
pp_dfs_all_prob_sets[label] = pp_dfs
|
|
447
|
-
|
|
448
|
-
LOGGER.info("Completed benchmarking for %s problem set", sub_dir)
|
|
449
|
-
group_results_dir = os.path.relpath(
|
|
450
|
-
path=group_results_dir, start=options.results_dir
|
|
428
|
+
data_dir=data_dir,
|
|
429
|
+
label=label,
|
|
430
|
+
checkpointer=cp,
|
|
451
431
|
)
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
432
|
+
results, failed_problems, unselected_minimizers = fit.benchmark()
|
|
433
|
+
|
|
434
|
+
# If a result has error flag 4 then the result contains dummy
|
|
435
|
+
# values, if this is the case for all results then output should
|
|
436
|
+
# not be produced as results tables won't show meaningful values.
|
|
437
|
+
all_dummy_results_flag = True
|
|
438
|
+
for result in results:
|
|
439
|
+
if result.error_flag != 4:
|
|
440
|
+
all_dummy_results_flag = False
|
|
441
|
+
break
|
|
442
|
+
|
|
443
|
+
# If the results are an empty list then this means that all
|
|
444
|
+
# minimizers raise an exception and the tables will produce
|
|
445
|
+
# errors if they run for that problem set.
|
|
446
|
+
if not results or all_dummy_results_flag:
|
|
447
|
+
message = (
|
|
448
|
+
"\nWARNING: \nThe user chosen options and/or problem "
|
|
449
|
+
" setup resulted in all minimizers and/or parsers "
|
|
450
|
+
"raising an exception. Because of this, results for "
|
|
451
|
+
f"the {label} problem set will not be displayed. "
|
|
452
|
+
"Please see the logs for more detail on why this is "
|
|
453
|
+
"the case."
|
|
454
|
+
)
|
|
455
|
+
LOGGER.warning(message)
|
|
456
|
+
else:
|
|
457
|
+
LOGGER.info("Producing output for the %s problem set", label)
|
|
458
|
+
# Display the runtime and accuracy results in a table
|
|
459
|
+
group_results_dir, pp_dfs = save_results(
|
|
460
|
+
group_name=label,
|
|
461
|
+
results=results,
|
|
462
|
+
options=options,
|
|
463
|
+
failed_problems=failed_problems,
|
|
464
|
+
unselected_minimizers=unselected_minimizers,
|
|
465
|
+
config=cp.config,
|
|
466
|
+
)
|
|
467
|
+
|
|
468
|
+
pp_dfs_all_prob_sets[label] = pp_dfs
|
|
469
|
+
|
|
470
|
+
LOGGER.info(
|
|
471
|
+
"Completed benchmarking for %s problem set", sub_dir
|
|
472
|
+
)
|
|
473
|
+
group_results_dir = os.path.relpath(
|
|
474
|
+
path=group_results_dir, start=options.results_dir
|
|
475
|
+
)
|
|
476
|
+
result_dir.append(group_results_dir)
|
|
477
|
+
group_labels.append(label)
|
|
478
|
+
|
|
479
|
+
finally:
|
|
480
|
+
cp.finalise()
|
|
456
481
|
|
|
457
482
|
# Check result_dir is non empty before producing output
|
|
458
483
|
if not result_dir:
|
|
@@ -539,6 +564,13 @@ def main():
|
|
|
539
564
|
elif args.dont_run_dash:
|
|
540
565
|
options_dictionary["run_dash"] = False
|
|
541
566
|
|
|
567
|
+
# Check if check_jacobian in options.py should be overridden, and if so,
|
|
568
|
+
# add to options_dictionary
|
|
569
|
+
if args.check_jacobian:
|
|
570
|
+
options_dictionary["check_jacobian"] = True
|
|
571
|
+
elif args.dont_check_jacobian:
|
|
572
|
+
options_dictionary["check_jacobian"] = False
|
|
573
|
+
|
|
542
574
|
# Check if benchmark in options.py should be overridden, and if so,
|
|
543
575
|
# add to options_dictionary
|
|
544
576
|
if args.pbar:
|
{fitbenchmarking-1.2.0 → fitbenchmarking-1.3.0}/fitbenchmarking/controllers/base_controller.py
RENAMED
|
@@ -3,6 +3,7 @@ Implements the base class for the fitting software controllers.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from abc import ABCMeta, abstractmethod
|
|
6
|
+
from typing import TYPE_CHECKING
|
|
6
7
|
|
|
7
8
|
import numpy as np
|
|
8
9
|
from scipy.optimize import curve_fit
|
|
@@ -13,9 +14,13 @@ from fitbenchmarking.utils.exceptions import (
|
|
|
13
14
|
IncompatibleJacobianError,
|
|
14
15
|
IncompatibleMinimizerError,
|
|
15
16
|
IncompatibleProblemError,
|
|
17
|
+
MissingBoundsError,
|
|
16
18
|
UnknownMinimizerError,
|
|
17
19
|
)
|
|
18
20
|
|
|
21
|
+
if TYPE_CHECKING:
|
|
22
|
+
from fitbenchmarking.cost_func.base_cost_func import CostFunc
|
|
23
|
+
|
|
19
24
|
|
|
20
25
|
class Controller:
|
|
21
26
|
"""
|
|
@@ -80,9 +85,10 @@ class Controller:
|
|
|
80
85
|
#: for the specific software are able to use jacobian
|
|
81
86
|
#: information.
|
|
82
87
|
#:
|
|
83
|
-
#: - ``jacobian_enabled_solvers``: a list of minimizers in a
|
|
84
|
-
#: software that allow Jacobian information to
|
|
85
|
-
#: into the fitting algorithm
|
|
88
|
+
#: - ``jacobian_enabled_solvers``: a list of minimizers in a
|
|
89
|
+
#: specific software that allow Jacobian information to
|
|
90
|
+
#: be passed into the fitting algorithm
|
|
91
|
+
#:
|
|
86
92
|
jacobian_enabled_solvers = []
|
|
87
93
|
|
|
88
94
|
#: Within the controller class, you must define the list
|
|
@@ -90,9 +96,10 @@ class Controller:
|
|
|
90
96
|
#: for the specific software are able to use hessian
|
|
91
97
|
#: information.
|
|
92
98
|
#:
|
|
93
|
-
#: - ``hessian_enabled_solvers``: a list of minimizers in a
|
|
94
|
-
#: software that allow Hessian information to
|
|
95
|
-
#: into the fitting algorithm
|
|
99
|
+
#: - ``hessian_enabled_solvers``: a list of minimizers in a
|
|
100
|
+
#: specific software that allow Hessian information to
|
|
101
|
+
#: be passed into the fitting algorithm
|
|
102
|
+
#:
|
|
96
103
|
hessian_enabled_solvers = []
|
|
97
104
|
|
|
98
105
|
#: Within the controller class, you must define the list
|
|
@@ -100,15 +107,29 @@ class Controller:
|
|
|
100
107
|
#: for the specific software offer support for sparse
|
|
101
108
|
#: jacobians.
|
|
102
109
|
#:
|
|
103
|
-
#: - ``sparsity_enabled_solvers``: a list of minimizers in a
|
|
104
|
-
#: software that allow sparsity structure to be
|
|
105
|
-
#: into the fitting algorithm
|
|
110
|
+
#: - ``sparsity_enabled_solvers``: a list of minimizers in a
|
|
111
|
+
#: specific software that allow sparsity structure to be
|
|
112
|
+
#: passed into the fitting algorithm
|
|
113
|
+
#:
|
|
106
114
|
sparsity_enabled_solvers = []
|
|
107
115
|
|
|
108
116
|
#: A name to be used in tables. If this is set to None it will be inferred
|
|
109
117
|
#: from the class name.
|
|
110
118
|
controller_name = None
|
|
111
119
|
|
|
120
|
+
#: Used to check whether the fitting software has support for
|
|
121
|
+
#: bounded problems, set as True if at least some minimizers
|
|
122
|
+
#: in the fitting software have support for bounds
|
|
123
|
+
support_for_bounds = False
|
|
124
|
+
|
|
125
|
+
#: Used to check whether the selected minimizers is compatible with
|
|
126
|
+
#: problems that have parameter bounds
|
|
127
|
+
no_bounds_minimizers = []
|
|
128
|
+
|
|
129
|
+
#: Used to check whether the selected minimizer is compatible with
|
|
130
|
+
#: problems that don't have parameter bounds
|
|
131
|
+
bounds_required_minimizers = []
|
|
132
|
+
|
|
112
133
|
#: A list of incompatible problem formats for this controller.
|
|
113
134
|
incompatible_problems = []
|
|
114
135
|
|
|
@@ -124,7 +145,7 @@ class Controller:
|
|
|
124
145
|
:type cost_func: subclass of
|
|
125
146
|
:class:`~fitbenchmarking.cost_func.base_cost_func.CostFunc`
|
|
126
147
|
"""
|
|
127
|
-
self.cost_func = cost_func
|
|
148
|
+
self.cost_func: CostFunc = cost_func
|
|
128
149
|
# Problem: The problem object from parsing
|
|
129
150
|
self.problem = self.cost_func.problem
|
|
130
151
|
|
|
@@ -155,15 +176,6 @@ class Controller:
|
|
|
155
176
|
# Flag: error handling flag
|
|
156
177
|
self._flag = None
|
|
157
178
|
|
|
158
|
-
# Used to check whether the selected minimizers is compatible with
|
|
159
|
-
# problems that have parameter bounds
|
|
160
|
-
self.no_bounds_minimizers = []
|
|
161
|
-
|
|
162
|
-
# Used to check whether the fitting software has support for
|
|
163
|
-
# bounded problems, set as True if at least some minimizers
|
|
164
|
-
# in the fitting software have support for bounds
|
|
165
|
-
self.support_for_bounds = False
|
|
166
|
-
|
|
167
179
|
# The timer used to check if the 'max_runtime' is exceeded.
|
|
168
180
|
self.timer = cost_func.problem.timer
|
|
169
181
|
|
|
@@ -178,6 +190,9 @@ class Controller:
|
|
|
178
190
|
# save number of function evaluations
|
|
179
191
|
self.func_evals = None
|
|
180
192
|
|
|
193
|
+
# set default chain length for Bayesian minimizers
|
|
194
|
+
self.chain_length = 100000
|
|
195
|
+
|
|
181
196
|
@property
|
|
182
197
|
def flag(self):
|
|
183
198
|
"""
|
|
@@ -442,16 +457,21 @@ class Controller:
|
|
|
442
457
|
options
|
|
443
458
|
:type minimizer: str
|
|
444
459
|
"""
|
|
445
|
-
|
|
446
|
-
if (
|
|
460
|
+
if self.value_ranges is not None and (
|
|
447
461
|
self.support_for_bounds is False
|
|
448
462
|
or minimizer in self.no_bounds_minimizers
|
|
449
463
|
):
|
|
450
|
-
|
|
464
|
+
raise IncompatibleMinimizerError(
|
|
451
465
|
"The selected minimizer does not currently support "
|
|
452
466
|
"problems with parameter bounds"
|
|
453
467
|
)
|
|
454
|
-
|
|
468
|
+
|
|
469
|
+
if minimizer in self.bounds_required_minimizers and (
|
|
470
|
+
self.value_ranges is None or np.any(np.isinf(self.value_ranges))
|
|
471
|
+
):
|
|
472
|
+
raise MissingBoundsError(
|
|
473
|
+
f"{minimizer} requires finite bounds on all parameters"
|
|
474
|
+
)
|
|
455
475
|
|
|
456
476
|
def check_bounds_respected(self):
|
|
457
477
|
"""
|