nested-fit 5.6.1.dev111__tar.gz → 5.6.2.dev113__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.
Files changed (219) hide show
  1. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/.github/dependabot.yml +8 -8
  2. nested_fit-5.6.2.dev113/PKG-INFO +568 -0
  3. nested_fit-5.6.2.dev113/nested_fit.egg-info/PKG-INFO +568 -0
  4. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pyproject.toml +3 -2
  5. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/funceval/latex_parser.cpp +72 -11
  6. nested_fit-5.6.1.dev111/PKG-INFO +0 -23
  7. nested_fit-5.6.1.dev111/nested_fit.egg-info/PKG-INFO +0 -23
  8. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/.github/workflows/build_wheels.yml +0 -0
  9. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/.gitignore +0 -0
  10. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/CMakeLists.txt +0 -0
  11. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/LICENSE +0 -0
  12. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/README.md +0 -0
  13. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/STEPBYSTEP_INSTALL.md +0 -0
  14. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/ThirdParty.md +0 -0
  15. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/cmake/resman.cmake +0 -0
  16. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/cmake/write_manifest.cmake +0 -0
  17. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/README.md +0 -0
  18. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/RANDOM_WALK/he-histo.dat +0 -0
  19. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/RANDOM_WALK/nf_input.yaml +0 -0
  20. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/RANDOM_WALK_NO_DB/he-histo.dat +0 -0
  21. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/RANDOM_WALK_NO_DB/nf_input.yaml +0 -0
  22. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/RANDOM_WALK_SYN/he-histo.dat +0 -0
  23. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/RANDOM_WALK_SYN/nf_input.yaml +0 -0
  24. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/README.txt +0 -0
  25. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_hard_writing/he-histo.dat +0 -0
  26. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_hard_writing/nf_input.yaml +0 -0
  27. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_input/he-histo.dat +0 -0
  28. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_input/nf_input.yaml +0 -0
  29. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_no_points_file/he-histo.dat +0 -0
  30. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_no_points_file/nf_input.yaml +0 -0
  31. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_no_stat/he-histo.dat +0 -0
  32. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/internal_func_no_stat/nf_input.yaml +0 -0
  33. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/latex_func_input/he-histo.dat +0 -0
  34. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/latex_func_input/nf_input.yaml +0 -0
  35. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/legacy_func_input/he-histo.dat +0 -0
  36. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/01_simple_example/legacy_func_input/nf_input.yaml +0 -0
  37. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/02_error_bars_data/README.txt +0 -0
  38. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/02_error_bars_data/eb_gauss_bg-x0_300-sigma_20-A_20000-p_to_bg_0.05-bin_1.dat +0 -0
  39. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/02_error_bars_data/nf_input.yaml +0 -0
  40. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-RANDOM_WALK_SYN/he-histo.dat +0 -0
  41. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  42. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-SLICE_SAMPLING/he-histo.dat +0 -0
  43. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-SLICE_SAMPLING/nf_input.yaml +0 -0
  44. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/KNN-RANDOM_WALK_SYN/he-histo.dat +0 -0
  45. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/KNN-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  46. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/KNN-SLICE_SAMPLING/he-histo.dat +0 -0
  47. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/KNN-SLICE_SAMPLING/nf_input.yaml +0 -0
  48. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/README.txt +0 -0
  49. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/agglomerative-RANDOM_WALK_SYN/he-histo.dat +0 -0
  50. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/agglomerative-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  51. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/agglomerative-SLICE_SAMPLING/he-histo.dat +0 -0
  52. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/agglomerative-SLICE_SAMPLING/nf_input.yaml +0 -0
  53. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/mean-shift-RANDOM_WALK_SYN/he-histo.dat +0 -0
  54. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/mean-shift-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  55. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/mean-shift-SLICE_SAMPLING/he-histo.dat +0 -0
  56. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/03_with_cluster_analysis/mean-shift-SLICE_SAMPLING/nf_input.yaml +0 -0
  57. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/04_set_of_datafiles/latex_func_input/gauss_bg-x0_300-sigma_20-A_300-p_to_bg_20-bin_1.dat +0 -0
  58. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/04_set_of_datafiles/latex_func_input/gauss_bg-x0_310-sigma_20-A_150-p_to_bg_10-bin_1.dat +0 -0
  59. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/04_set_of_datafiles/latex_func_input/nf_input.yaml +0 -0
  60. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/04_set_of_datafiles/legacy_func_input/gauss_bg-x0_300-sigma_20-A_300-p_to_bg_20-bin_1.dat +0 -0
  61. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/04_set_of_datafiles/legacy_func_input/gauss_bg-x0_310-sigma_20-A_150-p_to_bg_10-bin_1.dat +0 -0
  62. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/04_set_of_datafiles/legacy_func_input/nf_input.yaml +0 -0
  63. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/05_data_2D/README.txt +0 -0
  64. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/05_data_2D/nf_input.yaml +0 -0
  65. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/05_data_2D/test_matrix.dat +0 -0
  66. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/06_interpolation_function/ginterp.csv +0 -0
  67. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/06_interpolation_function/interp.csv +0 -0
  68. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/06_interpolation_function/nf_input.yaml +0 -0
  69. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/data_analysis/06_interpolation_function/pynf_interp.ipynb +0 -0
  70. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/function_integration/07_func_GAUSS/hard_writing/nf_input.yaml +0 -0
  71. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/function_integration/07_func_GAUSS/no_hard_writing/nf_input.yaml +0 -0
  72. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/function_integration/08_func_EGGBOX/nf_input.yaml +0 -0
  73. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/.ipynb_checkpoints/pandas_extended_analysis-checkpoint.ipynb +0 -0
  74. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/.ipynb_checkpoints/simple_analysis_visu-checkpoint.ipynb +0 -0
  75. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/pandas_extended_analysis.ipynb +0 -0
  76. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/pynf_interp.ipynb +0 -0
  77. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/quick_start_with_google_colab.ipynb +0 -0
  78. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_1gauss_bg/he-histo.dat +0 -0
  79. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_1gauss_bg/nf_input.yaml +0 -0
  80. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_2gauss_bg/he-histo.dat +0 -0
  81. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_2gauss_bg/nf_input.yaml +0 -0
  82. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_3gauss_bg/.ipynb_checkpoints/he-histo-checkpoint.dat +0 -0
  83. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_3gauss_bg/.ipynb_checkpoints/nf_input-checkpoint.dat +0 -0
  84. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_3gauss_bg/.ipynb_checkpoints/nf_input-checkpoint.yaml +0 -0
  85. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_3gauss_bg/he-histo.dat +0 -0
  86. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_3gauss_bg/nf_input.yaml +0 -0
  87. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_4gauss_bg/he-histo.dat +0 -0
  88. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/res_4gauss_bg/nf_input.yaml +0 -0
  89. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/set_of_datafiles/README.txt +0 -0
  90. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/set_of_datafiles/gauss_bg-x0_300-sigma_20-A_300-p_to_bg_20-bin_1.dat +0 -0
  91. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/set_of_datafiles/gauss_bg-x0_310-sigma_20-A_150-p_to_bg_10-bin_1.dat +0 -0
  92. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/set_of_datafiles/nf_input.yaml +0 -0
  93. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/set_of_files_analysis.ipynb +0 -0
  94. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/simple_analysis_visu.ipynb +0 -0
  95. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/jupyter_notebooks/simple_visualisation.ipynb +0 -0
  96. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/native_functions/example.cpp +0 -0
  97. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/native_functions/example.f90 +0 -0
  98. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/potential_exploration/09_ENERGY_HARM_3D/hard_writing/nf_energy.txt +0 -0
  99. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/potential_exploration/09_ENERGY_HARM_3D/hard_writing/nf_input.yaml +0 -0
  100. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/potential_exploration/09_ENERGY_HARM_3D/no_hard_writing/nf_energy.txt +0 -0
  101. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/potential_exploration/09_ENERGY_HARM_3D/no_hard_writing/nf_input.yaml +0 -0
  102. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/potential_exploration/10_Q_ENERGY_HARM_3D/hard_writing/nf_input.yaml +0 -0
  103. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/examples/potential_exploration/10_Q_ENERGY_HARM_3D/no_hard_writing/nf_input.yaml +0 -0
  104. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/.DS_Store +0 -0
  105. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercices_ICFO/ICFO2024_nested_fit_tutorial.ipynb +0 -0
  106. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercices_ICFO/res_1gauss_bg/he-histo.dat +0 -0
  107. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercices_ICFO/res_1gauss_bg/nf_input.yaml +0 -0
  108. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/exercises_quantitative_xray_spectroscopy.ipynb +0 -0
  109. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/with_U_1000_counts/c_U_1000_counts.dat +0 -0
  110. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/with_U_100s/c_U_100s.dat +0 -0
  111. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/with_U_1s/c_U_1s.dat +0 -0
  112. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/with_U_1s/nf_input.dat +0 -0
  113. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/without_U_100k_counts/s_U_100000_counts.dat +0 -0
  114. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/without_U_1M_counts/nf_input.dat +0 -0
  115. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/exercises_QXRA/without_U_1M_counts/s_U_1000000_counts.dat +0 -0
  116. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise1_piN_sampling/README.txt +0 -0
  117. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise1_piN_sampling/nf_input.dat +0 -0
  118. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise1_piN_sampling/piN-sum.dat +0 -0
  119. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise2_pN_evidence/README.txt +0 -0
  120. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise2_pN_evidence/nf_input.dat +0 -0
  121. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise2_pN_evidence/piN-sum.dat +0 -0
  122. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise2_pN_evidence/results_2000lp.txt +0 -0
  123. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise3_He-like_U_from_scratch/README.txt +0 -0
  124. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise3_He-like_U_from_scratch/he-histo.dat +0 -0
  125. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise4_He-like_U_clusters/README.txt +0 -0
  126. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise4_He-like_U_clusters/he-histo.dat +0 -0
  127. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise4_He-like_U_clusters/nf_input.dat +0 -0
  128. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise5_He-like_U_search_and_clusters_methods/README.txt +0 -0
  129. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/exercises/old_exercices/exercise5_He-like_U_search_and_clusters_methods/he-histo.dat +0 -0
  130. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/install.sh +0 -0
  131. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/nested_fit.egg-info/SOURCES.txt +0 -0
  132. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/nested_fit.egg-info/dependency_links.txt +0 -0
  133. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/nested_fit.egg-info/entry_points.txt +0 -0
  134. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/nested_fit.egg-info/requires.txt +0 -0
  135. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/nested_fit.egg-info/top_level.txt +0 -0
  136. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/nf_input.yaml +0 -0
  137. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/__init__.py +0 -0
  138. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/cliw.py +0 -0
  139. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/evaluator.py +0 -0
  140. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/metadata.py +0 -0
  141. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/nested_res.py +0 -0
  142. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/nested_run.py +0 -0
  143. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/utils.py +0 -0
  144. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/__init__.py +0 -0
  145. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/bar.py +0 -0
  146. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/errorui.py +0 -0
  147. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/hfinder.py +0 -0
  148. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/plot.py +0 -0
  149. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/timer.py +0 -0
  150. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/pynested_fit/widgets/var.py +0 -0
  151. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/setup.cfg +0 -0
  152. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/setup.py +0 -0
  153. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/curfit.f +0 -0
  154. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpback.f +0 -0
  155. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpbspl.f +0 -0
  156. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpchec.f +0 -0
  157. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpcurf.f +0 -0
  158. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpdisc.f +0 -0
  159. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpgivs.f +0 -0
  160. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fpknot.f +0 -0
  161. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fprati.f +0 -0
  162. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/fprota.f +0 -0
  163. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/DIERCKX/splev.f +0 -0
  164. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Makefile +0 -0
  165. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_array_tries.f90 +0 -0
  166. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_cluster_analysis.f90 +0 -0
  167. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_covariance_matrix.f90 +0 -0
  168. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_input_parse.f90 +0 -0
  169. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_integrated_func.f90 +0 -0
  170. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_interpolate.f90 +0 -0
  171. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_jsonio.f90 +0 -0
  172. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_likelihood.f90 +0 -0
  173. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_likelihood_gen.f90 +0 -0
  174. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_logger.f90 +0 -0
  175. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_math.f90 +0 -0
  176. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_metadata.f90.in +0 -0
  177. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_options.f90 +0 -0
  178. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_parameters.f90 +0 -0
  179. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_perfprof.f90 +0 -0
  180. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_potentials.f90 +0 -0
  181. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_search_new_point.f90 +0 -0
  182. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_timestamp.f90 +0 -0
  183. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/Mod_userfcn.f90 +0 -0
  184. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/dpsort.f +0 -0
  185. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/fdump.f +0 -0
  186. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/i1mach.f +0 -0
  187. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/j4save.f +0 -0
  188. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/xercnt.f +0 -0
  189. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/xerhlt.f +0 -0
  190. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/xermsg.f +0 -0
  191. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/xerprn.f +0 -0
  192. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/xersve.f +0 -0
  193. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/SLATEC/xgetua.f +0 -0
  194. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/USERFCN.f +0 -0
  195. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/USERFCN_2D.f90 +0 -0
  196. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/USERFCN_SET.f +0 -0
  197. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/cli/argparse.f90 +0 -0
  198. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/funceval/auto_func.f90 +0 -0
  199. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/funceval/native_parser.cpp +0 -0
  200. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/functions/WOFZ.f +0 -0
  201. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/functions/internal.tex +0 -0
  202. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/functions/internal_funcs.f90 +0 -0
  203. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/console.cpp +0 -0
  204. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/halt.f90 +0 -0
  205. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/hash.f90 +0 -0
  206. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/int_stack.f90 +0 -0
  207. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/resman.cpp.in +0 -0
  208. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/rmhex.cpp +0 -0
  209. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/strutil.f90 +0 -0
  210. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/helper/utils.cpp +0 -0
  211. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/init_interpolation.f +0 -0
  212. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/nested_fit.f90 +0 -0
  213. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/nested_sampling.f90 +0 -0
  214. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/rinteg.f +0 -0
  215. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/src/shirley_fitpack.f90 +0 -0
  216. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/test/CMakeLists.txt +0 -0
  217. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/test/README.md +0 -0
  218. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/test/str.f90 +0 -0
  219. {nested_fit-5.6.1.dev111 → nested_fit-5.6.2.dev113}/test/test.f90 +0 -0
@@ -28,14 +28,14 @@ updates:
28
28
  time: "04:20"
29
29
  timezone: "UTC"
30
30
 
31
- groups:
32
- python-dependencies:
33
- patterns:
34
- - "*"
31
+ groups:
32
+ python-dependencies:
33
+ patterns:
34
+ - "*"
35
35
 
36
- labels:
37
- - "dependencies"
38
- - "python"
36
+ labels:
37
+ - "dependencies"
38
+ - "python"
39
39
 
40
- open-pull-requests-limit: 5
40
+ open-pull-requests-limit: 5
41
41
 
@@ -0,0 +1,568 @@
1
+ Metadata-Version: 2.4
2
+ Name: nested_fit
3
+ Version: 5.6.2.dev113
4
+ Summary: The nested_fit package.
5
+ Author: Martino Trassinelli, Lune Maillard, César Godinho
6
+ Project-URL: Homepage, https://github.com/martinit18/nested_fit
7
+ Project-URL: Bug Tracker, https://github.com/martinit18/nested_fit/issues
8
+ Classifier: Programming Language :: Fortran
9
+ Classifier: Programming Language :: C++
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Operating System :: OS Independent
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: pandas
15
+ Requires-Dist: numpy
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: scipy
18
+ Requires-Dist: getdist
19
+ Requires-Dist: rich
20
+ Requires-Dist: plotly
21
+ Requires-Dist: psutil
22
+ Requires-Dist: anesthetic
23
+ Requires-Dist: plotext
24
+ Dynamic: license-file
25
+
26
+ # NESTED FIT
27
+
28
+ Nested_fit is a data analysis program based on the Bayesian statistics for the computation of, for a given set of data and chosen model, the complete probability distribution for each parameter and the Bayesian evidence.
29
+ The evidence calculation is based on the nested algorithm from Skilling 2004 [1,2] with the implementation of specific traversall for the search of new live points.
30
+ It is written in Fortran/C++/Python and includes complementary routines for visualizing the output results and for doing automatic analysis of series of data.
31
+ More information on the program can be found in Refs. [A,B,C] here above.
32
+
33
+ - :hammer: Jump to [installation](#Installation-instructions).
34
+ - :page_with_curl: Jump to [usage](#Usage).
35
+
36
+ ### License
37
+
38
+ Users are required to accept the license agreement given in LICENSE file. Nested Fit is free for academic usage.
39
+
40
+ Users are also required to cite the Nested Fit papers here below in their publications (at least (A) and (B)) and their authors.
41
+
42
+ **Reference articles of nested_fit**:
43
+ - [A] M. Trassinelli, *Bayesian data analysis tools for atomic physics*, Nucl. Instrum. Methods B **408**, 301-312 (2017),
44
+ [doi:10.1016/j.nimb.2017.05.030](http://dx.doi.org/10.1016/j.nimb.2017.05.030), [ arXiv:1611.10189](https://arxiv.org/abs/1611.10189)\
45
+ - [B] M. Trassinelli, *The Nested_fit Data Analysis Program*, Proceedings **33**, 14 (2019), [doi:10.3390/proceedings2019033014](https://doi.org/10.3390/proceedings2019033014)\
46
+ - [C] M. Trassinelli, P. Ciccodicola *Mean Shift Cluster Recognition Method Implementation in the Nested Sampling Algorithm*, Entropy **22**, 185 (2020), [doi:10.3390/e22020185](https://doi.org/10.3390/e22020185)
47
+ \
48
+ - [D] L. Maillard, F. Finocchi, M. Trassinelli * *Assessing Search and Unsupervised Clustering Algorithms in Nested Sampling*, Entropy **25**, 347 (2023), [doi:10.3390/e25020347](https://doi.org/10.3390/e25020347)
49
+
50
+ ### Authors
51
+ Dr. Martino Trassinelli\
52
+ CNRS, Institute of NanoSciences of Paris\
53
+ email: martino.trassinelli AT cnrs.fr\
54
+ email: m.trassinelli AT gmail.com
55
+
56
+ Lune Maillard\
57
+ Institute of NanoSciences of Paris, Sorbonne Université, CNRS\
58
+ email: lune.maillard AT insp.upmc.fr
59
+
60
+ César Godinho\
61
+ LIBPhys / NOVA University of Lisbon\
62
+ email: c.godinho AT campus.fct.unl.pt
63
+
64
+ ## Quick start examples
65
+
66
+ **Quick start with google colab:**
67
+ [Download](https://github.com/martinit18/nested_fit/blob/dev/examples/jupyter_notebooks/quick_start_with_google_colab.ipynb)
68
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/martinit18/nested_fit/blob/dev/examples/jupyter_notebooks/quick_start_with_google_colab.ipynb)
69
+
70
+ Other jupyter notebook examples can be found in `examples/jupyter_notebooks`.
71
+
72
+ ## Installation instructions
73
+ > :warning: Windows support is deprecated. Compile at own risk.
74
+
75
+ ### Using PIP
76
+ For most users if you are running on Linux or MacOS, chances are you can just install directly from pip.
77
+ ```sh
78
+ pipx install nested_fit
79
+ ```
80
+
81
+ ### Installing from source (automatic)
82
+ If you cannot use pip you can install via the following script:
83
+ ```bash
84
+ curl -sSL https://raw.githubusercontent.com/martinit18/nested_fit/refs/heads/master/install.sh | bash
85
+ ```
86
+
87
+ Or if you wish to install the dependencies manually beforehand:
88
+ ```bash
89
+ curl -sSL https://raw.githubusercontent.com/martinit18/nested_fit/refs/heads/master/install.sh | bash -s -- --no-deps
90
+ ```
91
+
92
+ Or if you want to install a nightly version within a virtual environment:
93
+ ```bash
94
+ curl -sSL https://raw.githubusercontent.com/martinit18/nested_fit/refs/heads/master/install.sh | bash -s -- --use-venv --nightly
95
+ ```
96
+
97
+ ### Installing from source (manual)
98
+
99
+ To manually install from source the following dependencies are required:
100
+ - cmake ( >= 3.10 )
101
+ - make
102
+ - gcc
103
+ - g++
104
+ - gfortran
105
+ - python3 ( >= 3.8 )
106
+ - pipx or pip
107
+
108
+ If you wish to also build the python package for bindings and analysis support:
109
+ ```bash
110
+ pipx install git+https://github.com/martinit18/nested_fit.git
111
+ # or
112
+ git clone https://github.com/martinit18/nested_fit.git
113
+ pipx install ./nested_fit -v
114
+ ```
115
+
116
+ If all else fails you will need to manually compile nested_fit from source and generate the python library in pure mode.
117
+ This 'hack' is done via the editable installation mode:
118
+ ```bash
119
+ # Clone the repo
120
+ git clone https://github.com/martinit18/nested_fit.git
121
+
122
+ # Make build directory
123
+ mkdir -p nested_fit/build
124
+
125
+ # Configure (and specify install prefix if required)
126
+ cmake -S nested_fit -B nested_fit/build -DOPENMP=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<install_path>
127
+
128
+ # Compile and install
129
+ cmake --build nested_fit/build --config Release
130
+
131
+ # Now you will have the nested_fit binary available at nested_fit/bin/nested_fit_xxx
132
+ export PATH=$PATH:<your_clone_path>/nested_fit/bin
133
+
134
+ # Or alternatively install from within your build tool
135
+ cmake --build nested_fit/build --target install
136
+
137
+ # Now install the python library in editable mode skipping compilation
138
+ pip install -e ./nested_fit -v
139
+ ```
140
+
141
+ :warning: If you have further issues please refer to the file *STEPBYSTEP_INSTALL.md*.
142
+
143
+ :warning: **This installation may not work with ANACONDA.**
144
+
145
+ **CMake options**
146
+
147
+ | Option | Description | Default |
148
+ |:-------------------|:---------------------------------------------------------------------|:-------:|
149
+ |NORNG | Set the nested_fit to use a set seed. Internal test use mainly. | OFF |
150
+ |OPENMP | Enable/Disable OpenMP support. | OFF |
151
+ |LAPACK | Use LAPACK library functions instead of the internal ones. | OFF |
152
+ |LTRACE | Enable trace logging output. Will hinder performance. | OFF |
153
+ |PPROF | Enable performance counter profilling. | OFF |
154
+
155
+ ## General comments
156
+ - After a default installation via pipx (directly via PyPI or git clone) or script `nested_fit_xxx` will be aliased as `nested_fit`.
157
+ - Only if you installed via the manual and editable mode will you be required to use `nested_fit_xxx`.
158
+
159
+ ## Comments for macOS users
160
+ - If you are running `gfortran` installed with homebrew, you should use `gcc` and `g++` from homebrew as well and not the macOS preinstalled one.
161
+ For this make sure that homebrew/bin has a priority on the other bin directories
162
+ (e.g. something like `export PATH=/opt/homebrew/bin:<other stuff of you>:$PATH` in your .bashrc)
163
+ making sure your `g++` is pointing the homebrew `g++-XX`.
164
+ Eventually creating the `ln -s /opt/homebrew/bin/g++-XX g++` link if required.
165
+ - The use of the following cmake option can help too:
166
+ ``-DCMAKE_Fortran_COMPILER=`which gfortran` -DCMAKE_C_COMPILER=`which gcc` -DCMAKE_CXX_COMPILER=`which g++``
167
+
168
+ ## File descriptions
169
+
170
+ **Input files**:
171
+ - `nf_input.yaml`: Main input file of the program with all user parameter definitions and run configurations.
172
+ More info is available [here](#Usage).
173
+ - `datafile` to analyze indicated in `nf_input.yaml`.
174
+
175
+ **Main output files**:
176
+ - `nf_output_res.dat`: main output with the results.
177
+ It contains the details of the computation (n. of live points trials, n. of total iteration), the final evidence value and its uncertainty, the parameter values corresponding to the maximum of the likelihood function, the mean, the median, the standard deviation and the confidence intervals (credible intervals) (68%, 95% and 99%) of the posterior probability distribution of each parameter.
178
+ The corresponding information gain and the Bayesian complexity are also provided.
179
+ - `nf_output_res.json`: same as above but in JSON format.
180
+ - `nf_output_data_*.dat`: original input data together with the model function values corresponding to the parameters with the highest likelihood function value ('max') to the mean value ('mean') or median ('median'), the residuals and the uncertainty associated to the data.
181
+ - `nf_output_fit_*.dat`: Model function values with higher density sampling that the data (for plot purpose). In addition, different components of the model are given.
182
+ - `nf_output_tries.dat`: For each live points trial, it contains the final evidence, the number of iterations and the maximum value of the likelihood function.
183
+ - `nf_output_points.txt`: contains all discarded and final live points values, their associated likelihood values and posterior probabilities. From them, the different parameter probability distributions can be built.
184
+ - `nf_output_diag.dat`: contains likelihood values corresponding to the birth of the discarded and final live points, and the rank of the new live point once inserted in the enemble. These values are used for statistics of the evidence (with the help of Anesthetic library) and for diagnostics.
185
+ For this purpose, the python module `nested_py` can be used also for compressed `nf_output_points.txt` files (using gzip with the name `nf_output_points.txt.gz`).
186
+ Together with this file, also the files `nf_output_points.paramnames` and `nf_output_points.ranges` are created for the use of GetDist and Anesthetic python libraries.
187
+ - `nf_output_cluster_mean_std.dat`: contains the number of clusters, number of point per clusters, and mean and standard deviations for each cluster (if the clustering option is activated).
188
+ - `nf_output_cluster_max.dat`: contains the number of clusters, the maximum value of the likelihood and the corresponding parameter values (if the clustering option is activated).
189
+ - `nf_energy.txt`: contains the volume and energy associated to the discarded and final live points. For a quantum potential, the decomposition of the energy between the avergaed potential and the replicas interaction is also given, as well as the temperature. Only created when exploring potentials.
190
+
191
+ **Details of the input file line by line**
192
+
193
+ A complete selection of input files example is given in the folder `examples` where use cases of the python library are given.
194
+
195
+ It follows a complete description of `nf_input.yaml` file.
196
+
197
+ ```yaml
198
+ version: 5.6 # Program version
199
+ calculation_mode: DATA # Type of calculation
200
+ ```
201
+ The type of calculation is spefified by `calculation_mode` variable.
202
+ Available options are:
203
+ - `DATA`: for data analysis. A likelihood function is explored the Bayesian evidence is evaluated. It requires a data file to read and thus the inputs `datafiles, specstr, likelihood`.
204
+ - `INTEGRAL`: for the calculation of the integral of a given function.
205
+ - `POTENTIAL`: for exploration of a classical potential energy and for building the partition function.
206
+ - `Q_POTENTIAL`: for exploration of a quantum potential energy and for building the partition function.
207
+
208
+ ```yaml
209
+ datafiles: file1.csv [, file2.csv, ...] # Name of the data file(s)
210
+ ```
211
+ If you have space- or tab-separated files, select the `.tsv` format adding the line
212
+ ```yaml
213
+ filefmt: .tsv
214
+ specstr: x,c,ce # Datafile layout
215
+ ```
216
+ A typical example could be `ce, i, i, x, c`, where the first column indicate the error bars, the second and the third are ignored, the fourt indicates the x-coordinate and the last the values.
217
+
218
+ The `specstr` field tells nested_fit what data the datafile columns have.
219
+
220
+ `specsct` specification:
221
+ - `x`: This is the x data column (required).
222
+ - `c`: This is the counts data column (required).
223
+ - `ce`: This is the error data column (optional).
224
+ - `i`: This column will be ignored by nested_fit (optional).
225
+
226
+ ```yaml
227
+ likelihood: GAUSSIAN # The likelihood function
228
+ ```
229
+
230
+ Likelihood functions available (for data with error bars, Poisson statistics is assumed for counts):
231
+ - `GAUSSIAN`: Default normal distribution assuming data likelihood.
232
+ - `MOD_JEFFREYS`: Robust likelihood that does not assume a majorated error distribution (see Ref. [2]).
233
+
234
+ ```yaml
235
+ function: # Choose among the following expressions
236
+ expression: f(x, a, b) = ax + b # Use LaTeX
237
+ # expression: f(x, a, b) = \texttt{linear}(x, a, b) # Or use C++/Fortran
238
+ # expression: GAUSS_BG # Or use a nested_fit legacy function (deprecated)
239
+
240
+ # Or for multiple files use the following nomenclature (one expressian for each file)
241
+ # expression_1: ...
242
+ # expression_2: ...
243
+ # expression_<n>: ...
244
+
245
+ params: # Parameters boundaries and co.
246
+ a: { value: 0.11, step: -1, min: 0, max: 0.5}
247
+ b: { value: 450, step: -1, min: 400, max: 600}
248
+ ```
249
+ More details on the function definitions are presented below [here](#Function-Definition), and in particular
250
+ - LaTeX specification [here](#LaTeX-Specification).
251
+ - C++/Fortran API specification [here](#C++/Fortran-Specification).
252
+
253
+ ```yaml
254
+ search:
255
+ livepoints: 200 # Number of live points
256
+ method: RANDOM_WALK # Search method
257
+ param1: 0.2 # Param 1 of chosen method (see below)
258
+ param2: 20 # Param 2 of chosen method (see below)
259
+ max_tries: 1000 # Maximum tries before stop (max_tries * tries_mult)
260
+ tries_mult: 100 # Max tries multiplier
261
+ num_tries: 1 # Number of runs
262
+ hard_writing: true # Write dead points on a temporary file
263
+ max_steps: 100000 # Max number of steps before stop (required if hard_writing false)
264
+ ```
265
+
266
+ For the moment there are,
267
+ - four random walks: `RANDOM_WALK`, `RANDOM_WALK_SYN`, `RANDOM_WALK_RECENT`,`RANDOM_WALK_NO_DB`.
268
+ For `RANDOM_WALK_NO_DB` (where two alternative methods are implemented, see Ref. [C]) or just one: `RANDOM_WALK_SYN` (where only the synthetic live point creation is implemented) and `RANDOM_WALK_RECENT` where we recenter with respect to the mean value of the live point.
269
+ Except for the simplest researche, the detailed balance is maybe not respected but it can be more efficient for finding the minima for certain cases.
270
+ - A uniform search around each live point `UNIFORM`,
271
+ - Three versions of slice sampling: `SLICE_SAMPLING`, `SLICE_SAMPLING_TRANSF`,`SLICE_SAMPLING_ADAPT`. The first two correspond, respectively, to the search being done in two different spaces (transformed and real) with the first one faster than the second one. `SLICE_SAMPLING_ADAPT` an adaptable step but the detailed balance is maybe not respected.
272
+
273
+ `param1` and `param2` are specific to the search algorithm:
274
+ - `RANDOM_WALK`, `RANDOM_WALK_NO_DB` par. 1: fraction of standard deviation for each jump, par. 2: number of jumps. Suggested values: 0.1-0.2, 10-40.
275
+ - `SLICE_SAMPLING`, `SLICE_SAMPLING_TRANSF`, and `SLICE_SAMPLING_ADAPT` par. 1: fraction of standard deviation for segment exploration, par. 2: number of jumps. Suggested values: ~1, 3-5.
276
+ - `UNIFORM` par. 1: fraction of standard deviation for the box size, par. 2: number of jumps. Suggested values: 0.1-1, 1.
277
+
278
+ If `hard_writing` is true, the dead points are saved in the unformatted file `nf_output_dead_points_info.txt` during the run. The number of iterations is not limited and the content of the file is erased at the end of the run. Otherwise, the dead points are kept in memory during the run. In that case, the maximum number of iterations is given by `max_steps`. ATTENTION, if `writing: statistics` is false, the file `nf_output_dead_points_info.txt` will not be written even if `search: hard_writing` is true.
279
+
280
+
281
+ ```yaml
282
+ convergence:
283
+ method: LIKE_ACC # Method used for convergence
284
+ accuracy: 1.E-05 # Evidence final accuracy (in this case)
285
+ parameter: 0.01 # Additional convergence parameter
286
+ ```
287
+
288
+ For the moment, there are three convergence methods:
289
+ - `LIKE_ACC`: the algorithm stops when the difference between the calculated evidence and the estimated total evidence is below a certain value (first parameter on the above line). Typical value for the parameter : 1.E-05. In this case, the function that is maximised is the log-likelihood and it is associated to data.
290
+ - `ENERGY_ACC`: the algorithm stops when the difference between the calculated partition function and the estimated total partition function is below a certain value (first parameter on the above line). The second parameter corresponds to the temperature at which the partition function is calculated. Typical value for the first parameter : 1.E-05. In this case, the function that is maximised is the opposite of the energy function.
291
+ - `ENERGY_MAX`: the algorithm stops when the difference between the current contribution to the partion function and its maximal previous contribution is below a certain value (first parameter on the above line). The second parameter corresponds to the temperature at which the partition function is calculated. Typical value for the first parameter : -10. In this case, the function that is maximised is the opposite of the energy function.
292
+
293
+ After convergence is reached, all remaining live points are assigned:
294
+ - the logarithm of the likelihoods averaged over the live points (`LIKE_ACC` case),
295
+ - the opposite of the energies averaged over the live points (`ENERGY_ACC` and `ENERGY_MAX` cases).
296
+
297
+
298
+
299
+ ```yaml
300
+ clustering:
301
+ enabled: true # False by default (if ommited)
302
+ method: f # Clustering method (see below)
303
+ parameter1: 0.5 # Clustering parameter 1
304
+ parameter2: 0.2 # Clustering parameter 2
305
+ ```
306
+
307
+ For the moment four clustering algorithms are implemented. The two parameters are specific to the method
308
+ For the second option:
309
+ - `f`: mean-shift with flat kernel (par. 1: distance (relative to the maximum distance))
310
+ - `g`: mean-shift with gaussian kernel (par. 1: distance, par. 2: bandwidth)
311
+ - `d`: dbscan (par. 1: distance, par. 2 : minimum number of neighbours)
312
+ - `s`: agglomerative clustering with single linkage (par. 1: distance limit)
313
+ - `k`: k nearest neighbours (no parameters)
314
+
315
+ ```yaml
316
+ writing:
317
+ statistics: true # Calculate parameter statistics
318
+ all_parameters: true # Write nf_output_points (big) file
319
+ ```
320
+
321
+ These options allows to choose what is written in the ouput files:
322
+ - `statistics`: if true, the mean, standard deviation, median and confidence levels of the parameters are computed and written in the `nf_output_res` files. ATTENTION, in that case, an array is created with all the points found during the run. ATTENTION, if `writing: all_parameters` is false and `search: hard_writing` is true, `writing: statistics` will be force set to FALSE if it is not.
323
+ - `all_parameters`: if true, the `nf_output_points` files are written. ATTENTION, if false, the file `nf_output_dead_points_info.txt` will not be written even if `search: hard_writing` is true.
324
+
325
+
326
+ ## Function definition
327
+
328
+ ```yaml
329
+ function:
330
+ expression: f(x,a,b) = a + b * x # function expression in latex form
331
+ params:
332
+ # Compact
333
+ a: { value: 0, step: -1, min: 0, max: 10 } # `fixed` is false by default
334
+ b: { value: 0, step: -1, min: 0, max: 10 } # `fixed` is false by default
335
+
336
+ # Extended
337
+ e_a:
338
+ value: 0
339
+ step: -1
340
+ min: 0
341
+ max: 10
342
+ fixed: false
343
+
344
+ data: { xmin: 1, xmax: 100, ymin: 0, ymax: 0 }
345
+ ```
346
+ These entries of the file define how the function given parameters should vary. Their `min`/`max` span,
347
+ their `MCMC` step and either if they are variable or fixed. Both an extended and a compact version of declaring the parameters are available.
348
+
349
+ The `data` field allows to control the input file's X and Y span of which the `nested_fit` will run from. Allowing to crop data if necessary.
350
+ As of version 5.2, `ymin` and `ymax` can be both zero, meaning automatica span. However, `xmin`/`xmax` should always contain a valid range.
351
+
352
+ ### LaTeX Specification
353
+ LaTeX is the preferred mode to write input functions whenever possible. It is also the main mode of calling native functions from the input file.
354
+ LaTeX functions need to follow the syntax:
355
+ ```
356
+ <my_func_name>(x, a_0, a_1, ..., a_n) = <definition>
357
+ ```
358
+ where the user defined arguments `a_i` must be of one of the following forms: `<letter>_<char>` or `<letter>`, where `<char>` is any alphanumeric character and `<letter>` any lower or uppercase letter of the english alphabet.
359
+ Examples: `I_0`, `A`, `x_2`. Any other form is invalid. For 1D functions (currently the only one supported with this mode), `x` must be strictly named, and the first parameter.
360
+
361
+ Now for the function `<definition>`. Here one can:
362
+
363
+ - Use basic math. Examples `ax + b` (with `a` and `b` arguments), `a*x + b` ('programing' form also allowed). [Available operators: `*`, `+`, `-`, `/`]
364
+ - Use math embedded basic functions. Examples `a\sqrt{x} + b` or `a\exp{x-b}`. [Available functions: `sqrt`, `exp`, `log`, `sin`, `cos`, `tan`, `arcsin`, `arccos`, `arctan`, `Gamma`, `abs`, `erf`, `sign`]
365
+ - Use some LaTeX constructs. Examples `\frac{x}{a + b}` or `a\exp{\frac{x}{b}}`. [Available constructs: `frac`]
366
+ - Use mathematical constants: `a\pi + bx`. [Available constants: `pi`]
367
+ - Call other user defined functions via syntax: `\texttt{<other_func_name>}(x, a_0, a_1, ..., a_n)`, where the passed parameters should be some currently available arguments. Alternatively one can also use `mathrm` isntead of `texttt`.
368
+ - Call system defined functions via the same syntax as above and listed here below.
369
+ Additional functions can be added by the user in the function `internal_func.f90`.
370
+
371
+ |Function|Declaration|Description|
372
+ |:-:|:-:|:-:|
373
+ | `GAUSS_IF` | `GAUSS_IF(x, x_0, A, s)` | Gaussian with integral `A`, mean `x_0` and standard deviation (sigma) `s` |
374
+ | `LORE_IF` | `LORE_IF(x, x_0, A, g)` | Lorentzian (Cauchy) profile with integral `A`, mean `x_0` and width (gamma) `g` |
375
+ | `VOIGT_IF` | `VOIGT_IF(x, x_0, A, s, g)` | Voigt profile (convolution between a Gaussian and a Lorentzian, with integral `A`, mean `x_0`, sigma `s` and gamma `g` |
376
+ |`WofzRe`| `WofzRe(zr, zi)` | `zr`/`zi`: the real and imaginary part of the<br/> given input, respectively.
377
+ |`Interpolate`| `Interpolate(filename, x, smooth)` | `filename`: the name of the file where the xy data<br/> is availabe (`.csv` format).<br/><br/>`x`: where to evaluate the spline.<br/><br/>`smooth`: The spline smoothing factor. Around the same order of magnitude as the number of points m (more precisely, between m - sqrt( 2 * m ) and m + sqrt( 2 * m ), see `curfit.f`for more details).
378
+
379
+ One can use this declaration mode directly on the input file:
380
+ ```yaml
381
+ function:
382
+ expression: test_func(x, a, b) = \frac{x}{\exp{2b\pi}} + \sin{b}
383
+ ```
384
+ Or it is also possible to add the function via the command line:
385
+ ```sh
386
+ nested_fitx.x.x -fa 'test_func(x, a, b) = \frac{x}{\exp{2b\pi}} + \sin{b}'
387
+ ```
388
+
389
+ This function would then be available and could be used in the following fashion (which is functionally equivalent to using the function directly):
390
+ ```yaml
391
+ function:
392
+ expression: f(x, a, b) = \texttt{test_func}(x, a, b)
393
+ ```
394
+
395
+ > :warning: All functions ran in nested_fit either via normal execution on using the `-fa` command. Get stored under a cache and are reusable whenever necessary. If a function name is repeated, the old declaration is **overwritten without warning**. This is also valid for C++/Fortran native user functions.
396
+
397
+ ### C++/Fortran Specification
398
+
399
+ This is the second mode to declare functions. Althouth giving a bit more work, it allows for a much finer control of what is going on.
400
+
401
+ There are two ways to do it:
402
+ 1. by compyling your `.cpp` or `.f90` file with the command
403
+ ```sh
404
+ nested_fitx.x.x -fa example.f90
405
+ ```
406
+ N.B. the function file has to be in the analysis folder where you execute the program.
407
+
408
+ 2. by writing the function in the file `internal_func.f90` and recompiling the ensemble of the program.
409
+
410
+ ### Legacy function
411
+
412
+ Legacy functions are listed in USERFCN*.f files. They need the additional configuration parameter `npar`.
413
+ Examples of use of a legacy function can be found in `examples/data_analysis/aaa_simple_example/legacy_func_input` directory.
414
+
415
+ *Additional information can be found in the reference articles.*
416
+
417
+ ## Present version and history of the past versions
418
+
419
+ The present version is 5.6.1\
420
+ New features:
421
+ - PyPI available development builds
422
+ - PyPI binary distribution for arm64 macOS
423
+ - Optional management of memory of dead points (in RAM or file)
424
+ - Optional writing of dead points information
425
+ - Optional writing of parameter statistics (mean, standard deviation, etc.)
426
+
427
+
428
+ Previous versions are:
429
+ - 5.5 New RANDOM_WALK function with detailed balance respected \
430
+ Add PyPI binary distribution for x86_64 macOS\
431
+ Add PyPI binary distribution for multiple linux systems\
432
+ Add PyPI source distribution as a default for other systems\
433
+ Rename CLI command to `nested_fit` to use the latest installed version via pip\
434
+ - 5.4 Merge of executable for data analysis and function exploration via the new calculation mode variable \
435
+ Debug of not-yet working feature of the version 5 compared to the version 4 \
436
+ New outputs with maxima of each cluster
437
+ - 5.3 New jupyter notebooks running in Google Colab \
438
+ New innterpolation functions in python library \
439
+ Live display when sampling from python. Works in console and jupyter notebooks \
440
+ Live display featured maximum likelihood prediction plot \
441
+ Add input info on JSON output file for parsing.
442
+ - 5.2 Add JSON output for easier manipulation of results. \
443
+ New simple python interface to embed nested_fit on source code.
444
+ - 5.1 Add feature for older systems not easily supporting cmake to configure via GNU autotools. \
445
+ Add performance profiling tool boilerplate code enabling a detailed analysis without hindering performance.
446
+ - 5.0 New modified Jeffreys likelihood for data \
447
+ Update README.md \
448
+ Add CI support via github actions. Only available for linux and macOS. \
449
+ Add support to fully install via pip. \
450
+ Add python package install support (not published). \
451
+ Support custom data file column ordering/separation. Support .csv, .tsv \
452
+ New native function parser that reads users Fortran or C/C++ files with functions. \
453
+ New LaTeX function parser that reads user inline functions. \
454
+ Complete overhaul of input file and function user function definition.
455
+ - 4.6.1 New search method \
456
+ Covariance matrix and its Cholesky decomposition calculated when 5% of the points have changed \
457
+ Number of calls recorded in two variables \
458
+ - 4.5 New functions \
459
+ New exercices \
460
+ New modified Jeffreys likelihood for data \
461
+ Number of calls recorded in the main output file \
462
+ No limitation in number of steps \
463
+ Record of birth likelihood values and rank for diagnostics in `nf_output_diag.dat` file \
464
+ Implementation of Anesthetic package for evaluation of evidence uncertainty with one run in python library
465
+ - 4.4 New "write_input" function in python library \
466
+ New fit functions \
467
+ External LAPACK library link option \
468
+ OpenMP for parallel search of new points \
469
+ OpenMPI support (only available for number of tries) \
470
+ OpenMP parallelisation for independent live point search \
471
+ New user function calling method \
472
+ Add Windows support \
473
+ New build system generator (CMake) \
474
+ Improved performance
475
+ - 4.3 New (test) function : harmonic potential in 3D and loggamma \
476
+ Choice between different convergence methods : evidence or partition function
477
+ - 4.2 Additional search methods : Uniform search around each live point and Slice Sampling
478
+ - 4.1 New cluster recognition methods added
479
+ - 4.0 2D data analysis for count-type XY \
480
+ Computation acceleration for the 1D case introducing a mask instead of IF condition in the likelihood \
481
+ New ERFPEAK function \
482
+ New example files for python analysis with pandas
483
+ - 3.5 Modularization of the search and cluster recognition methods in preparation of implementation of new algorithms \
484
+ New interpolation options for 1D and 2D histograms using GetDist Python package \
485
+ Correction of some bugs in the python library \
486
+ Additional folder with exercises is now available \
487
+ Installation instructions now available \
488
+ Compatible now with intel fortran (options to change in Makefile)
489
+ - 3.4 Introduction of benchmark tests with synthetic likelihood function via the module Mod_likelihood_tests,f90 (instead of Mod_likelihood.f90).
490
+ Available tests: TEST_GAUSS (multidimensional Gaussian), TEST_GAUSSIAN_SHELLS (multidimensional Gaussian shells, worse case with available search and clustering methods),
491
+ TEST_EGGBOX (eggbox style profile to test clustering), TEST_ROSENBROCK (Rosenbock function test for 2-n dimension).\
492
+ Change of the outputs: `nf_output_points.dat` -> `nf_output_points.txt`, plus files `nf_output_points.paramnames`, and `nf_output_points.ranges` to be compatible with GetDist Python package. New 'triangle plot' available now.
493
+ - 3.3 Modular version of likelihood function in preparation for handling more complex data (2D data, ...).
494
+ - 3.2 This is the first version with free sharing code only.
495
+ Pion mass function and laser interpolation taken out to avoid Numerical Recipes.\
496
+ Indexing for sorting data from SLATEC routine now.\
497
+ Log(factorial) and gamma function from intrinsic function DLGAMMA now (and via a new routine for the factorial).\
498
+ Test for integer input for Poisson likelihood.\
499
+ Fitpack for splines in Shirley profile too.
500
+ - 3.1 Optimization of parallel computing.\
501
+ Corrections to Shirley functions.\
502
+ Add of latest Shirley functions.\
503
+ Fix a bug in the fixed parameters.\
504
+ Add of the time stamp to the cluster analysis files
505
+ - 3.0 Cluster analysis for live points to improve (very much!!!) the search efficiency.
506
+ - 2.3 Parallelism optimization. Usercondition routine removed\
507
+ Correction for gaussian priors (before was done at each jump, now only at the end).
508
+ - 2.2 Add of "Rocking curve" profile that uses external simulated data for set of files
509
+ (parallel and antiparallel, still to test).
510
+ Solved problem with probabilities > 1 for gaussian data. Each data point is considered distributed
511
+ with a Gaussian. But in the normalization factor, sigmas have not to appear. Otherwise probabilities
512
+ can have a dimension.The variables are naturally transformed in dimensionless unit in the
513
+ exponential part.\
514
+ Extraction of live points values in case of non-convergence
515
+ - 2.1 Add of "Rocking curve" profile that uses external simulated data and FITPACK routines for the use of smoothed B-splines.
516
+ - 2.0 Treatment of data with error bars becomes possible.\
517
+ No error bars: Likelihood with Poisson distribution.\
518
+ Error bars : Likelihood with Gaussian distribution.
519
+ - 1.0 Add of Shirley background for photoemission spectra\
520
+ Add of data output for mean and median parameter values (in addition to max likelihood values).
521
+ Parallelization is back but only for the likelihood calculation otherwise it sucks (most of the time).
522
+ - 0.9 Implementation of complex error function from TOMS algorithm n. 680 (included in Fortran 2008) WOFZ.f.
523
+ - 0.8: Save in a file the different fit components (to implement in part of the functions).
524
+ - 0.7: Add of pion mass function for sets.
525
+ - 0.6: Add capabilities to analyze sets of spectra.
526
+ - 0.5: Add of the pion mass function.
527
+ - 0.4: Improved search algorithm for presence of local maxima
528
+ Add of the information, minimum required iteration and complexity calculation
529
+ D.S. Sivia, "Data Analysis, a Bayesian tutorial" (Ref. [2]),
530
+ R. Trotta, Contemporary Physics 49, 71 (2008),
531
+ J. Veitch and A. Vecchio, Phys. Rev. D 81, 062003 (2010).
532
+ - 0.3: Optimization with memory allocation and more variables accessible from the input file.
533
+ - 0.2: Version with parallel seek of groups of live points inspired by (not working anymore since 2016)
534
+ J. Veitch and A. Vecchio, Phys. Rev. D 81, 062003 (2010) and
535
+ N. Chopin and C.P. Robert, Biometrika 97, 741-755 (2010).
536
+ - 0.1: Program developed from D.S. Sivia, "Data Analysis, a Bayesian tutorial" (2006) and L. Simons' original program.
537
+
538
+ ## External codes and other contributors
539
+
540
+ ### Additional included sources
541
+
542
+ In addition to the original files from the main authors, nesed_fit includes:
543
+ - *sterf* package, to profile the code (MIT license). Written by C. A. Godinho.
544
+ - *FITPACK (DIERCKX)* package, to fit and interpolating data with splines (no license)
545
+ - Ref: Paul Dierckx, Curve and Surface Fitting with Splines, Oxford University Press, 1993
546
+ Developer,
547
+ - Address: Paul Dierckx, Department of Computer Science, K.U. Leuven, Celestijnenlaan 200 A, B-3001, Heverlee, Belgium, Paul.Dierckx@cs.kuleuven.ac.be
548
+ - [http://nalag.cs.kuleuven.be/research/topics/fitpack.shtml](http://nalag.cs.kuleuven.be/research/topics/fitpack.shtml)
549
+ - `dpsort.f` + dependencies from SLATEC library (no license) for sorting arrays with respect another array
550
+ - `WOFZ.f`' for the complex error function from TOMS algorithm n. 680 (included in Fortran 2008)
551
+ - `rinteg.f` to calculate the integral of a function using a nq points quadrature ( nq is any integer between 1 and 14 ). Written by C. C. J. Roothaan (no license)
552
+
553
+ ### Other contributors to the code
554
+ (chronological order)
555
+
556
+ - Anna Lévy (photoemission spectra models)
557
+ - Nancy Paul (rocking curves and Bragg spectrometer lines)
558
+
559
+ ### Thanks for bugs corrections
560
+ (alphabetical order)
561
+
562
+ - Takuma Okumura
563
+
564
+ ## Other resources
565
+
566
+ **Articles about nested sampling method**:\
567
+ [1] J. Skilling, *Nested sampling for general Bayesian computation*, Bayesian Anal. **1**, 833-859 (2006)\
568
+ [2] D.S. Sivia and J. Skilling, *Data analysis: a Bayesian tutorial*. Second ed. 2006: Oxford University Press