FitBenchmarking 1.3.0__tar.gz → 1.4.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.3.0 → fitbenchmarking-1.4.0}/PKG-INFO +16 -14
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/README.md +8 -8
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cli/checkpoint_handler.py +15 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cli/main.py +17 -4
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/base_controller.py +2 -2
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/galahad_controller.py +15 -4
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/gradient_free_controller.py +2 -2
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/mantid_controller.py +10 -6
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/theseus_controller.py +9 -5
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/core/fitting_benchmarking.py +6 -5
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/core/results_output.py +21 -14
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/base_cost_func.py +2 -2
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/nlls_base_cost_func.py +2 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/base_parser.py +3 -1
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/fitbenchmark_parser.py +13 -8
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/fitting_problem.py +11 -6
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/horace_parser.py +37 -26
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/mantid_parser.py +1 -2
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/mantiddev_parser.py +4 -2
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/parser_factory.py +10 -4
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/sasview_parser.py +2 -0
- fitbenchmarking-1.4.0/fitbenchmarking/parsing/sscanss_parser.py +144 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/plots.py +271 -124
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/problem_summary_page.py +94 -74
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/tables.py +1 -1
- fitbenchmarking-1.4.0/fitbenchmarking/templates/js/plotly.js +3882 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/problem_summary_page_template.html +150 -148
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/checkpoint.py +5 -4
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/fitbm_result.py +17 -19
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/options.py +11 -2
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/pyproject.toml +7 -5
- fitbenchmarking-1.3.0/fitbenchmarking/templates/js/plotly.js +0 -3879
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/.gitignore +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/LICENSE.txt +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/__main__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/ENSO.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Gauss3.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Hahn1.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Kirby2.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Lanczos1.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Lanczos2.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/META.txt +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/MGH17.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Misra1c.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/Misra1d.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/ENSO.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/ENSO.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Gauss3.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Gauss3.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Hahn1.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Hahn1.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Kirby2.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Kirby2.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos1.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos1.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos2.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Lanczos2.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/MGH17.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/MGH17.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1c.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1c.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1d.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/average_difficulty/data_files/Misra1d.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Bennett5.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/BoxBOD.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Eckerle4.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/META.txt +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/MGH09.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/MGH10.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Rat42.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Rat43.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/Thurber.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Bennett5.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Bennett5.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/BoxBOD.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/BoxBOD.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Eckerle4.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Eckerle4.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH09.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH09.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH10.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/MGH10.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat42.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat42.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat43.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Rat43.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Thurber.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/high_difficulty/data_files/Thurber.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Chwirut1.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Chwirut2.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/DanWood.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Gauss1.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Gauss2.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Lanczos3.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/META.txt +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Misra1a.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/Misra1b.dat +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut1.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut1.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut2.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Chwirut2.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/DanWood.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/DanWood.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss1.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss1.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss2.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Gauss2.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Lanczos3.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Lanczos3.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1a.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1a.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1b.hes +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/benchmark_problems/NIST/low_difficulty/data_files/Misra1b.jac +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cli/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cli/exception_handler.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/bumps_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/ceres_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/controller_factory.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/dfo_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/gofit_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/gsl_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/horace_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/levmar_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/lmfit_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/matlab_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/matlab_curve_controller/eval_r.m +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/matlab_curve_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/matlab_mixin.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/matlab_opt_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/matlab_stats_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/minuit_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/nlopt_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/paramonte_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/ralfit_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/scipy_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/scipy_go_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/scipy_leastsq_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/scipy_ls_controller.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/core/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/cost_func_factory.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/hellinger_nlls_cost_func.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/loglike_nlls_cost_func.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/nlls_cost_func.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/poisson_cost_func.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/weighted_nlls_cost_func.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Bold.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-BoldItalic.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Italic.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Light.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-LightItalic.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Medium.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-MediumItalic.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/eot/FiraSans-Regular.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Bold.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-BoldItalic.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Italic.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Light.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-LightItalic.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Medium.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-MediumItalic.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/ttf/FiraSans-Regular.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Bold.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-BoldItalic.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Italic.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Light.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-LightItalic.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Medium.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-MediumItalic.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff/FiraSans-Regular.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Bold.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-BoldItalic.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Italic.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Light.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-LightItalic.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Medium.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-MediumItalic.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FiraSans/woff2/FiraSans-Regular.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.eot +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.svg +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.ttf +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/fonts/FontAwesome/fontawesome-webfont.woff2 +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/analytic_hessian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/base_hessian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/best_available_hessian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/hessian_factory.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/numdifftools_hessian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/hessian/scipy_hessian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/analytic_jacobian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/base_jacobian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/best_available_jacobian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/default_jacobian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/jacobian_factory.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/numdifftools_jacobian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/scipy_jacobian.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/jacobian/scripts/NIST-Jacobians.nb +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/bal_parser.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/hogben_parser.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/ivp_parser.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/nist_data_functions.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/parsing/nist_parser.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/acc_table.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/base_table.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/compare_table.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/energy_usage_table.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/fitting_report.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/local_min_table.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/performance_profiler.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/results_processing/runtime_table.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/css/custom_style.css +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/css/dropdown_style.css +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/css/main_style.css +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/css/math_style.css +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/css/table_style.css +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/fitting_report_template.html +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/images/accuracy.png +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/images/compare.png +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/images/energy.png +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/images/fitbenchmarking_logo.png +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/images/local_min.png +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/images/runtime.png +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/index_page.html +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/dropdown.js +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/table.js +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/js/tex-mml-chtml.js +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/problem_index_page.html +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/style_sheet.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/templates/table_template.html +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/__init__.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/create_dirs.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/debug.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/exceptions.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/log.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/matlab_engine.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/misc.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/output_grabber.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/timer.py +0 -0
- {fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/utils/write_files.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: FitBenchmarking
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.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
|
|
@@ -13,7 +13,7 @@ Keywords: benchmark,comparison,fitting,least squares,optimisation
|
|
|
13
13
|
Classifier: License :: OSI Approved :: BSD License
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Requires-Python: >=3.
|
|
16
|
+
Requires-Python: >=3.10.1
|
|
17
17
|
Requires-Dist: codecarbon<2.7,>=2.5.1
|
|
18
18
|
Requires-Dist: configparser
|
|
19
19
|
Requires-Dist: dash
|
|
@@ -23,11 +23,11 @@ Requires-Dist: lxml
|
|
|
23
23
|
Requires-Dist: matplotlib>=2.0
|
|
24
24
|
Requires-Dist: numpy
|
|
25
25
|
Requires-Dist: pandas>=1.3
|
|
26
|
-
Requires-Dist: plotly>=
|
|
27
|
-
Requires-Dist: scipy
|
|
26
|
+
Requires-Dist: plotly>=6.6.0
|
|
27
|
+
Requires-Dist: scipy<1.16.0,>=0.18
|
|
28
28
|
Requires-Dist: tqdm>=4.60
|
|
29
29
|
Provides-Extra: bumps
|
|
30
|
-
Requires-Dist: bumps
|
|
30
|
+
Requires-Dist: bumps<1.0.0; extra == 'bumps'
|
|
31
31
|
Provides-Extra: dev
|
|
32
32
|
Requires-Dist: coverage[toml]>=6.3; extra == 'dev'
|
|
33
33
|
Requires-Dist: coveralls; extra == 'dev'
|
|
@@ -40,10 +40,12 @@ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
|
40
40
|
Requires-Dist: ruff; extra == 'dev'
|
|
41
41
|
Provides-Extra: dfo
|
|
42
42
|
Requires-Dist: dfo-ls; extra == 'dfo'
|
|
43
|
+
Provides-Extra: galahad
|
|
44
|
+
Requires-Dist: galahad-optrove; extra == 'galahad'
|
|
43
45
|
Provides-Extra: gofit
|
|
44
46
|
Requires-Dist: gofit; extra == 'gofit'
|
|
45
47
|
Provides-Extra: gradient-free
|
|
46
|
-
Requires-Dist: gradient-free-optimizers; extra == 'gradient-free'
|
|
48
|
+
Requires-Dist: gradient-free-optimizers[sklearn]; extra == 'gradient-free'
|
|
47
49
|
Provides-Extra: hogben
|
|
48
50
|
Requires-Dist: hogben; extra == 'hogben'
|
|
49
51
|
Provides-Extra: levmar
|
|
@@ -69,22 +71,22 @@ Requires-Dist: sasmodels; extra == 'sas'
|
|
|
69
71
|
Requires-Dist: tinycc; (platform_system == 'Windows') and extra == 'sas'
|
|
70
72
|
Description-Content-Type: text/markdown
|
|
71
73
|
|
|
72
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.
|
|
73
|
-
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.
|
|
74
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/release.yml?query=branch%3Av1.4.0)
|
|
75
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.4.0)
|
|
74
76
|
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/install.yml)
|
|
75
|
-
[](https://fitbenchmarking.readthedocs.io/en/v1.4.0)
|
|
76
78
|
[](https://coveralls.io/github/fitbenchmarking/fitbenchmarking)
|
|
77
79
|
[](https://slack.com/)
|
|
78
|
-
[](https://zenodo.org/records/15546207)
|
|
79
81
|
[](https://doi.org/10.21105/joss.03127)
|
|
80
82
|
# FitBenchmarking
|
|
81
83
|
|
|
82
84
|
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.
|
|
83
85
|
|
|
84
|
-
- **Installation Instructions:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
85
|
-
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
86
|
-
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.
|
|
87
|
-
- **Automated Tests:** Run via GitHub Actions, https://github.com/fitbenchmarking/fitbenchmarking/actions, and tests are documented at https://fitbenchmarking.readthedocs.io/en/v1.
|
|
86
|
+
- **Installation Instructions:** https://fitbenchmarking.readthedocs.io/en/v1.4.0/users/install_instructions/index.html
|
|
87
|
+
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.4.0/users/index.html
|
|
88
|
+
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.4.0/contributors/guidelines.html
|
|
89
|
+
- **Automated Tests:** Run via GitHub Actions, https://github.com/fitbenchmarking/fitbenchmarking/actions, and tests are documented at https://fitbenchmarking.readthedocs.io/en/v1.4.0/users/tests.html
|
|
88
90
|
|
|
89
91
|
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:
|
|
90
92
|
|
|
@@ -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.4.0)
|
|
2
|
+
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/main.yml?query=branch%3Av1.4.0)
|
|
3
3
|
[](https://github.com/fitbenchmarking/fitbenchmarking/actions/workflows/install.yml)
|
|
4
|
-
[](https://fitbenchmarking.readthedocs.io/en/v1.4.0)
|
|
5
5
|
[](https://coveralls.io/github/fitbenchmarking/fitbenchmarking)
|
|
6
6
|
[](https://slack.com/)
|
|
7
|
-
[](https://zenodo.org/records/15546207)
|
|
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.4.0/users/install_instructions/index.html
|
|
14
|
+
- **User Documentation & Example Usage:** https://fitbenchmarking.readthedocs.io/en/v1.4.0/users/index.html
|
|
15
|
+
- **Community Guidelines:** https://fitbenchmarking.readthedocs.io/en/v1.4.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.4.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
|
|
|
@@ -11,6 +11,7 @@ import os
|
|
|
11
11
|
import sys
|
|
12
12
|
import textwrap
|
|
13
13
|
from argparse import ArgumentParser, RawDescriptionHelpFormatter
|
|
14
|
+
from collections import defaultdict
|
|
14
15
|
|
|
15
16
|
from fitbenchmarking.cli.exception_handler import exception_handler
|
|
16
17
|
from fitbenchmarking.core.results_output import (
|
|
@@ -155,6 +156,20 @@ def generate_report(options_file="", additional_options=None, debug=False):
|
|
|
155
156
|
checkpoint = Checkpoint(options=options)
|
|
156
157
|
results, unselected_minimizers, failed_problems, config = checkpoint.load()
|
|
157
158
|
|
|
159
|
+
# Update options.software and options.minimizers
|
|
160
|
+
# so that they hold the correct values rather than
|
|
161
|
+
# the default. This update is necessary for processing
|
|
162
|
+
# the multstart plots.
|
|
163
|
+
set_minimizers = defaultdict(set)
|
|
164
|
+
for results_list in results.values():
|
|
165
|
+
for r in results_list:
|
|
166
|
+
set_minimizers[r.software].add(r.minimizer)
|
|
167
|
+
minimizers = defaultdict(
|
|
168
|
+
list, {k: list(v) for k, v in set_minimizers.items()}
|
|
169
|
+
)
|
|
170
|
+
options.software = list(minimizers.keys())
|
|
171
|
+
options.minimizers = minimizers
|
|
172
|
+
|
|
158
173
|
all_dirs = []
|
|
159
174
|
pp_dfs_all_prob_sets = {}
|
|
160
175
|
for label in results:
|
|
@@ -178,6 +178,14 @@ of the Fitbenchmarking docs. """
|
|
|
178
178
|
help="Set the port for Dash.",
|
|
179
179
|
)
|
|
180
180
|
|
|
181
|
+
parser.add_argument(
|
|
182
|
+
"--ip_address",
|
|
183
|
+
metavar="IP_ADDRESS",
|
|
184
|
+
type=str,
|
|
185
|
+
default="",
|
|
186
|
+
help="Set the ip address for Dash.",
|
|
187
|
+
)
|
|
188
|
+
|
|
181
189
|
make_plots_group = parser.add_mutually_exclusive_group()
|
|
182
190
|
make_plots_group.add_argument(
|
|
183
191
|
"--make_plots",
|
|
@@ -296,7 +304,8 @@ of the Fitbenchmarking docs. """
|
|
|
296
304
|
default="",
|
|
297
305
|
help=(
|
|
298
306
|
"Specify the minimum level of logging to display "
|
|
299
|
-
"on console during runtime."
|
|
307
|
+
"on console during runtime. Can be any of: "
|
|
308
|
+
"NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL ."
|
|
300
309
|
),
|
|
301
310
|
)
|
|
302
311
|
parser.add_argument(
|
|
@@ -304,7 +313,10 @@ of the Fitbenchmarking docs. """
|
|
|
304
313
|
"--external_output",
|
|
305
314
|
metavar="EXTERNAL_OUTPUT",
|
|
306
315
|
default="",
|
|
307
|
-
help=
|
|
316
|
+
help=(
|
|
317
|
+
"Select the amount of information displayed from third-parties. "
|
|
318
|
+
"Can be any of: display, log_only, debug."
|
|
319
|
+
),
|
|
308
320
|
)
|
|
309
321
|
|
|
310
322
|
parser.add_argument(
|
|
@@ -312,7 +324,7 @@ of the Fitbenchmarking docs. """
|
|
|
312
324
|
default=False,
|
|
313
325
|
action="store_true",
|
|
314
326
|
help=(
|
|
315
|
-
"Load results from the checkpoint and generate"
|
|
327
|
+
"Load results from the checkpoint and generate "
|
|
316
328
|
"reports. Will not run any new tests."
|
|
317
329
|
),
|
|
318
330
|
)
|
|
@@ -340,7 +352,7 @@ of the Fitbenchmarking docs. """
|
|
|
340
352
|
"--check_jacobian",
|
|
341
353
|
action="store_true",
|
|
342
354
|
help=(
|
|
343
|
-
"Use this option to check the jacobian against"
|
|
355
|
+
"Use this option to check the jacobian against "
|
|
344
356
|
"a finite difference approximation."
|
|
345
357
|
),
|
|
346
358
|
)
|
|
@@ -541,6 +553,7 @@ def main():
|
|
|
541
553
|
"run_name": args.run_name,
|
|
542
554
|
"runtime_metric": args.runtime_metric,
|
|
543
555
|
"port": args.port,
|
|
556
|
+
"ip_address": args.ip_address,
|
|
544
557
|
}
|
|
545
558
|
|
|
546
559
|
# Check if make_plots in options.py should be overridden, and if so,
|
{fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/base_controller.py
RENAMED
|
@@ -46,7 +46,7 @@ class Controller:
|
|
|
46
46
|
#: - ``general`` - minimizers which solve a generic `min f(x)`
|
|
47
47
|
#: - ``simplex`` - derivative free simplex based algorithms
|
|
48
48
|
#: e.g. Nelder-Mead
|
|
49
|
-
#: - ``trust_region`` - algorithms which
|
|
49
|
+
#: - ``trust_region`` - algorithms which employ a trust region approach
|
|
50
50
|
#: - ``levenberg-marquardt`` - minimizers that use the
|
|
51
51
|
#: Levenberg-Marquardt algorithm
|
|
52
52
|
#: - ``gauss_newton`` - minimizers that use the Gauss Newton algorithm
|
|
@@ -62,7 +62,7 @@ class Controller:
|
|
|
62
62
|
#:
|
|
63
63
|
#: The ``algorithm_check`` dictionary is used to determine which minimizers
|
|
64
64
|
#: to run given the ``algorithm_type`` selected in Fitting Options.
|
|
65
|
-
#: For guidance on how to
|
|
65
|
+
#: For guidance on how to categorise minimizers, see the Optimization
|
|
66
66
|
#: Algorithms section of the FitBenchmarking docs.
|
|
67
67
|
algorithm_check = {
|
|
68
68
|
"all": [],
|
{fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/galahad_controller.py
RENAMED
|
@@ -3,7 +3,7 @@ Implements a controller for the GALAHAD fitting software.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from contextlib import suppress
|
|
6
|
-
from typing import
|
|
6
|
+
from typing import TYPE_CHECKING, Any
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
9
|
from galahad import arc, bgo, dgo, nls, trb, tru
|
|
@@ -11,6 +11,9 @@ from galahad import arc, bgo, dgo, nls, trb, tru
|
|
|
11
11
|
from fitbenchmarking.controllers.base_controller import Controller
|
|
12
12
|
from fitbenchmarking.utils.exceptions import IncompatibleMinimizerError
|
|
13
13
|
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from collections.abc import Callable
|
|
16
|
+
|
|
14
17
|
|
|
15
18
|
class GalahadController(Controller):
|
|
16
19
|
"""
|
|
@@ -94,15 +97,23 @@ class GalahadController(Controller):
|
|
|
94
97
|
x_u = np.array(x_u)
|
|
95
98
|
|
|
96
99
|
opts = self._module.initialize()
|
|
100
|
+
|
|
101
|
+
if minimizer in ["arc", "nls"]:
|
|
102
|
+
opts["glrt_options"]["impose_descent"] = False
|
|
103
|
+
|
|
97
104
|
kwargs: dict[str, Any] = {
|
|
98
105
|
"options": opts,
|
|
99
106
|
}
|
|
100
107
|
|
|
101
108
|
if minimizer in ["arc", "tru"]:
|
|
109
|
+
if not has_hessian:
|
|
110
|
+
raise IncompatibleMinimizerError(
|
|
111
|
+
"Requires hessian information (for now)"
|
|
112
|
+
)
|
|
102
113
|
kwargs.update(
|
|
103
114
|
{
|
|
104
115
|
"n": self._num_vars,
|
|
105
|
-
"H_type": "dense"
|
|
116
|
+
"H_type": "dense",
|
|
106
117
|
"H_ne": 10,
|
|
107
118
|
"H_row": None,
|
|
108
119
|
"H_col": None,
|
|
@@ -123,7 +134,7 @@ class GalahadController(Controller):
|
|
|
123
134
|
}
|
|
124
135
|
)
|
|
125
136
|
|
|
126
|
-
elif minimizer
|
|
137
|
+
elif minimizer == "nls":
|
|
127
138
|
if not has_hessian:
|
|
128
139
|
raise IncompatibleMinimizerError(
|
|
129
140
|
"Requires hessian information (for now)"
|
|
@@ -178,7 +189,7 @@ class GalahadController(Controller):
|
|
|
178
189
|
"eval_g": self._jacobian,
|
|
179
190
|
"eval_h": self._hessian,
|
|
180
191
|
}
|
|
181
|
-
elif self._minimizer
|
|
192
|
+
elif self._minimizer == "nls":
|
|
182
193
|
m = self.data_x.shape[0]
|
|
183
194
|
kwargs = {
|
|
184
195
|
"n": self._num_vars,
|
|
@@ -125,7 +125,7 @@ class GradientFreeController(Controller):
|
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
self.iteration_count = 1000
|
|
128
|
-
self.initialize = {"warm_start": param_dict}
|
|
128
|
+
self.initialize = {"warm_start": [param_dict]}
|
|
129
129
|
|
|
130
130
|
def _feval(self, p):
|
|
131
131
|
"""
|
|
@@ -152,7 +152,7 @@ class GradientFreeController(Controller):
|
|
|
152
152
|
|
|
153
153
|
method_to_call = getattr(gfo, self.minimizer)
|
|
154
154
|
|
|
155
|
-
opt = method_to_call(self.search_space)
|
|
155
|
+
opt = method_to_call(self.search_space, initialize=self.initialize)
|
|
156
156
|
opt.search(self._feval, n_iter=self.iteration_count, verbosity=False)
|
|
157
157
|
self.results = opt.best_para
|
|
158
158
|
self._status = 0 if self.results is not None else 1
|
{fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/mantid_controller.py
RENAMED
|
@@ -3,7 +3,6 @@ Implements a controller for the Mantid fitting software.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from itertools import repeat
|
|
6
|
-
from typing import Union
|
|
7
6
|
|
|
8
7
|
import numpy as np
|
|
9
8
|
from mantid import simpleapi as msapi
|
|
@@ -85,6 +84,7 @@ class MantidController(Controller):
|
|
|
85
84
|
]
|
|
86
85
|
|
|
87
86
|
support_for_bounds = True
|
|
87
|
+
incompatible_problems = ["sscanss"]
|
|
88
88
|
|
|
89
89
|
def __init__(self, cost_func):
|
|
90
90
|
"""
|
|
@@ -125,6 +125,8 @@ class MantidController(Controller):
|
|
|
125
125
|
)
|
|
126
126
|
|
|
127
127
|
if self.problem.multifit:
|
|
128
|
+
if self.data_x[0].dtype not in [float, int]:
|
|
129
|
+
self.data_x = [np.array(range(len(d))) for d in self.data_x]
|
|
128
130
|
# len(data_obj) will be equal to dataset count
|
|
129
131
|
data_obj = [
|
|
130
132
|
msapi.CreateWorkspace(
|
|
@@ -142,6 +144,8 @@ class MantidController(Controller):
|
|
|
142
144
|
for i, v in enumerate(data_obj[1:])
|
|
143
145
|
}
|
|
144
146
|
else:
|
|
147
|
+
if self.data_x.dtype not in [float, int]:
|
|
148
|
+
self.data_x = np.array(range(len(self.data_x)))
|
|
145
149
|
data_obj = msapi.CreateWorkspace(
|
|
146
150
|
DataX=self.data_x, DataY=self.data_y, DataE=self.data_e
|
|
147
151
|
)
|
|
@@ -405,11 +409,11 @@ class MantidController(Controller):
|
|
|
405
409
|
# =====================
|
|
406
410
|
def eval_chisq(
|
|
407
411
|
self,
|
|
408
|
-
params:
|
|
409
|
-
x:
|
|
410
|
-
y:
|
|
411
|
-
e:
|
|
412
|
-
) ->
|
|
412
|
+
params: float | list[float],
|
|
413
|
+
x: np.ndarray | list[np.ndarray] | None = None,
|
|
414
|
+
y: np.ndarray | list[np.ndarray] | None = None,
|
|
415
|
+
e: np.ndarray | list[np.ndarray] | None = None,
|
|
416
|
+
) -> np.ndarray | list[np.ndarray]:
|
|
413
417
|
"""
|
|
414
418
|
Computes the chisq value.
|
|
415
419
|
If multi-fit inputs will be lists and this will return a list of chi
|
{fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/controllers/theseus_controller.py
RENAMED
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
Implements a controller for the Theseus fitting software.
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import TYPE_CHECKING
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from collections.abc import Sequence
|
|
7
11
|
|
|
8
12
|
import numpy as np
|
|
9
13
|
import theseus as th
|
|
@@ -24,8 +28,8 @@ class TheseusCostFunction(th.CostFunction):
|
|
|
24
28
|
var: list[th.Vector],
|
|
25
29
|
auxvar: Sequence[th.Variable],
|
|
26
30
|
dim: int,
|
|
27
|
-
cost_weight:
|
|
28
|
-
name:
|
|
31
|
+
cost_weight: th.CostWeight | None = None,
|
|
32
|
+
name: str | None = None,
|
|
29
33
|
):
|
|
30
34
|
if cost_weight is None:
|
|
31
35
|
cost_weight = th.ScaleCostWeight(1.0)
|
|
@@ -79,7 +83,7 @@ class TheseusCostFunction(th.CostFunction):
|
|
|
79
83
|
"""
|
|
80
84
|
return self._dim
|
|
81
85
|
|
|
82
|
-
def _copy_impl(self, new_name:
|
|
86
|
+
def _copy_impl(self, new_name: str | None = None):
|
|
83
87
|
return TheseusCostFunction( # type: ignore
|
|
84
88
|
var=[v.copy() for v in self.var],
|
|
85
89
|
auxvar=[v.copy() for v in self.auxvar],
|
{fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/core/fitting_benchmarking.py
RENAMED
|
@@ -108,13 +108,14 @@ class Fit:
|
|
|
108
108
|
try:
|
|
109
109
|
with self._grabbed_output:
|
|
110
110
|
parsed = parse_problem_file(p, self._options)
|
|
111
|
-
parsed.correct_data()
|
|
112
111
|
except FitBenchmarkException as e:
|
|
113
112
|
LOGGER.info("Could not parse problem from: %s", p)
|
|
114
113
|
LOGGER.warning(e)
|
|
115
114
|
else:
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
for fp in parsed:
|
|
116
|
+
fp.correct_data()
|
|
117
|
+
name_count[fp.name] = name_count.get(fp.name, 0) + 1
|
|
118
|
+
problems.append((p, fp))
|
|
118
119
|
|
|
119
120
|
LOGGER.info("Running problems")
|
|
120
121
|
|
|
@@ -141,7 +142,7 @@ class Fit:
|
|
|
141
142
|
|
|
142
143
|
info_str = (
|
|
143
144
|
f" Running data from: {os.path.basename(fname)}"
|
|
144
|
-
f" {i + 1}/{len(
|
|
145
|
+
f" {i + 1}/{len(problems)} "
|
|
145
146
|
)
|
|
146
147
|
LOGGER.info("\n%s", "#" * len(info_str))
|
|
147
148
|
LOGGER.info(info_str)
|
|
@@ -413,7 +414,7 @@ class Fit:
|
|
|
413
414
|
LOGGER.info(
|
|
414
415
|
"%sJacobian: %s",
|
|
415
416
|
self._logger_prefix * 5,
|
|
416
|
-
jacobian.name()
|
|
417
|
+
jacobian.name() or "default",
|
|
417
418
|
)
|
|
418
419
|
|
|
419
420
|
if (
|
|
@@ -9,7 +9,6 @@ import platform
|
|
|
9
9
|
import re
|
|
10
10
|
import webbrowser
|
|
11
11
|
from shutil import copytree
|
|
12
|
-
from typing import Optional, Union
|
|
13
12
|
|
|
14
13
|
import pandas as pd
|
|
15
14
|
from dash import Dash, dcc, html
|
|
@@ -164,7 +163,7 @@ def preprocess_data(results: list[FittingResult]):
|
|
|
164
163
|
col_sections = ["costfun"]
|
|
165
164
|
|
|
166
165
|
# Generate the columns, category, and row tags and sort
|
|
167
|
-
rows:
|
|
166
|
+
rows: list[str] | set[str] = set()
|
|
168
167
|
columns = {}
|
|
169
168
|
for r in results:
|
|
170
169
|
# Error 4 means none of the jacobians ran so can't infer the
|
|
@@ -192,7 +191,7 @@ def preprocess_data(results: list[FittingResult]):
|
|
|
192
191
|
}
|
|
193
192
|
|
|
194
193
|
# Build the sorted results dictionary
|
|
195
|
-
sorted_results: dict[str, dict[str, list[
|
|
194
|
+
sorted_results: dict[str, dict[str, list[FittingResult | None]]] = {
|
|
196
195
|
r.strip(":"): {
|
|
197
196
|
k: [None for _ in category] for k, category in columns.items()
|
|
198
197
|
}
|
|
@@ -363,7 +362,6 @@ def create_plots(options, results, best_results, figures_dir):
|
|
|
363
362
|
"""
|
|
364
363
|
for best_dict, prob_result in zip(best_results.values(), results.values()):
|
|
365
364
|
plot_dict = {}
|
|
366
|
-
initial_guess_path = {}
|
|
367
365
|
data = {}
|
|
368
366
|
|
|
369
367
|
# Create a dataframe for each problem
|
|
@@ -439,9 +437,6 @@ def create_plots(options, results, best_results, figures_dir):
|
|
|
439
437
|
result.figure_error = str(e)
|
|
440
438
|
continue
|
|
441
439
|
|
|
442
|
-
# Create a plot showing the initial guess and get filename
|
|
443
|
-
initial_guess_path[cf] = plot.plot_initial_guess(data[cf])
|
|
444
|
-
|
|
445
440
|
# Get filenames of best plot first
|
|
446
441
|
# If none of the fits succeeded, params could be None
|
|
447
442
|
# Otherwise, add the best fit to the plot
|
|
@@ -452,7 +447,6 @@ def create_plots(options, results, best_results, figures_dir):
|
|
|
452
447
|
best_dict[
|
|
453
448
|
cf
|
|
454
449
|
].figure_error = "Minimizer failed to produce any parameters"
|
|
455
|
-
best_dict[cf].start_figure_link = initial_guess_path[cf]
|
|
456
450
|
plot_dict[cf] = plot
|
|
457
451
|
|
|
458
452
|
plot_paths = plot.plotly_fit(data[cf])
|
|
@@ -469,7 +463,6 @@ def create_plots(options, results, best_results, figures_dir):
|
|
|
469
463
|
result.figure_error = (
|
|
470
464
|
"Minimizer failed to produce any parameters"
|
|
471
465
|
)
|
|
472
|
-
result.start_figure_link = initial_guess_path[cf]
|
|
473
466
|
|
|
474
467
|
# For each result, if it succeeded and produced posterior pdf estimates
|
|
475
468
|
# for each parameter, create histogram plots and add plot links to the
|
|
@@ -634,7 +627,7 @@ def open_browser(output_file: str, options, pp_dfs_all_prob_sets) -> None:
|
|
|
634
627
|
)
|
|
635
628
|
|
|
636
629
|
if options.run_dash:
|
|
637
|
-
|
|
630
|
+
prepare_dash_app_and_run(options, pp_dfs_all_prob_sets)
|
|
638
631
|
|
|
639
632
|
|
|
640
633
|
def update_warning(solvers, max_solvers):
|
|
@@ -754,10 +747,10 @@ def display_page(
|
|
|
754
747
|
return html.Div(new_layout)
|
|
755
748
|
|
|
756
749
|
|
|
757
|
-
def
|
|
750
|
+
def prepare_dash_app_and_run(options, pp_dfs_all_prob_sets) -> None:
|
|
758
751
|
"""
|
|
759
|
-
|
|
760
|
-
plots.
|
|
752
|
+
Prepares the Dash app to produce the interactive performance profile
|
|
753
|
+
plots, and calls the function to run it.
|
|
761
754
|
|
|
762
755
|
:param options: The user options for the benchmark.
|
|
763
756
|
:type options: fitbenchmarking.utils.options.Options
|
|
@@ -866,4 +859,18 @@ def run_dash_app(options, pp_dfs_all_prob_sets) -> None:
|
|
|
866
859
|
)
|
|
867
860
|
)
|
|
868
861
|
|
|
869
|
-
app.
|
|
862
|
+
run_dash_app(app=app, host=options.ip_address, port=options.port)
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
def run_dash_app(app, host, port):
|
|
866
|
+
"""
|
|
867
|
+
Runs the Dash app.
|
|
868
|
+
|
|
869
|
+
:param host: The dash app to run
|
|
870
|
+
:type host: dash.dash.Dash
|
|
871
|
+
:param host: The ip address where to run the app.
|
|
872
|
+
:type host: str
|
|
873
|
+
:param port: The port where to run the app.
|
|
874
|
+
:type port: str
|
|
875
|
+
"""
|
|
876
|
+
app.run(host=host, port=port)
|
|
@@ -3,7 +3,7 @@ Implements the base class for the cost function class.
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
from abc import ABCMeta, abstractmethod
|
|
6
|
-
from typing import TYPE_CHECKING
|
|
6
|
+
from typing import TYPE_CHECKING
|
|
7
7
|
|
|
8
8
|
from fitbenchmarking.utils.exceptions import IncompatibleMinimizerError
|
|
9
9
|
|
|
@@ -32,7 +32,7 @@ class CostFunc:
|
|
|
32
32
|
self.problem: FittingProblem = problem
|
|
33
33
|
|
|
34
34
|
# The Jacobian object to evaluate
|
|
35
|
-
self.jacobian:
|
|
35
|
+
self.jacobian: Jacobian | None = None
|
|
36
36
|
|
|
37
37
|
# The Hessian object to evaluate
|
|
38
38
|
self.hessian = None
|
{fitbenchmarking-1.3.0 → fitbenchmarking-1.4.0}/fitbenchmarking/cost_func/nlls_base_cost_func.py
RENAMED
|
@@ -77,8 +77,10 @@ class BaseNLLSCostFunc(CostFunc):
|
|
|
77
77
|
Uses the Jacobian of the model to evaluate the Jacobian of the
|
|
78
78
|
cost function, :math:`\\nabla_p F(r(x,y,p))`, at the given
|
|
79
79
|
parameters.
|
|
80
|
+
|
|
80
81
|
:param params: The parameters at which to calculate Jacobians
|
|
81
82
|
:type params: list
|
|
83
|
+
|
|
82
84
|
:return: evaluated Jacobian of the cost function
|
|
83
85
|
:rtype: 1D numpy array
|
|
84
86
|
"""
|
|
@@ -5,6 +5,8 @@ Implements the base Parser as a Context Manager.
|
|
|
5
5
|
import contextlib
|
|
6
6
|
from abc import ABCMeta, abstractmethod
|
|
7
7
|
|
|
8
|
+
from fitbenchmarking.parsing.fitting_problem import FittingProblem
|
|
9
|
+
|
|
8
10
|
|
|
9
11
|
class Parser:
|
|
10
12
|
"""
|
|
@@ -56,7 +58,7 @@ class Parser:
|
|
|
56
58
|
self.file.close()
|
|
57
59
|
|
|
58
60
|
@abstractmethod
|
|
59
|
-
def parse(self):
|
|
61
|
+
def parse(self) -> FittingProblem | list[FittingProblem]:
|
|
60
62
|
"""
|
|
61
63
|
Parse the file into a FittingProblem.
|
|
62
64
|
|