From c04d14f4f0f5dcd08de9b4ab11303e08dd310a26 Mon Sep 17 00:00:00 2001 From: Fischer Leander Date: Mon, 17 Jul 2023 08:18:45 -0500 Subject: [PATCH 01/12] Fix dependencies and README --- pisa/stages/discr_sys/README.md | 6 ++++-- setup.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pisa/stages/discr_sys/README.md b/pisa/stages/discr_sys/README.md index e795d3048..60883b54f 100644 --- a/pisa/stages/discr_sys/README.md +++ b/pisa/stages/discr_sys/README.md @@ -50,7 +50,7 @@ Once ready, the results are stored in a `.feather` file containing all events of ### Preparation -The scripts producing the gradients are located in `$FRIDGE_DIR/analysis/oscnext_ultrasurfaces`. To produce the gradient feather file, we first need to convert PISA HDF5 files to `.feather` using the `pisa_to_feather.py` script. We need to pass the input file, the output file, and a flag setting the sample (variable names) to be used (either `--verification-sample`, `--flercnn-sample`, or no additional flag for the Retro sample). +The scripts producing the gradients are located in `$FRIDGE_DIR/analysis/oscnext_ultrasurfaces`. To produce the gradient feather file, we first need to convert PISA HDF5 files to `.feather` using the `pisa_to_feather.py` script. We need to pass the input file, the output file, and a flag setting the sample (variable names) to be used (either `--verification-sample`, `--flercnn-sample`, `--flercnn-hnl-sample`, `--upgrade-sample`, or no additional flag for the Retro sample). ``` python pisa_to_feather.py -i /path/to/pisa_hdf5/oscnext_genie_0151.hdf5 -o /path/to/pisa_hdf5/oscnext_genie_0151.feather {"--verification-sample", "--flercnn-sample", ""} @@ -59,8 +59,10 @@ After converting all files and setting the appropriate paths in `$FRIDGE_DIR/ana **First**: Calculate event-wise probabilities with (assuming we `cd`'d into `$FRIDGE_DIR/analysis/oscnext_ultrasurfaces/knn`) +(Note here that this needs to be run with an earlier version of sklearn, due to deprecation of some used functions, e.g. use: `scikit-learn = 1.1.2`) + ``` -python calculate_knn_probs.py --data-sample {"verification", "flercnn", "retro"} --root-dir /path/to/pisa_feather/ --outfile /path/to/ultrasurface_fits/genie_all_bulkice_pm10pc_knn_200pc.feather --neighbors-per-class 200 --datasets 0000 0001 0002 0003 0004 0100 0101 0102 0103 0104 0105 0106 0107 0109 0151 0500 0501 0502 0503 0504 0505 0506 0507 --jobs 24 +python calculate_knn_probs.py --data-sample {"verification", "flercnn", "flercnn_hnl", "retro"} --root-dir /path/to/pisa_feather/ --outfile /path/to/ultrasurface_fits/genie_all_bulkice_pm10pc_knn_200pc.feather --neighbors-per-class 200 --datasets 0000 0001 0002 0003 0004 0100 0101 0102 0103 0104 0105 0106 0107 0109 0151 0500 0501 0502 0503 0504 0505 0506 0507 --jobs 24 ``` **Second**: Calculate the gradients that best fit the probabilities with: diff --git a/setup.py b/setup.py index 386a6bc8c..1830faac1 100755 --- a/setup.py +++ b/setup.py @@ -80,7 +80,7 @@ 'setuptools>18.5', # versioneer requires >18.5 'numpy>=1.17', 'cython~=0.29.0', # needed for the setup and for the install - 'scikit-learn', + 'scikit-learn==1.1.2', ] INSTALL_REQUIRES = [ @@ -105,8 +105,9 @@ 'py-cpuinfo', 'sympy', 'cython~=0.29.0', # needed for the setup and for the install - 'scikit-learn', + 'scikit-learn==1.1.2', 'pyarrow', + 'tqdm', ] EXTRAS_REQUIRE = { From a8d1bbc469fb31f097cf5740f93431ae3c58eb87 Mon Sep 17 00:00:00 2001 From: Fischer Leander Date: Mon, 17 Jul 2023 10:02:25 -0500 Subject: [PATCH 02/12] Fix sklearn dependency --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 1830faac1..8acd51e2f 100755 --- a/setup.py +++ b/setup.py @@ -80,7 +80,7 @@ 'setuptools>18.5', # versioneer requires >18.5 'numpy>=1.17', 'cython~=0.29.0', # needed for the setup and for the install - 'scikit-learn==1.1.2', + 'scikit-learn<=1.1.2', ] INSTALL_REQUIRES = [ @@ -105,7 +105,7 @@ 'py-cpuinfo', 'sympy', 'cython~=0.29.0', # needed for the setup and for the install - 'scikit-learn==1.1.2', + 'scikit-learn<=1.1.2', 'pyarrow', 'tqdm', ] From d4148dd165711731dec697153d3747c8af6e76de Mon Sep 17 00:00:00 2001 From: Leander Fischer Date: Tue, 18 Jul 2023 10:00:22 +0200 Subject: [PATCH 03/12] Deprecate argument (#745) --- pisa/core/map.py | 8 ++------ pisa/utils/random_numbers.py | 28 ++++++++-------------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/pisa/core/map.py b/pisa/core/map.py index 84d45bded..9e5412882 100755 --- a/pisa/core/map.py +++ b/pisa/core/map.py @@ -1048,7 +1048,7 @@ def downsample(self, *args, **kwargs): return self.rebin(new_binning) @_new_obj - def fluctuate(self, method, random_state=None, jumpahead=0): + def fluctuate(self, method, random_state=None, jumpahead=None): """Apply fluctuations to the map's values. Parameters @@ -1065,10 +1065,6 @@ def fluctuate(self, method, random_state=None, jumpahead=0): random_state : None or type accepted by utils.random_numbers.get_random_state - jumpahead : int >= 0 - After instantiating the random_state object, move `jumpahead` - positions forward in the Mersenne twister's finite state machine - Returns ------- fluctuated_map : Map @@ -3058,7 +3054,7 @@ def chi2_per_map(self, expected_values): def chi2_total(self, expected_values): return np.sum(self.chi2_per_map(expected_values)) - def fluctuate(self, method, random_state=None, jumpahead=0): + def fluctuate(self, method, random_state=None, jumpahead=None): """Add fluctuations to the maps in the set and return as a new MapSet. Parameters diff --git a/pisa/utils/random_numbers.py b/pisa/utils/random_numbers.py index 0c70647aa..7f2cd881d 100644 --- a/pisa/utils/random_numbers.py +++ b/pisa/utils/random_numbers.py @@ -36,22 +36,17 @@ limitations under the License.''' -def get_random_state(random_state, jumpahead=0): +def get_random_state(random_state, jumpahead=None): """Derive a `numpy.random.RandomState` object (usable to generate random numbers and distributions) from a flexible specification.. Parameters ---------- random_state : None, RandomState, string, int, state vector, or seq of int - Note for all of the below cases, `jumpahead` is applied _after_ the - RansomState is initialized using the `random_state` (except for - `random_state` indicating a truly-random number, in which case - `jumpahead` is ignored). * If instantiated RandomState object is passed, it is used directly * If string : must be either 'rand' or 'random'; random state is instantiated at random from either /dev/urandom or (if that is not present) the clock. This creates an irreproducibly-random number. - `jumpahead` is ignored. * If int or sequence of lenth one: This is used as the `seed` value; must be in [0, 2**32). * If sequence of two integers: first must be in [0, 32768): 15 @@ -65,14 +60,6 @@ def get_random_state(random_state, jumpahead=0): `numpy.random.RandomState.set_state`), set the random state using this method. - jumpahead : int >= 0 - Starting with the random state specified by `random_state`, produce - `jumpahead` random numbers to move this many states forward in the - random number generator's finite state machine. Note that this is - ignored if `random_state`="random" since jumping ahead any number of - states from a truly-random point merely yields another truly-random - point, but takes additional computational time. - Returns ------- random_state : numpy.random.RandomState @@ -81,6 +68,11 @@ def get_random_state(random_state, jumpahead=0): state). """ + if jumpahead is not None: + raise DeprecationWarning( + '`jumpahead` is deprecated since it does not result in an independent random sequence, simply use a different seed' + ) + if random_state is None: new_random_state = np.random.RandomState() @@ -96,7 +88,6 @@ def get_random_state(random_state, jumpahead=0): %(random_state, allowed_strings) ) new_random_state = np.random.RandomState() - jumpahead = 0 elif isinstance(random_state, int): new_random_state = np.random.RandomState(seed=random_state) @@ -142,9 +133,6 @@ def get_random_state(random_state, jumpahead=0): %(type(random_state), random_state) ) - if jumpahead > 0: - new_random_state.rand(jumpahead) - return new_random_state @@ -177,8 +165,8 @@ def test_get_random_state(): # Already generated 1k, so generating 2k more gets us 3k; pick off last 1k ref = rstates[ref_id].rand(2000)[1000:] - test = get_random_state(random_state=0, jumpahead=2000).rand(1000) - assert np.array_equal(test, ref), f'jumpahead=1k: rs != rs{ref_id}[2000:3000]' + test = get_random_state(random_state=0).rand(3000)[2000:3000] + assert np.array_equal(test, ref), f'rsrand(3000)[2000:3000] != rs{ref_id}rand(2000)[1000:][2000:3000]' # Test stability of random number generator over time; following were # retrieved on 2020-03-19 using numpy 1.18.1 via .. :: From 0d53f71599ce3c2d3b5dff5bac9bb14929db412f Mon Sep 17 00:00:00 2001 From: Anil Kumar Date: Wed, 9 Aug 2023 09:55:22 -0500 Subject: [PATCH 04/12] # Implement Neutrino decay in PISA (Prob3) - Anil Kumar (anil.kumar@desy.de) - Sharmistha Chattopadhyay ## Modify `numba_osc_kernels.py` * Passed `decay_flag` and `mat_decay` to `osc_probs_layers_kernel()` * Introduced `get_H_decay()` * Modified `get_transition_matrix()` * Modified `get_transition_matrix_massbasis()` * Introduced `get_dms_numerical()` - seperate function to diagonalize non-hermitian hamiltonian * Modified `get_product()` to handle general case ## Modify `numba_hostfunctions.py` * Modified `propagate_array()` * Modified `propagate_scalar()` * Modified `get_transition_matrix_hostfunc()` * Modified `get_transition_matrix_massbasis_hostfunc()` * Modified `get_product_hostfunc()` * Introduced `get_H_decay_hostfunc()` * Introduced `get_dms_numerical_hostfunc()` ## Modify `prob3.py` * Passed `neutrino_decay` (boolean to turn on/off decay) * Passed `decay_alpha3` parameter * Modified `propagate_array()` to include `decay_flag` and `decay_matrix` ## New - `decay_params.py` --- pisa/stages/osc/decay_params.py | 70 ++++++ pisa/stages/osc/prob3.py | 46 +++- .../osc/prob3numba/numba_osc_hostfuncs.py | 60 ++++-- .../osc/prob3numba/numba_osc_kernels.py | 199 +++++++++++++----- pisa/stages/osc/prob3numba/numba_osc_tests.py | 149 +++++++++---- ...ss_eigenstate_hostfunc__nufit32_io__f8.pkl | Bin 501 -> 493 bytes ...enstate_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 501 -> 493 bytes ...ss_eigenstate_hostfunc__nufit32_no__f8.pkl | Bin 501 -> 493 bytes ...state_hostfunc__nufit32_no_blearth__f8.pkl | Bin 501 -> 493 bytes ...enstate_hostfunc__nufit32_no_nubar__f8.pkl | Bin 501 -> 495 bytes ...nstate_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 493 bytes ...ate_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 493 bytes ...state_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 501 -> 493 bytes ...state_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 501 -> 493 bytes .../get_H_decay_hostfunc__nufit32_io__f8.pkl | Bin 0 -> 843 bytes ...H_decay_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 0 -> 843 bytes .../get_H_decay_hostfunc__nufit32_no__f8.pkl | Bin 0 -> 843 bytes ...decay_hostfunc__nufit32_no_blearth__f8.pkl | Bin 0 -> 843 bytes ...H_decay_hostfunc__nufit32_no_nubar__f8.pkl | Bin 0 -> 843 bytes ..._decay_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 843 bytes ...cay_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 843 bytes ...decay_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 0 -> 843 bytes ...decay_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 0 -> 843 bytes .../get_H_mat_hostfunc__nufit32_io__f8.pkl | Bin 660 -> 650 bytes ...t_H_mat_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 660 -> 650 bytes .../get_H_mat_hostfunc__nufit32_no__f8.pkl | Bin 660 -> 650 bytes ...H_mat_hostfunc__nufit32_no_blearth__f8.pkl | Bin 660 -> 650 bytes ...t_H_mat_hostfunc__nufit32_no_nubar__f8.pkl | Bin 660 -> 650 bytes ..._H_mat_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 650 bytes ...mat_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 650 bytes ...H_mat_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 660 -> 650 bytes ...H_mat_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 660 -> 650 bytes .../get_H_vac_hostfunc__nufit32_io__f8.pkl | Bin 880 -> 842 bytes ...t_H_vac_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 880 -> 842 bytes .../get_H_vac_hostfunc__nufit32_no__f8.pkl | Bin 880 -> 842 bytes ...H_vac_hostfunc__nufit32_no_blearth__f8.pkl | Bin 880 -> 842 bytes ...t_H_vac_hostfunc__nufit32_no_nubar__f8.pkl | Bin 880 -> 842 bytes ..._H_vac_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 842 bytes ...vac_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 842 bytes ...H_vac_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 880 -> 842 bytes ...H_vac_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 880 -> 842 bytes .../get_dms_hostfunc__nufit32_io__f8.pkl | Bin 909 -> 888 bytes ...get_dms_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 909 -> 888 bytes .../get_dms_hostfunc__nufit32_no__f8.pkl | Bin 909 -> 888 bytes ...t_dms_hostfunc__nufit32_no_blearth__f8.pkl | Bin 909 -> 888 bytes ...get_dms_hostfunc__nufit32_no_nubar__f8.pkl | Bin 909 -> 888 bytes ...et_dms_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 888 bytes ...dms_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 888 bytes ...t_dms_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 909 -> 888 bytes ...t_dms_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 909 -> 888 bytes ...erical_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 776 bytes ...sition_matrix_hostfunc__nufit32_io__f8.pkl | Bin 1411 -> 1596 bytes ..._matrix_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 1411 -> 1596 bytes ...sition_matrix_hostfunc__nufit32_no__f8.pkl | Bin 1411 -> 1596 bytes ...atrix_hostfunc__nufit32_no_blearth__f8.pkl | Bin 1411 -> 1596 bytes ..._matrix_hostfunc__nufit32_no_nubar__f8.pkl | Bin 1411 -> 1596 bytes ...matrix_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 1596 bytes ...rix_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 1596 bytes ...atrix_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 1411 -> 1596 bytes ...atrix_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 1411 -> 1596 bytes ...rix_massbasis_hostfunc__nufit32_io__f8.pkl | Bin 1040 -> 1019 bytes ...ssbasis_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 1040 -> 1019 bytes ...rix_massbasis_hostfunc__nufit32_no__f8.pkl | Bin 1040 -> 1019 bytes ...basis_hostfunc__nufit32_no_blearth__f8.pkl | Bin 1040 -> 1019 bytes ...ssbasis_hostfunc__nufit32_no_nubar__f8.pkl | Bin 1040 -> 1019 bytes ...sbasis_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 1019 bytes ...sis_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 1019 bytes ...basis_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 1040 -> 1019 bytes ...basis_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 1040 -> 1019 bytes .../product_hostfunc__nufit32_io__f8.pkl | Bin 1293 -> 1269 bytes ...product_hostfunc__nufit32_no_E1TeV__f8.pkl | Bin 1293 -> 1269 bytes .../product_hostfunc__nufit32_no__f8.pkl | Bin 1293 -> 1269 bytes ...oduct_hostfunc__nufit32_no_blearth__f8.pkl | Bin 1293 -> 1269 bytes ...product_hostfunc__nufit32_no_nubar__f8.pkl | Bin 1293 -> 1269 bytes ...roduct_hostfunc__nufit32_std_decay__f8.pkl | Bin 0 -> 1269 bytes ...uct_hostfunc__nufit32_std_decay_no__f8.pkl | Bin 0 -> 1269 bytes ...oduct_hostfunc__nufit32_std_nsi_no__f8.pkl | Bin 1293 -> 1269 bytes ...oduct_hostfunc__nufit32_vac_nsi_no__f8.pkl | Bin 1293 -> 1269 bytes .../propagate_scalar__nufit32_io__f8.pkl | Bin 1132 -> 1317 bytes ...propagate_scalar__nufit32_no_E1TeV__f8.pkl | Bin 1132 -> 1317 bytes .../propagate_scalar__nufit32_no__f8.pkl | Bin 1132 -> 1317 bytes ...opagate_scalar__nufit32_no_blearth__f8.pkl | Bin 1132 -> 1317 bytes ...propagate_scalar__nufit32_no_nubar__f8.pkl | Bin 1132 -> 1317 bytes ...ropagate_scalar__nufit32_std_decay__f8.pkl | Bin 0 -> 1317 bytes ...agate_scalar__nufit32_std_decay_no__f8.pkl | Bin 0 -> 1317 bytes ...opagate_scalar__nufit32_std_nsi_no__f8.pkl | Bin 1132 -> 1317 bytes ...opagate_scalar__nufit32_vac_nsi_no__f8.pkl | Bin 1132 -> 1317 bytes 87 files changed, 409 insertions(+), 115 deletions(-) create mode 100644 pisa/stages/osc/decay_params.py create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_io__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_E1TeV__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_blearth__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_nubar__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_nsi_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_vac_nsi_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_dms_numerical_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay_no__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay__f8.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay_no__f8.pkl diff --git a/pisa/stages/osc/decay_params.py b/pisa/stages/osc/decay_params.py new file mode 100644 index 000000000..ff387fead --- /dev/null +++ b/pisa/stages/osc/decay_params.py @@ -0,0 +1,70 @@ +# author: Anil Kumar (anil.kumar@desy.de) +# date: 2023 + +""" +DecayParams: Characterize neutrino decay parameters + (alpha3) +""" + +from __future__ import division + +import numpy as np + +from pisa import FTYPE, CTYPE + +__all__ = ['DecayParams'] + +class DecayParams(object): + """ + Holds neutrino decay parameters, i.e., alpha + + Parameters + ---------- + decay_alpha3: float + expected to be given in [eV^2] + + + Attributes + ---------- + decay_alpha3 : float + Cf. parameters + decay_matrix : 3d complex array + + """ + def __init__(self): + + self._decay_alpha3 = 0. + self._decay_matrix = np.zeros((3, 3), dtype=CTYPE) + + # --- theta12 --- + @property + def decay_alpha3(self): + """alpha3""" + return self._decay_alpha3 + + @decay_alpha3.setter + def decay_alpha3(self, value): + self._decay_alpha3 = value + + @property + def decay_matrix(self): + """Neutrino decay matrix""" + decay_mat = np.zeros((3, 3), dtype=CTYPE) + + decay_mat[2, 2] = np.complex(0, -self.decay_alpha3) + + return decay_mat + +def test_decay_params(): + """ + # TODO: implement me! + """ + pass + + +if __name__=='__main__': + from pisa import TARGET + from pisa.utils.log import set_verbosity, logging + assert TARGET == 'cpu', "Cannot test functions on GPU, set PISA_TARGET to 'cpu'" + set_verbosity(1) + test_decay_params() \ No newline at end of file diff --git a/pisa/stages/osc/prob3.py b/pisa/stages/osc/prob3.py index 6a247d0fb..254ddd360 100644 --- a/pisa/stages/osc/prob3.py +++ b/pisa/stages/osc/prob3.py @@ -11,12 +11,13 @@ import numpy as np from numba import guvectorize -from pisa import FTYPE, TARGET, ureg +from pisa import FTYPE, CTYPE, TARGET, ureg from pisa.core.stage import Stage from pisa.utils.log import logging from pisa.utils.profiler import profile from pisa.stages.osc.nsi_params import StdNSIParams, VacuumLikeNSIParams from pisa.stages.osc.osc_params import OscParams +from pisa.stages.osc.decay_params import DecayParams from pisa.stages.osc.layers import Layers from pisa.stages.osc.prob3numba.numba_osc_hostfuncs import propagate_array, fill_probs from pisa.utils.numba_tools import WHERE @@ -61,6 +62,7 @@ class prob3(Stage): eps_mutau_magn : quantity (dimensionless) eps_mutau_phase : quantity (angle) eps_tautau : quantity (dimensionless) + decay_alpha3 : quantity (energy^2) **kwargs Other kwargs are handled by Stage @@ -72,6 +74,7 @@ def __init__( self, nsi_type=None, reparam_mix_matrix=False, + neutrino_decay=False, **std_kwargs, ): @@ -107,6 +110,15 @@ def __init__( the standard one by an overall phase matrix diag(e^(i*delta_CP), 1, 1). This has no impact on oscillation probabilities in the *absence* of NSI.""" + + self.neutrino_decay = neutrino_decay + + if neutrino_decay: + self.decay_flag = 1 + else : + self.decay_flag = -1 + + """Invoke neutrino decay with neutrino oscillation.""" if self.nsi_type is None: nsi_params = () @@ -131,7 +143,13 @@ def __init__( 'eps_mutau_phase', 'eps_tautau' ) - expected_params = expected_params + nsi_params + + if self.neutrino_decay : + decay_params = ('decay_alpha3',) + else: + decay_params = () + + expected_params = expected_params + nsi_params + decay_params # init base class super().__init__( @@ -143,6 +161,8 @@ def __init__( self.layers = None self.osc_params = None self.nsi_params = None + self.decay_params = None + self.decay_matrix = None # Note that the interaction potential (Hamiltonian) just scales with the # electron density N_e for propagation through the Earth, # even(to very good approx.) in the presence of generalised interactions @@ -171,6 +191,10 @@ def setup_function(self): elif self.nsi_type == 'standard': logging.debug('Working in standard NSI parameterization.') self.nsi_params = StdNSIParams() + + if self.neutrino_decay: + logging.debug('Working with neutrino decay') + self.decay_params = DecayParams() # setup the layers #if self.params.earth_model.value is not None: @@ -221,9 +245,17 @@ def calc_probs(self, nubar, e_array, rho_array, len_array, out): mix_matrix = self.osc_params.mix_matrix_reparam_complex else: mix_matrix = self.osc_params.mix_matrix_complex + + logging.debug('mat pot:\n%s' + % self.gen_mat_pot_matrix_complex) + logging.debug('decay mat:\n%s' + % self.decay_matix) + propagate_array(self.osc_params.dm_matrix, # pylint: disable = unexpected-keyword-arg, no-value-for-parameter mix_matrix, self.gen_mat_pot_matrix_complex, + self.decay_flag, + self.decay_matix, nubar, e_array, rho_array, @@ -290,6 +322,9 @@ def compute_function(self): self.params.eps_mutau_phase.value.m_as('rad')) ) self.nsi_params.eps_tautau = self.params.eps_tautau.value.m_as('dimensionless') + + if self.neutrino_decay: + self.decay_params.decay_alpha3 = self.params.decay_alpha3.value.m_as('eV**2') # now we can proceed to calculate the generalised matter potential matrix std_mat_pot_matrix = np.zeros((3, 3), dtype=FTYPE) + 1.j * np.zeros((3, 3), dtype=FTYPE) @@ -307,6 +342,13 @@ def compute_function(self): self.gen_mat_pot_matrix_complex = std_mat_pot_matrix logging.debug('Using standard matter potential:\n%s' % self.gen_mat_pot_matrix_complex) + + if self.neutrino_decay: + self.decay_matix = self.decay_params.decay_matrix + logging.debug('Decay matrix:\n%s' % self.decay_params.decay_matrix) + else : + self.decay_matix = np.zeros((3, 3), dtype=FTYPE) + 1.j * np.zeros((3, 3), dtype=FTYPE) + for container in self.data: self.calc_probs(container['nubar'], diff --git a/pisa/stages/osc/prob3numba/numba_osc_hostfuncs.py b/pisa/stages/osc/prob3numba/numba_osc_hostfuncs.py index 26de13971..2a988f6bb 100644 --- a/pisa/stages/osc/prob3numba/numba_osc_hostfuncs.py +++ b/pisa/stages/osc/prob3numba/numba_osc_hostfuncs.py @@ -18,8 +18,10 @@ get_transition_matrix, get_transition_matrix_massbasis, get_H_vac, + get_H_decay, get_H_mat, get_dms, + get_dms_numerical, get_product, convert_from_mass_eigenstate, ) @@ -56,29 +58,29 @@ @guvectorize( - [f"({FX}[:,:], {CX}[:,:], {CX}[:,:], {IX}, {FX}, {FX}[:], {FX}[:], {FX}[:,:])"], - "(a,a), (a,a), (b,c), (), (), (i), (i) -> (a,a)", + [f"({FX}[:,:], {CX}[:,:], {CX}[:,:], {IX}, {CX}[:,:], {IX}, {FX}, {FX}[:], {FX}[:], {FX}[:,:])"], + "(a,a), (a,a), (b,c), (), (b,c), (), (), (i), (i) -> (a,a)", target=TARGET, ) -def propagate_array(dm, mix, mat_pot, nubar, energy, densities, distances, probability): +def propagate_array(dm, mix, mat_pot, decay_flag, mat_decay, nubar, energy, densities, distances, probability): """wrapper to run `osc_probs_layers_kernel` from host (whether TARGET is "cuda" or "host")""" osc_probs_layers_kernel( - dm, mix, mat_pot, nubar, energy, densities, distances, probability + dm, mix, mat_pot, decay_flag, mat_decay, nubar, energy, densities, distances, probability ) @njit( - [f"({FX}[:,:], {CX}[:,:], {CX}[:,:], {IX}, {FX}, {FX}[:], {FX}[:], {FX}[:,:])"], + [f"({FX}[:,:], {CX}[:,:], {CX}[:,:], {IX}, {CX}[:,:], {IX}, {FX}, {FX}[:], {FX}[:], {FX}[:,:])"], parallel=TARGET == "parallel" ) def propagate_scalar( - dm, mix, mat_pot, nubar, energy, densities, distances, probability + dm, mix, mat_pot, decay_flag, mat_decay, nubar, energy, densities, distances, probability ): """wrapper to run `osc_probs_layers_kernel` from host (whether TARGET is "cuda" or "host")""" osc_probs_layers_kernel( - dm, mix, mat_pot, nubar, energy, densities, distances, probability + dm, mix, mat_pot, decay_flag, mat_decay, nubar, energy, densities, distances, probability ) @@ -93,6 +95,8 @@ def propagate_scalar( f"{CX}[:,:], " # mix_nubar_conj_transp f"{CX}[:,:], " # mat_pot f"{CX}[:,:], " # H_vac + f"{IX}, " # neutrino decay flag + f"{CX}[:,:], " # H_decay f"{FX}[:,:], " # dm f"{CX}[:,:], " # transition_matrix ")" @@ -108,6 +112,8 @@ def get_transition_matrix_hostfunc( mix_nubar_conj_transp, mat_pot, H_vac, + decay_flag, + H_decay, dm, transition_matrix, ): @@ -122,6 +128,8 @@ def get_transition_matrix_hostfunc( mix_nubar_conj_transp, mat_pot, H_vac, + decay_flag, + H_decay, dm, transition_matrix, ) @@ -129,23 +137,23 @@ def get_transition_matrix_hostfunc( @njit([f"({FX}, {FX}, {CX}[:,:], {CX}[:,:], {CX}[:,:], {CX}[:,:])"], parallel=TARGET == "parallel") def get_transition_matrix_massbasis_hostfunc( - baseline, - energy, - dm_mat_vac, - dm_mat_mat, - H_mat_mass_eigenstate_basis, - transition_matrix, + baseline, + energy, + dm_mat, + dm_mat_mat, + H_full_mass_eigenstate_basis, + transition_matrix, ): """wrapper to run `get_transition_matrix_massbasis` from host (whether TARGET is "cuda" or "host")""" get_transition_matrix_massbasis( baseline, energy, - dm_mat_vac, + dm_mat, dm_mat_mat, - H_mat_mass_eigenstate_basis, + H_full_mass_eigenstate_basis, transition_matrix, - ) + ) @njit([f"({CX}[:,:], {CX}[:,:], {FX}[:,:], {CX}[:,:])"], parallel=TARGET == "parallel") @@ -153,7 +161,11 @@ def get_H_vac_hostfunc(mix_nubar, mix_nubar_conj_transp, dm_vac_vac, H_vac): """wrapper to run `get_H_vac` from host (whether TARGET is "cuda" or "host")""" get_H_vac(mix_nubar, mix_nubar_conj_transp, dm_vac_vac, H_vac) - +@njit([f"({CX}[:,:], {CX}[:,:], {FX}[:,:], {CX}[:,:])"], parallel=TARGET == "parallel") +def get_H_decay_hostfunc(mix_nubar, mix_nubar_conj_transp, mat_decay, H_decay): + """wrapper to run `get_H_decay` from host (whether TARGET is "cuda" or "host")""" + get_H_decay(mix_nubar, mix_nubar_conj_transp, mat_decay, H_decay) + # @guvectorize( # [f"({FX}, {CX}[:,:], {IX}, {CX}[:,:])"], "(), (m, m), () -> (m, m)" # ) @@ -164,17 +176,21 @@ def get_H_mat_hostfunc(rho, mat_pot, nubar, H_mat): @njit([f"({FX}, {CX}[:,:], {FX}[:,:], {CX}[:,:], {CX}[:,:])"], parallel=TARGET == "parallel") -def get_dms_hostfunc(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac): +def get_dms_hostfunc(energy, H_full, dm_vac_vac, dm_mat_mat, dm_mat): """wrapper to run `get_dms` from host (whether TARGET is "cuda" or "host")""" - get_dms(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac) - + get_dms(energy, H_full, dm_vac_vac, dm_mat_mat, dm_mat) +@njit([f"({FX}, {CX}[:,:], {CX}[:,:], {CX}[:,:])"], parallel=TARGET == "parallel") +def get_dms_numerical_hostfunc(energy, H_full, dm_mat_mat, dm_mat): + """wrapper to run `get_dms` from host (whether TARGET is "cuda" or "host")""" + get_dms_numerical(energy, H_full, dm_mat_mat, dm_mat) + @njit([f"({FX}, {CX}[:,:], {CX}[:,:], {CX}[:,:], {CX}[:,:,:])"], parallel=TARGET == "parallel") def get_product_hostfunc( - energy, dm_mat_vac, dm_mat_mat, H_mat_mass_eigenstate_basis, product + energy, dm_mat, dm_mat_mat, H_full_mass_eigenstate_basis, product ): """wrapper to run `get_product` from host (whether TARGET is "cuda" or "host")""" - get_product(energy, dm_mat_vac, dm_mat_mat, H_mat_mass_eigenstate_basis, product) + get_product(energy, dm_mat, dm_mat_mat, H_full_mass_eigenstate_basis, product) @njit([f"({IX}, {CX}[:,:], {CX}[:])"], parallel=TARGET == "parallel") diff --git a/pisa/stages/osc/prob3numba/numba_osc_kernels.py b/pisa/stages/osc/prob3numba/numba_osc_kernels.py index 9b332960e..1e735ab10 100644 --- a/pisa/stages/osc/prob3numba/numba_osc_kernels.py +++ b/pisa/stages/osc/prob3numba/numba_osc_kernels.py @@ -119,7 +119,7 @@ @myjit def osc_probs_layers_kernel( - dm, mix, mat_pot, nubar, energy, density_in_layer, distance_in_layer, osc_probs + dm, mix, mat_pot, decay_flag, mat_decay, nubar, energy, density_in_layer, distance_in_layer, osc_probs ): """ Calculate oscillation probabilities @@ -137,6 +137,12 @@ def osc_probs_layers_kernel( Generalised matter potential matrix without "a" factor (will be multiplied with "a" factor); set to diag([1, 0, 0]) for only standard oscillations + + decay_flag: int + +1 forstandard oscillations + decay, -1 for standard oscillations + + mat_decay : complex 2d array + decay matrix with -j*alpha3 = [2,2] element nubar : real int, scalar or Nd array (broadcast dim) 1 for neutrinos, -1 for antineutrinos @@ -168,6 +174,7 @@ def osc_probs_layers_kernel( # 3x3 complex H_vac = cuda.local.array(shape=(3, 3), dtype=ctype) + H_decay = cuda.local.array(shape=(3, 3), dtype=ctype) mix_nubar = cuda.local.array(shape=(3, 3), dtype=ctype) mix_nubar_conj_transp = cuda.local.array(shape=(3, 3), dtype=ctype) transition_product = cuda.local.array(shape=(3, 3), dtype=ctype) @@ -175,6 +182,7 @@ def osc_probs_layers_kernel( tmp = cuda.local.array(shape=(3, 3), dtype=ctype) clear_matrix(H_vac) + clear_matrix(H_decay) clear_matrix(osc_probs) # 3-vector complex @@ -201,8 +209,11 @@ def osc_probs_layers_kernel( conjugate(mix, mix_nubar) conjugate_transpose(mix_nubar, mix_nubar_conj_transp) - + get_H_vac(mix_nubar, mix_nubar_conj_transp, dm, H_vac) + #Compute the decay matrix in the flavor basis + get_H_decay(mix_nubar, mix_nubar_conj_transp, mat_decay, H_decay) + if cache: # allocate array to store all the transition matrices @@ -242,6 +253,8 @@ def osc_probs_layers_kernel( mix_nubar_conj_transp, mat_pot, H_vac, + decay_flag, + H_decay, dm, transition_matrix, ) @@ -290,6 +303,8 @@ def osc_probs_layers_kernel( mix_nubar_conj_transp, mat_pot, H_vac, + decay_flag, + H_decay, dm, transition_matrix, ) @@ -330,6 +345,8 @@ def get_transition_matrix( mix_nubar_conj_transp, mat_pot, H_vac, + decay_flag, + H_decay, dm, transition_matrix, ): @@ -365,6 +382,12 @@ def get_transition_matrix( H_vac : complex 2d array Hamiltonian in vacuum, without the 1/2E term + + H_decay : complex 2d array + Decay matrix, without the 1/2E term + + decay_flag: int + +1 forstandard oscillations + decay, -1 for standard oscillations dm : real 2d array Mass splitting matrix, eV^2 @@ -380,51 +403,64 @@ def get_transition_matrix( """ H_mat = cuda.local.array(shape=(3, 3), dtype=ctype) - dm_mat_vac = cuda.local.array(shape=(3, 3), dtype=ctype) + dm_mat = cuda.local.array(shape=(3, 3), dtype=ctype) dm_mat_mat = cuda.local.array(shape=(3, 3), dtype=ctype) + #H_decay = cuda.local.array(shape=(3, 3), dtype=ctype) H_full = cuda.local.array(shape=(3, 3), dtype=ctype) tmp = cuda.local.array(shape=(3, 3), dtype=ctype) - H_mat_mass_eigenstate_basis = cuda.local.array(shape=(3, 3), dtype=ctype) + H_full_mass_eigenstate_basis = cuda.local.array(shape=(3, 3), dtype=ctype) # Compute the matter potential including possible generalized interactions # in the flavor basis + get_H_mat(rho, mat_pot, nubar, H_mat) - + # Get the full Hamiltonian by adding together matter and vacuum parts one_over_two_e = 0.5 / energy - for i in range(3): - for j in range(3): - H_full[i, j] = H_vac[i, j] * one_over_two_e + H_mat[i, j] - - # Calculate modified mass eigenvalues in matter from the full Hamiltonian and - # the vacuum mass splittings - get_dms(energy, H_full, dm, dm_mat_mat, dm_mat_vac) - - # Now we transform the matter (TODO: matter? full?) Hamiltonian back into the + + if (decay_flag == 1): + for i in range(3): + for j in range(3): + H_full[i, j] = (H_vac[i, j] + H_decay[i,j]) * one_over_two_e + H_mat[i, j] + + # Calculate modified mass eigenvalues in matter from the full Hamiltonian + get_dms_numerical(energy, H_full, dm_mat_mat, dm_mat) + + else: + for i in range(3): + for j in range(3): + H_full[i, j] = H_vac[i, j] * one_over_two_e + H_mat[i, j] + + + # Calculate modified mass eigenvalues in matter from the full Hamiltonian and + # the vacuum mass splittings + get_dms(energy, H_full, dm, dm_mat_mat, dm_mat) + + # Now we transform the full Hamiltonian back into the # mass eigenstate basis so we don't need to compute products of the effective # mixing matrix elements explicitly - matrix_dot_matrix(H_mat, mix_nubar, tmp) - matrix_dot_matrix(mix_nubar_conj_transp, tmp, H_mat_mass_eigenstate_basis) + matrix_dot_matrix(H_full, mix_nubar, tmp) + matrix_dot_matrix(mix_nubar_conj_transp, tmp, H_full_mass_eigenstate_basis) # We can now proceed to calculating the transition amplitude from the Hamiltonian # in the mass basis and the effective mass splittings get_transition_matrix_massbasis( baseline, energy, - dm_mat_vac, + dm_mat, dm_mat_mat, - H_mat_mass_eigenstate_basis, + H_full_mass_eigenstate_basis, transition_matrix, ) - + @myjit def get_transition_matrix_massbasis( baseline, energy, - dm_mat_vac, + dm_mat, dm_mat_mat, - H_mat_mass_eigenstate_basis, + H_full_mass_eigenstate_basis, transition_matrix, ): """ @@ -438,11 +474,11 @@ def get_transition_matrix_massbasis( energy : float Neutrino energy, GeV - dm_mat_vac : complex 2d array + dm_mat : complex 2d array dm_mat_mat : complex 2d array - H_mat_mass_eigenstate_basis : complex 2d array + H_full_mass_eigenstate_basis : complex 2d array transition_matrix : complex 2d array (empty) Transition matrix in mass eigenstate basis @@ -458,13 +494,13 @@ def get_transition_matrix_massbasis( clear_matrix(transition_matrix) - get_product(energy, dm_mat_vac, dm_mat_mat, H_mat_mass_eigenstate_basis, product) + get_product(energy, dm_mat, dm_mat_mat, H_full_mass_eigenstate_basis, product) # (1/2)*(1/(h_bar*c)) in units of GeV/(eV^2 km) hbar_c_factor = 2.534 for k in range(3): - arg = -dm_mat_vac[k, 0] * (baseline / energy) * hbar_c_factor + arg = -dm_mat[k, 0] * (baseline / energy) * hbar_c_factor c = cmath.exp(arg * 1.0j) for i in range(3): for j in range(3): @@ -508,6 +544,39 @@ def get_H_vac(mix_nubar, mix_nubar_conj_transp, dm_vac_vac, H_vac): matrix_dot_matrix(dm_vac_diag, mix_nubar_conj_transp, tmp) matrix_dot_matrix(mix_nubar, tmp, H_vac) +@myjit +def get_H_decay(mix_nubar, mix_nubar_conj_transp, mat_decay, H_decay): + """ Calculate decay Hamiltonian in flavor basis for neutrino or antineutrino + + Parameters: + ----------- + mix_nubar : complex 2d array + Mixing matrix, already conjugated if antineutrino + + mix_nubar_conj_transp : conjugate 2d array + Conjugate transpose of mix_nubar + + H_decay : complex 2d array + Hamiltonian for decay, without the 1/2E term + + + Notes + ------ + The Hailtonian does not contain the energy dependent factor of + 1/(2 * E), as it will be added later + + """ + + #dm_decay_diag = cuda.local.array(shape=(3, 3), dtype=ctype) + tmp = cuda.local.array(shape=(3, 3), dtype=ctype) + + clear_matrix(H_decay) + + #dm_decay_diag[2, 2] = 0. - 1.0j*alpha3 + + #matrix_dot_matrix(dm_decay_diag, mix_nubar_conj_transp, tmp) + matrix_dot_matrix(mat_decay, mix_nubar_conj_transp, tmp) + matrix_dot_matrix(mix_nubar, tmp, H_decay) @myjit def get_H_mat(rho, mat_pot, nubar, H_mat): @@ -559,9 +628,40 @@ def get_H_mat(rho, mat_pot, nubar, H_mat): elif nubar == 1: H_mat[i, j] = a * mat_pot[i, j] +@myjit +def get_dms_numerical(energy, H_full, dm_mat_mat, dm_mat): + """Compute the matter-mass vector M, dM = M_i-M_j and dMimj + + Parameters + ---------- + energy : float + Neutrino energy, GeV + + H_full : complex 2d array + full hamiltonian + + dm_mat_mat : complex 2d array (empty) + + dm_mat : complex 2d array (empty) + + + Notes + ----- + Calculate mass eigenstates in matter + neutrino or anti-neutrino (type already taken into account in Hamiltonian) + of energy energy. + """ + + + m_mat = 2.0 * energy * np.linalg.eigvals(H_full) + + for i in range(3): + for j in range(3): + dm_mat_mat[i, j] = m_mat[i] - m_mat[j] + dm_mat[i, j] = m_mat[i] @myjit -def get_dms(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac): +def get_dms(energy, H_full, dm_vac_vac, dm_mat_mat, dm_mat): """Compute the matter-mass vector M, dM = M_i-M_j and dMimj Parameters @@ -569,14 +669,14 @@ def get_dms(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac): energy : float Neutrino energy, GeV - H_mat : complex 2d array - matter hamiltonian + H_full : complex 2d array + full hamiltonian dm_vac_vac : 2d array dm_mat_mat : complex 2d array (empty) - dm_mat_vac : complex 2d array (empty) + dm_mat : complex 2d array (empty) Notes @@ -589,24 +689,24 @@ def get_dms(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac): """ - # the following is for solving the characteristic polynomial of H_mat: + # the following is for solving the characteristic polynomial of H_full: # P(x) = x**3 + c2*x**2 + c1*x + c0 - real_product_a = (H_mat[0, 1] * H_mat[1, 2] * H_mat[2, 0]).real - real_product_b = (H_mat[0, 0] * H_mat[1, 1] * H_mat[2, 2]).real + real_product_a = (H_full[0, 1] * H_full[1, 2] * H_full[2, 0]).real + real_product_b = (H_full[0, 0] * H_full[1, 1] * H_full[2, 2]).real - norm_H_e_mu_sq = H_mat[0, 1].real ** 2 + H_mat[0, 1].imag ** 2 - norm_H_e_tau_sq = H_mat[0, 2].real ** 2 + H_mat[0, 2].imag ** 2 - norm_H_mu_tau_sq = H_mat[1, 2].real ** 2 + H_mat[1, 2].imag ** 2 + norm_H_e_mu_sq = H_full[0, 1].real ** 2 + H_full[0, 1].imag ** 2 + norm_H_e_tau_sq = H_full[0, 2].real ** 2 + H_full[0, 2].imag ** 2 + norm_H_mu_tau_sq = H_full[1, 2].real ** 2 + H_full[1, 2].imag ** 2 # c1 = H_{11} * H_{22} + H_{11} * H_{33} + H_{22} * H_{33} # - |H_{12}|**2 - |H_{13}|**2 - |H_{23}|**2 # given Hermiticity of Hamiltonian (real diagonal elements), # this coefficient must be real c1 = ( - (H_mat[0, 0].real * (H_mat[1, 1] + H_mat[2, 2])).real - - (H_mat[0, 0].imag * (H_mat[1, 1] + H_mat[2, 2])).imag - + (H_mat[1, 1].real * H_mat[2, 2]).real - - (H_mat[1, 1].imag * H_mat[2, 2]).imag + (H_full[0, 0].real * (H_full[1, 1] + H_full[2, 2])).real + - (H_full[0, 0].imag * (H_full[1, 1] + H_full[2, 2])).imag + + (H_full[1, 1].real * H_full[2, 2]).real + - (H_full[1, 1].imag * H_full[2, 2]).imag - norm_H_e_mu_sq - norm_H_mu_tau_sq - norm_H_e_tau_sq @@ -616,16 +716,16 @@ def get_dms(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac): # - H_{11} * H_{22} * H_{33} - 2*Re(H*_{13} * H_{12} * H_{23}) # hence, this coefficient is also real c0 = ( - H_mat[0, 0].real * norm_H_mu_tau_sq - + H_mat[1, 1].real * norm_H_e_tau_sq - + H_mat[2, 2].real * norm_H_e_mu_sq + H_full[0, 0].real * norm_H_mu_tau_sq + + H_full[1, 1].real * norm_H_e_tau_sq + + H_full[2, 2].real * norm_H_e_mu_sq - 2.0 * real_product_a - real_product_b ) # c2 = -H_{11} - H_{22} - H_{33} # hence, this coefficient is also real - c2 = -H_mat[0, 0].real - H_mat[1, 1].real - H_mat[2, 2].real + c2 = -H_full[0, 0].real - H_full[1, 1].real - H_full[2, 2].real one_over_two_e = 0.5 / energy one_third = 1.0 / 3.0 @@ -703,22 +803,23 @@ def get_dms(energy, H_mat, dm_vac_vac, dm_mat_mat, dm_mat_vac): for i in range(3): for j in range(3): dm_mat_mat[i, j] = m_mat[i] - m_mat[j] - dm_mat_vac[i, j] = m_mat[i] - dm_vac_vac[j, 0] + dm_mat[i, j] = m_mat[i] + #dm_mat_vac[i, j] = m_mat[i] - dm_vac_vac[j, 0] @myjit -def get_product(energy, dm_mat_vac, dm_mat_mat, H_mat_mass_eigenstate_basis, product): +def get_product(energy, dm_mat, dm_mat_mat, H_full_mass_eigenstate_basis, product): """ Parameters ---------- energy : float Neutrino energy, GeV - dm_mat_vac : complex 2d array + dm_mat : complex 2d array dm_mat_mat : complex 2d array - H_mat_mass_eigenstate_basis : complex 2d array + H_full_mass_eigenstate_basis : complex 2d array product : complex 3d-array (empty) @@ -729,9 +830,9 @@ def get_product(energy, dm_mat_vac, dm_mat_mat, H_mat_mass_eigenstate_basis, pro for i in range(3): for j in range(3): for k in range(3): - H_minus_M[i, j, k] = 2.0 * energy * H_mat_mass_eigenstate_basis[i, j] + H_minus_M[i, j, k] = 2.0 * energy * H_full_mass_eigenstate_basis[i, j] if i == j: - H_minus_M[i, j, k] -= dm_mat_vac[k, j] + H_minus_M[i, j, k] -= dm_mat[k, j] # also, cler product product[i, j, k] = 0.0 diff --git a/pisa/stages/osc/prob3numba/numba_osc_tests.py b/pisa/stages/osc/prob3numba/numba_osc_tests.py index 75f0622e3..b46b6273b 100755 --- a/pisa/stages/osc/prob3numba/numba_osc_tests.py +++ b/pisa/stages/osc/prob3numba/numba_osc_tests.py @@ -56,8 +56,10 @@ get_transition_matrix_hostfunc, get_transition_matrix_massbasis_hostfunc, get_H_vac_hostfunc, + get_H_decay_hostfunc, get_H_mat_hostfunc, get_dms_hostfunc, + get_dms_numerical_hostfunc, get_product_hostfunc, convert_from_mass_eigenstate_hostfunc, ) @@ -104,6 +106,8 @@ dcp=np.deg2rad(234), dm21=7.40e-5, dm31=2.494e-3, + decay_flag=-1, + mat_decay=np.diag([0, 0, -1.0e-4j ]).astype(np.complex128), ) # define non-0 NSI parameters for non-vacuum NSI @@ -149,6 +153,14 @@ nufit32_vac_nsi_no=dict( # nufit 3.2 normal ordering with non-0 vacuum NSI parameters mat_pot=mat_pot_vac_nsi_no, ), + nufit32_std_decay_no=dict( # nufit 3.2 normal ordering with no neutrino decay + decay_flag=-1, + mat_decay=DEFAULTS["mat_decay"], + ), + nufit32_std_decay=dict( # nufit 3.2 normal ordering with neutrino decay + decay_flag=1, + mat_decay=DEFAULTS["mat_decay"], + ), ) @@ -234,6 +246,8 @@ def test_prob3numba(ignore_fails=False, define_as_ref=False): tc_["dm"].astype(FX), tc_["pmns"].astype(CX), tc_["mat_pot"].astype(CX), + tc_["decay_flag"], + tc_["mat_decay"].astype(CX), nubars, energies, tc_["layer_densities"].astype(FX), @@ -299,7 +313,26 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): logging.debug("\nH_vac = %s", ary2str(test["H_vac"])) # keep for use by `get_transition_matrix_hostfunc` H_vac_ref = ref["H_vac"] - + + tc_ = deepcopy(tc) + test, ref = stability_test( + func=get_H_decay_hostfunc, + func_kw=dict( + mix_nubar=tc_["pmns"] if tc_["nubar"] > 0 else tc_["pmns"].conj().T, + mix_nubar_conj_transp=( + tc_["pmns"].conj().T if tc_["nubar"] > 0 else tc_["pmns"] + ), + mat_decay=tc_["mat_decay"], + #output; + H_decay=np.ones(shape=(3, 3), dtype=CX), + ), + ref_path=join(TEST_DATA_DIR, f"get_H_decay_hostfunc{tf_sfx}"), + **st_test_kw, + ) + logging.debug("\nH_decay = %s", ary2str(test["H_decay"])) + # keep for use by `get_transition_matrix_hostfunc` + H_decay_ref = ref["H_decay"] + tc_ = deepcopy(tc) test, ref = stability_test( func=get_H_mat_hostfunc, @@ -360,6 +393,8 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): dm=tc_["dm"], mix=tc_["pmns"], mat_pot=tc_["mat_pot"], + decay_flag=tc_["decay_flag"], + mat_decay=tc_["mat_decay"], nubar=tc_["nubar"], energy=tc_["energy"], densities=tc_["layer_densities"], @@ -371,19 +406,21 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): **st_test_kw, ) logging.debug("\nmat_prob = %s", ary2str(test["probability"])) - # check unitarity - check( - test=np.sum(test["probability"], axis=0), - ref=np.ones(3), - label=f"{tc_name} :: propagate_scalar:: sum(matter probability, axis=0)", - ignore_fails=ignore_fails, - ) - check( - test=np.sum(test["probability"], axis=1), - ref=np.ones(3), - label=f"{tc_name} :: propagate_scalar :: sum(matter probability, axis=1)", - ignore_fails=ignore_fails, - ) + + if (tc_["decay_flag"] != 1): + # check unitarity + check( + test=np.sum(test["probability"], axis=0), + ref=np.ones(3), + label=f"{tc_name} :: propagate_scalar:: sum(matter probability, axis=0)", + ignore_fails=ignore_fails, + ) + check( + test=np.sum(test["probability"], axis=1), + ref=np.ones(3), + label=f"{tc_name} :: propagate_scalar :: sum(matter probability, axis=1)", + ignore_fails=ignore_fails, + ) tc_ = deepcopy(tc) test, ref = stability_test( @@ -399,6 +436,8 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): ), mat_pot=tc_["mat_pot"], H_vac=H_vac_ref, + decay_flag=tc_["decay_flag"], + H_decay=H_decay_ref, dm=tc_["dm"], # output: transition_matrix=np.ones(shape=(3, 3), dtype=CX), @@ -431,37 +470,63 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): tc_ = deepcopy(tc) - # Compute H_full as used in `numba_osc_kernels` to call `get_dms` from - # `get_transition_matrix` - H_full_ref = H_vac_ref / (2 * tc_["energy"]) + H_mat_ref - test, ref = stability_test( - func=get_dms_hostfunc, - func_kw=dict( - energy=tc_["energy"], - H_mat=H_full_ref, - dm_vac_vac=tc_["dm"], - # outputs: - dm_mat_mat=np.ones(shape=(3, 3), dtype=CX), - dm_mat_vac=np.ones(shape=(3, 3), dtype=CX), - ), - ref_path=join(TEST_DATA_DIR, f"get_dms_hostfunc{tf_sfx}"), - **st_test_kw, - ) - logging.debug("\ndm_mat_mat = %s", ary2str(test["dm_mat_mat"])) - logging.debug("\ndm_mat_vac = %s", ary2str(test["dm_mat_vac"])) - # keep for use by `get_transition_matrix_massbasis_hostfunc`, `get_product_hostfunc` - dm_mat_mat_ref = ref["dm_mat_mat"] - dm_mat_vac_ref = ref["dm_mat_vac"] + # Compute H_full as used in `numba_osc_kernels` to call `get_dms` for SI case + # and det_dms_numnerical for decay case from `get_transition_matrix` + + if (tc_["decay_flag"] == 1): + + H_full_ref = (H_vac_ref + H_decay_ref)/ (2 * tc_["energy"]) + H_mat_ref + + test, ref = stability_test( + func=get_dms_numerical_hostfunc, + func_kw=dict( + energy=tc_["energy"], + H_full=H_full_ref, + # outputs: + dm_mat_mat=np.ones(shape=(3, 3), dtype=CX), + dm_mat=np.ones(shape=(3, 3), dtype=CX), + ), + ref_path=join(TEST_DATA_DIR, f"get_dms_numerical_hostfunc{tf_sfx}"), + **st_test_kw, + ) + logging.debug("\ndm_mat_mat = %s", ary2str(test["dm_mat_mat"])) + logging.debug("\ndm_mat = %s", ary2str(test["dm_mat"])) + # keep for use by `get_transition_matrix_massbasis_hostfunc`, `get_product_hostfunc` + dm_mat_mat_ref = ref["dm_mat_mat"] + dm_mat_ref = ref["dm_mat"] + + else: + H_full_ref = H_vac_ref / (2 * tc_["energy"]) + H_mat_ref + + test, ref = stability_test( + func=get_dms_hostfunc, + func_kw=dict( + energy=tc_["energy"], + H_full=H_full_ref, + dm_vac_vac=tc_["dm"], + # outputs: + dm_mat_mat=np.ones(shape=(3, 3), dtype=CX), + dm_mat=np.ones(shape=(3, 3), dtype=CX), + ), + ref_path=join(TEST_DATA_DIR, f"get_dms_hostfunc{tf_sfx}"), + **st_test_kw, + ) + logging.debug("\ndm_mat_mat = %s", ary2str(test["dm_mat_mat"])) + logging.debug("\ndm_mat = %s", ary2str(test["dm_mat"])) + # keep for use by `get_transition_matrix_massbasis_hostfunc`, `get_product_hostfunc` + dm_mat_mat_ref = ref["dm_mat_mat"] + dm_mat_ref = ref["dm_mat"] + tc_ = deepcopy(tc) - # Compute same intermediate result `H_mat_mass_eigenstate_basis` as in + # Compute same intermediate result `H_full_mass_eigenstate_basis` as in # `numba_osc_kernels.get_transition_matrix` which calls # `get_transition_matrix_massbasis` mix_nubar = tc_["pmns"] if tc_["nubar"] > 0 else tc_["pmns"].conj().T mix_nubar_conj_transp = tc_["pmns"].conj().T if tc_["nubar"] > 0 else tc_["pmns"] - tmp = np.einsum(MAT_DOT_MAT_SUBSCR, H_mat_ref, mix_nubar) - H_mat_mass_eigenstate_basis = np.einsum( + tmp = np.einsum(MAT_DOT_MAT_SUBSCR, H_full_ref, mix_nubar) + H_full_mass_eigenstate_basis = np.einsum( MAT_DOT_MAT_SUBSCR, mix_nubar_conj_transp, tmp ) @@ -470,9 +535,9 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): func_kw=dict( baseline=tc_["baseline"], energy=tc_["energy"], - dm_mat_vac=dm_mat_vac_ref, + dm_mat=dm_mat_ref, dm_mat_mat=dm_mat_mat_ref, - H_mat_mass_eigenstate_basis=H_mat_mass_eigenstate_basis, + H_full_mass_eigenstate_basis=H_full_mass_eigenstate_basis, # output: transition_matrix=np.ones(shape=(3, 3), dtype=CX), ), @@ -508,9 +573,9 @@ def run_test_case(tc_name, tc, ignore_fails=False, define_as_ref=False): func=get_product_hostfunc, func_kw=dict( energy=tc_["energy"], - dm_mat_vac=dm_mat_vac_ref, + dm_mat=dm_mat_ref, dm_mat_mat=dm_mat_mat_ref, - H_mat_mass_eigenstate_basis=H_mat_ref, + H_full_mass_eigenstate_basis=H_full_ref, # output: product=np.ones(shape=(3, 3, 3), dtype=CX), ), diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_io__f8.pkl index 247a5e87ce3ebbfae4eb5a5745d9a667773d903a..f168e19e5445a9df04ed0053aca6cb81d8c228a0 100644 GIT binary patch delta 159 zcmey${Fa%efpzMmi7eSnogEX4E%bYY@=9|HD)o}{i&FJ~%+#XHGCUY|;FuF|6VKm^%;Ob#cHZ+?8H0Q0ff;Y1_bK8_2M&~IdQ-Y@S zFc%bOPRS6{m}UUexSvr$-epRs%$-Fy?eA@1zfi@o)qYBbls9whlnhyro>DykgdjJR delta 189 zcmaFM{FRxdfo1Bei7eSH-VEN16ALX8GFW?f;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg zk|{}@&J!lyNMLlGY{_V#4CMDP7Zhhs$q>yD2br272{#kSk?(Xin7ocrLCkeZr_7y2 UH|_6jV82ksvDJPGP-Cec0DZ7YG5`Po diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_E1TeV__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_E1TeV__f8.pkl index 2f6d20df2b79b6c375ae49ae30fcfa0c8a8694a5..760bb460e1aad7954408091afff260b89159a84e 100644 GIT binary patch delta 142 zcmey${Fa%efpzMmi7eSnogEX4E%bYY@=9|HD)o}{i&FJ~%+#XHGCUY|uFkYNo!>GWO!PUc@Y-lzGXwF+{1#f0==C&z4jLuU^rUXst hVJ;}noRT4?G0gy`aX+IWUxt)7bL*50S&))aJpdnmFRuUq delta 172 zcmaFM{FRxdfo1Bei7eSH-VEN16ALX8GFW?f;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg zk|{}@&J!lyC}6xa*^^O08OZNpE-22Nk|CNQ4l*@E5^g4tBj4$4FnJxLAuCW_sU86P CsXGCUY|uFkYNo!>GWO!PUc@Y-lzGXwF+{1#f0==C&z4jLuU^rUXst hVJ;}noRT4?G0gy`aX+IWUxt)7bL*50S&))aJpdnmFRuUq delta 172 zcmaFM{FRxdfo1Bei7eSH-VEN16ALX8GFW?f;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg zk|{}@&J!lyC}6xa*^^O08OZNpE-22Nk|CNQ4l*@E5^g4tBj4$4FnJxLAuCW_sU86P CsXGCUY|uFkYNo!>GWO!PUc@Y-lzGXwF+{1#f0==C&z4jLuU^rUXst hVJ;}noRT4?G0gy`aX+IWUxt)7bL*50S&))aJpdnmFRuUq delta 172 zcmaFM{FRxdfo1Bei7eSH-VEN16ALX8GFW?f;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg zk|{}@&J!lyC}6xa*^^O08OZNpE-22Nk|CNQ4l*@E5^g4tBj4$4FnJxLAuCW_sU86P CsXGCUY|uFkYNo!>GWO!PUc@Y-lzGXwF+{1#f0==C&z4jBZm(rUXst hVJ;}noRT4?G0gy`aX+J>K!%hzb1P7hGgwin9sq+MFqZ%T delta 172 zcmaFQ{FRxdfo1Bei7eSH-VEN16ALX8GFW?f;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg zk|{|Y&J!lyC}6xa*^^O08OZNpE-22Nk|CNQ4l*@E5^g4tBj4$4FnJxLAuCW_sU86Q C$3aa1 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..760bb460e1aad7954408091afff260b89159a84e GIT binary patch literal 493 zcmZo*o%)E80StP$lk;(N-9!8rfetv#l|A7EZcr%ntNpj|Zx`km%8&F*jXKrRid|qi1(8wMkBs+o3 z)S}E}pd;hcit=-lO4HI(LAGj4n*i|(Ls;*c1fi%`_E0Xvi`LU+m8}oq{2Ime!3h!D z_RqBD(8xKs&;H)qiMLL!yt4n?^7Y(HPHnPZQ~YaNf$d{^(al>fnEYK~zu-!il90u7 zxc(Nu>)HC6ckS!4bdPRM+h~80+snnf;nDshHXcVFC@;77{^BI<+VB*veo6*c4|B4i z86pHS_%QwN&FszGHl>Hrc}fY$`^*K!nNu>vG^QEg@D;kN(OoqqL&}@EbxMXT$hcBH E0PGIJ>i_@% literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..760bb460e1aad7954408091afff260b89159a84e GIT binary patch literal 493 zcmZo*o%)E80StP$lk;(N-9!8rfetv#l|A7EZcr%ntNpj|Zx`km%8&F*jXKrRid|qi1(8wMkBs+o3 z)S}E}pd;hcit=-lO4HI(LAGj4n*i|(Ls;*c1fi%`_E0Xvi`LU+m8}oq{2Ime!3h!D z_RqBD(8xKs&;H)qiMLL!yt4n?^7Y(HPHnPZQ~YaNf$d{^(al>fnEYK~zu-!il90u7 zxc(Nu>)HC6ckS!4bdPRM+h~80+snnf;nDshHXcVFC@;77{^BI<+VB*veo6*c4|B4i z86pHS_%QwN&FszGHl>Hrc}fY$`^*K!nNu>vG^QEg@D;kN(OoqqL&}@EbxMXT$hcBH E0PGIJ>i_@% literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_nsi_no__f8.pkl index 6f8962defa104a61aaf39d0682b6e31d2b9a117a..760bb460e1aad7954408091afff260b89159a84e 100644 GIT binary patch delta 136 zcmey${Fa%efpzMmi7eSnogEX4E%bYY@=9|HD)o}{i&FJ~%+#XHGCUY}R*NvR$H1#K

my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg wk|{}@&J!lyn5Yb7^)MF{XHLlw%@7Bfmmvu^4akx2bT*j0j?s`6sIF8G0Em7+od5s; diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_vac_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_vac_nsi_no__f8.pkl index 6f8962defa104a61aaf39d0682b6e31d2b9a117a..760bb460e1aad7954408091afff260b89159a84e 100644 GIT binary patch delta 136 zcmey${Fa%efpzMmi7eSnogEX4E%bYY@=9|HD)o}{i&FJ~%+#XHGCUY}R*NvR$H1#K

my%di zlvoMmc{8+5ab`@K(mo|;&+9)BfC+Dg wk|{}@&J!lyn5Yb7^)MF{XHLlw%@7Bfmmvu^4akx2bT*j0j?s`6sIF8G0Em7+od5s; diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_io__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..45cd6fedf353201fab21f747b0a36567dfbff08d GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hRLU6Uc^Mc zvWIdRUWC0m%h37|&i|9o`Rbd~RQp^nhd!~FhwM*Q7=M1(81;fy z0@a^BleFGLXTAN^!*TAKz0cwLU8Z!(+*x$f{@w=m3soFj?SH8`~A2L{>_!O>wN)Id8{XjaUq_Q9t=-3|SWJ9wlogM8{fL`@x?qRf<;^*h*^&bep zgf~OUlq7FvZ|1fsJ&ev%N`T6GMBxDvpPZkU6<<=6m{(jdC4(KO&l}Ku-hk%w{b)Yl zkLL6JXg+U1^Z9->pYKQWdBcfffjQ2Fr`@_ iLN3-hM{ literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_E1TeV__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_E1TeV__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_blearth__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_blearth__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_nubar__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_nubar__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..89d0398171039c8ff9a7071501cb7feda4b80d22 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4jI-7p!Q}6X{R^&SDG6CThwE?gyPmDDdDp%!OZVvJw2k{Oa(lUWH$2*Z#Kz;u z1LfuWy}vj~yEZ(9tDn-t3U)t`PARD@NCi5!hdJ5MY)WTG`xKy8y_tI$ZKnA7`FZ^Z z0x;ptP%r7fi`u$LVthG@mn|`P?4O z=k{nmw@33i1Den6(R^-?=5vNA8GJBLI72+anVVP=pOTuKSP6Ex2Q-eTL^Vvw;O=2c kvp|Gw20yNF&5!_xD!T`gb6_cmO3tC0G4ODNIJ#610DF=2=>Px# literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_nsi_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_vac_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_vac_nsi_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..18260525e0283d28a622e3c7e01be81c5e603bc0 GIT binary patch literal 843 zcmZo*o$A2M00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pOGU4|Me1 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_io__f8.pkl index 365e43d9181fa9b3fc64a4d0195a08bff8e0947c..404e1fe014c1ce80d9e5ec19a640822ab5900123 100644 GIT binary patch delta 167 zcmbQj+QrJ!z&f>lB1S0bcG@H`dF?j={w4yh&H*?#R9!BRWB~yZ? q^swfYCM6b4$zTU6W6HFEs50gjLzp-DALB%U3@M1d3|Ww_Qau3U#Wf-T delta 177 zcmeBTox;k}z%sRSB1lB1S0bcG@H`dF?j={w4yh&H*?#R9!BRWB~yZ? q^swfYCM6b4$zTU6W6HFEs50gjLzp-DALB%U3@M1d3|Ww_Qau3U#Wf-T delta 177 zcmeBTox;k}z%sRSB1lB1S0bcG@H`dF?j={w4yh&H*?#R9!BRWB~yZ? q^swfYCM6b4$zTU6W6HFEs50gjLzp-DALB%U3@M1d3|Ww_Qau3U#Wf-T delta 177 zcmeBTox;k}z%sRSB1lB1S0bcG@H`dF?j={w4yh&H*?#R9!BRWB~yZ? q^swfYCM6b4$zTU6W6HFEs50gjLzp-DALB%U3@M1d3|Ww_Qau3U#Wf-T delta 177 zcmeBTox;k}z%sRSB1lB1S0bcG@H`dF?j={w4yh&H*?#R9!BRWB~yZ? q^swfYCM6b4$zTU6W6HFEs50gjLzp-DALB%U3@M1d3|Ww_Qau3U#Wf-T delta 178 zcmeBTox;k}z%sRSB1UGNUTIQd(Uc5!plYT}3%KIR#~3A~MKi=fCTB>Znkx@9X!1+OiL5{aO7#G6 C&pI~% diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..404e1fe014c1ce80d9e5ec19a640822ab5900123 GIT binary patch literal 650 zcmZo*om$Vt00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqldXDBY#Sd zXkKYWI@;opElYn8F!4A~Sl!+8}*z`JcFhczY2{~4ecwpE~$q+*X%BE#49~c-!22r3$ NL42Gc3-WKN9st0Mkd*)c literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..404e1fe014c1ce80d9e5ec19a640822ab5900123 GIT binary patch literal 650 zcmZo*om$Vt00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqldXDBY#Sd zXkKYWI@;opElYn8F!4A~Sl!+8}*z`JcFhczY2{~4ecwpE~$q+*X%BE#49~c-!22r3$ NL42Gc3-WKN9st0Mkd*)c literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_nsi_no__f8.pkl index 365e43d9181fa9b3fc64a4d0195a08bff8e0947c..404e1fe014c1ce80d9e5ec19a640822ab5900123 100644 GIT binary patch delta 167 zcmbQj+QrJ!z&f>lB1S0bcG@H`dF?j={w4yh&H*?#R9!BRWB~yZ? q^swfYCM6b4$zTU6W6HFEs50gjLzp-DALB%U3@M1d3|Ww_Qau3U#Wf-T delta 177 zcmeBTox;k}z%sRSB1lB1nlvea+_GWII(!=OH vrDRIblpfZ+(xk+qDH-fQWlWhC5LL$9Vh95#|6`mekRb)pmmv$%RjLO72kSa) delta 181 zcmeBTox;k}z%sRSB1&YdjDiv+Q<8dE^GcHvi>73-12r&ZTENv$KE@~^Et(+?GCV^P)o6L3S(9HfPGkid HP^t$2nV&zT diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_io__f8.pkl index 15c8ea171d1ab32f2c6dd8c84c6b48ad0b38fba9..fc2f9954cbfc7cbb781744376adcfb8ad966b757 100644 GIT binary patch delta 295 zcmeysc8ZOqfpx0=L>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbha7+oeSF&aqqu!1#C>0wPNsVqnZs_J1*HZ+^k*)egUtdTdfH*?#R9!BRW zB~yZ?^oZtWR>bF(CM6cdC+Fv7#g`N%<`oxA$zVsAJh_t*Wb`XW1I-LRn07aacCM7% z__D-g5C-eNetv#l|A7EZcr%ntNrIS{Ap~{| Ws|Va5n71b1VwxxbvlgPPR1W~wf@bpo delta 337 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+PUi^|GZGkGC!RE52689cF-l2gaDj}^ z;6XK9q{Df_|^jzSCb9z6mg)fjc~yUC diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_E1TeV__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_E1TeV__f8.pkl index 72a5b635a595a5b70ca7bcc599b74fb4e29a18ff..06b518a71185ec29f7171bd884401c4f0bfad6ee 100644 GIT binary patch delta 379 zcmeysc8ZOqfpx0=L>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbhStS@qVxp+4`+JD5x^RnVgiW2jR3#MeS zBP^ZV$ymU6aq=%l1Netv#l|A7EZcr%ntNrIS{Ap~{|s|Va5n2#slVv6uQowjC!yWz!s#}8;aGTN!_ pUl6{C`?#vs{$pp3<*#W7wuj2wE$zM#_4ZZ}A}C<)g_vKe2LL7Ui+cb7 delta 435 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+PUi^|GYS|lO}weV4CGF>W0aE0-~t(+ z!GmhJNQd);$w`a_^_RH4T)Z0|?LT7UapZyW^8MaloTObFp4u}&K*JQEIXzq{x$$L* z$sjx>gB`nxf;~)W7RYYQ5Jhnz)PWvQgBeywT?*t&o2Xw_DnMA?od|AecWGK>jGz F0|56KruzT@ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no__f8.pkl index 72a5b635a595a5b70ca7bcc599b74fb4e29a18ff..06b518a71185ec29f7171bd884401c4f0bfad6ee 100644 GIT binary patch delta 379 zcmeysc8ZOqfpx0=L>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbhStS@qVxp+4`+JD5x^RnVgiW2jR3#MeS zBP^ZV$ymU6aq=%l1Netv#l|A7EZcr%ntNrIS{Ap~{|s|Va5n2#slVv6uQowjC!yWz!s#}8;aGTN!_ pUl6{C`?#vs{$pp3<*#W7wuj2wE$zM#_4ZZ}A}C<)g_vKe2LL7Ui+cb7 delta 435 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+PUi^|GYS|lO}weV4CGF>W0aE0-~t(+ z!GmhJNQd);$w`a_^_RH4T)Z0|?LT7UapZyW^8MaloTObFp4u}&K*JQEIXzq{x$$L* z$sjx>gB`nxf;~)W7RYYQ5Jhnz)PWvQgBeywT?*t&o2Xw_DnMA?od|AecWGK>jGz F0|56KruzT@ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_blearth__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_blearth__f8.pkl index 72a5b635a595a5b70ca7bcc599b74fb4e29a18ff..06b518a71185ec29f7171bd884401c4f0bfad6ee 100644 GIT binary patch delta 379 zcmeysc8ZOqfpx0=L>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbhStS@qVxp+4`+JD5x^RnVgiW2jR3#MeS zBP^ZV$ymU6aq=%l1Netv#l|A7EZcr%ntNrIS{Ap~{|s|Va5n2#slVv6uQowjC!yWz!s#}8;aGTN!_ pUl6{C`?#vs{$pp3<*#W7wuj2wE$zM#_4ZZ}A}C<)g_vKe2LL7Ui+cb7 delta 435 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+PUi^|GYS|lO}weV4CGF>W0aE0-~t(+ z!GmhJNQd);$w`a_^_RH4T)Z0|?LT7UapZyW^8MaloTObFp4u}&K*JQEIXzq{x$$L* z$sjx>gB`nxf;~)W7RYYQ5Jhnz)PWvQgBeywT?*t&o2Xw_DnMA?od|AecWGK>jGz F0|56KruzT@ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_nubar__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_nubar__f8.pkl index d1c045bc7381daf209615683bb286dc215cee360..cf31bb03b02b8e1d523d0fba8312ef809f9f1fed 100644 GIT binary patch delta 383 zcmeysc8ZOqfpx0=L>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbhStS@qVxp+4`+JD5x$AI7z!UJhg`^X_(T(3N{l+r<7C{qyi1- zVNNzQo6^}aaiOe{H?uc$+ms$gw<#r4f~NF{=4MvJ=anWU7R4v$=Vis06eZ>r7fi`u zM_4+!ld*vD;^be93Yr;wFzwC|?OZ9j@nwn0APm;y0d>XXEGEy;4DKGLGz*};?LeC} zyqPoj{rvpA{sRG+@Mb8Pk_0g?Ljvp=Ru8yAFdxr7Jl$Pljw8%>3^OLbW|CK&5iflq tc(3dJlP~g~#{O5@KgV2Z?#EakxT=iF+RXBd8I!%46$D^zhS*W62LJ>phOGbq delta 439 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+4(ACIGYS|lO}weV4CGF>W0aE0-~t(+ z!GmhJNT>6J$w`a_^_RH4T)Z0|?LT7UapZyWa(nMDPSUOoPwg3?U<%Nj9VemEkbCDIp6)I& z#}V$dnUi-h$t%u`m%b3Z*LDBN7kN)(|10gEZ!R_WW2_HU)rH+zlYcSEGiFYfVpd=U IT2!hB0JJKiPXGV_ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..06b518a71185ec29f7171bd884401c4f0bfad6ee GIT binary patch literal 842 zcmZo*oodg_00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pbj=B`cmnOWQ zv*#wWdjNzgS|j+k6`x`{M^R9U1M^_Ad-y#C=><%l;iyUKAp~zkp9A zIN(btT>r5%$MV-S1lylZTeHF4@Zvt0{sj>I`_bg>mUdr=dV4Dft{)zZ5GR-F0RZ7w BK3xC+ literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..06b518a71185ec29f7171bd884401c4f0bfad6ee GIT binary patch literal 842 zcmZo*oodg_00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4Z34t>hOpi>2|`h? z?4ewS7pbj=B`cmnOWQ zv*#wWdjNzgS|j+k6`x`{M^R9U1M^_Ad-y#C=><%l;iyUKAp~zkp9A zIN(btT>r5%$MV-S1lylZTeHF4@Zvt0{sj>I`_bg>mUdr=dV4Dft{)zZ5GR-F0RZ7w BK3xC+ literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_nsi_no__f8.pkl index be52b400cccebc42a1b372ff251a5ecef8352fc9..06b518a71185ec29f7171bd884401c4f0bfad6ee 100644 GIT binary patch delta 283 zcmeysc8ZOqfpx0=L>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbhuO7*aUwM^+@O)04?NCnFGFee+DP3i2IxKP%}o7tPWZAuTL^OTY)K~s7} zb2BUA^GcHvi{g{>^RnVgiW2jR3#MeSBg~xK$v9CngAb5{?S!<1$Lw6Ps%hlV$E2EU)5pVxmN02AH}B~y|h=4A+hox$n>HwfmH$+ws$ M3c##|C@a+i06;xtHvj+t delta 326 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+PUi^|GbSrKqhDKpqeYv z;XGk-663@Gpt2sWl-&5T#AFbjlEIE$gJ2I+ngz1$8KNk5L#_6hEW_lf4l4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrcGdgfQbhuO7*aUwM^+@O)04?NCnFGFee+DP3i2IxKP%}o7tPWZAuTL^OTY)K~s7} zb2BUA^GcHvi{g{>^RnVgiW2jR3#MeSBg~xK$v9CngAb5{?S!<1$Lw6Ps%hlV$E2EU)5pVxmN02AH}B~y|h=4A+hox$n>HwfmH$+ws$ M3c##|C@a+i06;xtHvj+t delta 326 zcmX@b_JNJ1fn{pyL>9Ap(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bV zHZ%h&^Jau7VeVnHnd0Z?=k*^5zyyakL&=n+PUi^|GbSrKqhDKpqeYv z;XGk-663@Gpt2sWl-&5T#AFbjlEIE$gJ2I+ngz1$8KNk5L#_6hEW_lf4l7>5ICC>ET8YDcLa0C;L!1^@s6 delta 358 zcmeyt*2~V)z%sRIB1;a7H-k6h#3Ef!R*(4H#F8l)tUWyOMXAa8dBr6~rO72zCQr%W z=wZ)GNh~T#tOWAB8Cs_}GbT-GpAs}h!<*5Y*_*j-N(NUCbF!fsP|}-mav`HMbEor! ziPt9TluSwL;Y!JkFH1}Y;VBuS8R8%VG9*#8^L9FWOy11s3D*F03dA`$G{^%jn5@h+ zF&Jh8NCQ3_KpGl8G|T-pVzXy}f@?<q?pYk4aKI^!>W)jr=lj rwRf0i`>L-^ovgdXRQ91f(RSa1reC8c@*WKUxU delta 372 zcmeyt*2~V)z%sRIB1;a7H-k6h#3Ef!R*(4H#F8l)tUWyOMXAa8dBr6~rO72zCQr%W z=wZ)GNh~T#tOWAB8Cs_}GbT-GpAs}h!<*5Y*_*j-N(NUCbF!fsP|}-mav`HMbEor! ziPs_+?@rcdln0Xjj1oE}Q<8ePQgY+V5|crAN``2LILNRJNmQeFJDoiyZ)Ws_YXCY6 z;xrr@hz{Q^|&nz)noml{k!+|su3r<0`q*M<8&{tgI delta 372 zcmeyt*2~V)z%sRIB1;a7H-k6h#3Ef!R*(4H#F8l)tUWyOMXAa8dBr6~rO72zCQr%W z=wZ)GNh~T#tOWAB8Cs_}GbT-GpAs}h!<*5Y*_*j-N(NUCbF!fsP|}-mav`HMbEor! ziPs_+&rH^5ln0Xjj1oE}Q<8ePQgY+V5|crAN``2LILNRJNmQeFJDoiyZ)Ws_YXCY6 z;xrr@vS$(=k${dFMFuu|B4xL`nl>L+c zGf7Cuit_4R|1J$z+&$sj!hz{Q^|&nz)noml{k!+|su3r<0`q*M<8&{tgI delta 372 zcmeyt*2~V)z%sRIB1;a7H-k6h#3Ef!R*(4H#F8l)tUWyOMXAa8dBr6~rO72zCQr%W z=wZ)GNh~T#tOWAB8Cs_}GbT-GpAs}h!<*5Y*_*j-N(NUCbF!fsP|}-mav`HMbEor! ziPs_+&rH^5ln0Xjj1oE}Q<8ePQgY+V5|crAN``2LILNRJNmQeFJDoiyZ)Ws_YXCY6 z;xrr@vS$(=k${dFMFuu|B4xL`nl>L+c zGf7Cuit_4R|1J$z+&$sj!eS@xtd9#K0^w{I5wcw=tfms$_NhDmfH_AiV)x7&3^U`UF9h#3-GA~$-qYCsLiQ#KkN0&ITiBcU{S2A>gl|8Z{Qmjo zQgc7X+CcRm*qxt8E*d+U{LgMrR2t! zB_@OLlnl`fagZM~BvF0H+v)59bM)${OM!f8!uvUUzViCyrR<0D;f9+0Oq(rzITr zZ9y_zJybtjJyagfhv|dSD2~S$Vj#yaxRenbtStw(Y}vHAmo}Wxfb-{Fny_M7Ji_q> zhh{i&uM~t^zM*;MXM+p3_rWaxcJ#q!=7$K!e+^;U)Tf&QSFdoW*gkGjGMvwF^z5H7 NeFnIFAjg;L0RYfKCV~I} diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6124203bfcbc5732464bf820b2b30ab3085159ed GIT binary patch literal 888 zcmZo*otn$c00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(k!NQ zcC=3cn&i#g!)P zC^H%8#Q3zL{M@9{w6s)^l^W9~Ky))aIjq=uTUO2<%4K*Tn-jIBNpQbdVzS$O8yWlK z2Q(cS?Zoyk3}3{3Tvf{c9aLTvBEP?YPbE0uiz{6Ju`|c=*EBfWpH5q|!QJrSKA8Rm z5dHhnQW$In(%(kp0B(}E0 z)elz>m51|T`e5{w3@H?MvjM{i-OUe7ZKHSSv%$?E#DB8={r*qu)Zyw0@jq86G@UC= NfvYFPM{{$j9suwW5C8xG literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6124203bfcbc5732464bf820b2b30ab3085159ed GIT binary patch literal 888 zcmZo*otn$c00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(k!NQ zcC=3cn&i#g!)P zC^H%8#Q3zL{M@9{w6s)^l^W9~Ky))aIjq=uTUO2<%4K*Tn-jIBNpQbdVzS$O8yWlK z2Q(cS?Zoyk3}3{3Tvf{c9aLTvBEP?YPbE0uiz{6Ju`|c=*EBfWpH5q|!QJrSKA8Rm z5dHhnQW$In(%(kp0B(}E0 z)elz>m51|T`e5{w3@H?MvjM{i-OUe7ZKHSSv%$?E#DB8={r*qu)Zyw0@jq86G@UC= NfvYFPM{{$j9suwW5C8xG literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_nsi_no__f8.pkl index 1a0cb1bdf4003972ab9ca30c8b5c77c74165a8df..6124203bfcbc5732464bf820b2b30ab3085159ed 100644 GIT binary patch delta 298 zcmeBW|G~!6z&bT|B1;ZaXUD`6U2`^%__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*o4^18lQ|eCa%FJ!Fee+DO#zzpN?P5U*_*j-N)My+l#(ey zQ+l{ka^uSqlR7>5ICC>ET8YDuXc08>3#LI3~& delta 360 zcmeyt*2~V)z%sRIB1;a7H-k6h#3Ef!R*(4H#F8l)tUWyOMXAa8dBr6~rO72zCQr%W z=wZ)GNh~T#tOWAB8Cs_}GbT-GpAs}h!<*5Y*_*j-N(NUCbF!fsP|}-mav`HMbEor! ziPt9TluSwL;Y!JkFH1}Y;VBuS8R8%VG9*#8^L9FWOy11s3D*F03dA`$G{^%jn5@h+ zF$87e=^Z+~qAB|)|7VhrkQL?CyZ&7o tuDE-`w}&yGllD*6XO>Wtdp41O-mPS~B*Ti$t1ob#vxAv51?a3&Jpf;KbmRa4 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_vac_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_vac_nsi_no__f8.pkl index 0021c68784158d99b5cf008996d26f69f9c0ecc1..4bd61acabad2ff5280729163a0884653e11d2ef0 100644 GIT binary patch delta 298 zcmeBW|G~!6z&bT|B1;ZaXUD`6U2`^%__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*o4^18lQ|eCa%FJ!Fee+DO#zzpN?P5U*_*j-N)My+l#(ey zQ+l{ka^uSqlRHz@OUUrZG diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_numerical_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_numerical_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1bcbf86405e6b9abf1ad977969f7f0720a3f1961 GIT binary patch literal 776 zcmZo*o%)xF0StP$lk;(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhs`5Ctu!ZRN{bG~faqp;a#*qRwyc~zl*{lwHYaLLli+@_#ALVmHZu0d z4`@0v+KKI77`}-6xT=)>JE*)UM1Fq(pGt7R7gxCcV`q-#uW4|$Kb^K_gS+9ueK7qC zAo};C$=faMz7X~HmJ?k6lnkyO=43-Ng!eP}Fg@?h?9JRZrH9dZN(spCTq(Knxrrqp zJS9U6;W?P6V03A%V%Ys(N%lRn9g<|v^X-vp*}Q;XHpSj!gUjT+Z+v^8^82CkHZXlK zIxb6LC5y6>{fStvrWq?H?}qB%57lo2mERAQw}$D1(Ni*{ATH041-qLK;%*c-f2vSu zI#-%v|MQ{4KgTkGJ%sqzw!h#1X`Q;gzBA_~lh+q^6XHKKwT<4P&t|{W>f+?E#Phoe K@zLB|ss{j1yDZuO literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_io__f8.pkl index 58de076eab5535362a76e482938e4578c841c7c4..f9012cab833e6c819eb88162311f94ccca0a8e75 100644 GIT binary patch delta 592 zcmZqX-owM%z&h2CZ6a$HQ)kD-VmlDIHCMk!D6cfPpi(b6zbI7?$V@HDOrFxi9iLW| zpPN*gmX=yHW%3k_X%iSAU~&^<0;9|1$BYKy8C*Tg$%bZAIy>5@1WnQKX3pUA^Yioi z4+LPso1tV%k~gzAbK8_2M&~IdKt(;GxtSI5d8J8-Me)h`d0Fu#MTvRE1yeHAkZkZ` z0@<*d$v`hd3#Q!-qMbcAu_V4AzXU}C#9<%oCkrw+PgY=NRh|OVm!S)`l+`1?EHN2H z&*VMK6K&CyaiydtCsxL%;wh1q7zFf!xmS5f4@YF$ij#hyuE8Oewiw z6&|njce14lMEr!&|y$hdy96u7jH!K{+IVHwAMh5#d`ufBKo85F%1c%96!pW(sWzRl+@ a?Q6-MXLKECfc$?iwpBfq_Go@A)dK({LFCQ= delta 493 zcmdnP)6C7S0bcGy_TkP1`8V-03`FvM*x- zqwC~#j0VglQ<5eNGD%9SW~hU7XK148)$ahRHe~{-p2lRL2~^#~o|{+_UyxriB?Ffp zkPUB`CaQx}vwFmrB_`unJD+)?3P>$eN-j=?Vx7(&lT}zf>p=8oz{cv diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no_E1TeV__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no_E1TeV__f8.pkl index 2f2be6fd59ed160f9c38a6a16a24fe90c7c90cab..45ea8dddb9023fa70423a0c89f94ffb6823ccbb6 100644 GIT binary patch delta 657 zcmZqX-owM%z&h2CZ6a$HQ)kD-VmlDIHCMk!D6cfPpi(b6zbI7?$V@HDOrFxi9iLW| zpPN*gmX=yHW%3k_X%iSAU~&^;LmWTDONf3&9H93$elkwu@-AoF48Coz?+#sf~=O&iK z7vz_q=!3ZHgZ*Sd=H|%?%&f{&VEQt2!FIEH#Fr%|qv)BuhdF}r^kh*M`LNSzYc{wW zUbI`$4VGx+o2J#`hM?6>s#2%<) zL=?~+!<3Q>R^b5)@Br`uR9_Ztu%nB68-?(<-$^ZZF?f-M= z9Z=IZ+z&L#Vy9HnzB@X3vl(xx?Psuvu;%1vv1gdDYFEF~Upt_DG)VpiR9^eum(L*m zIXAYbeax5J&kzu>WAn5%zw8(m2+TH(|7^$bVBeRCye#_}E`%PNp$0UdVSo1GRloKz hTv&4MN#bX_O`gI)Z@;%c6;>F#Q0e_XG(VQ=0RXHn`@;YL delta 524 zcmdnP)6C7S0bcGy_TkP1`8V-03`FvM*x+ z_7!{aHrX)=kWRjFt%}@vF&d@~FtKR`sZOQ~vy^Kjg6R5g}JvXr=z97G3N(L@H zARFE=O;iV|X7z|KOH9VEc0O|iwEI59HfYJpg6V&RhTh diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no__f8.pkl index 14ee8195db75c4b763b9300a6bbfacaeb59d451f..7aa66d089ab422b25d52e74332b137060cf5f86a 100644 GIT binary patch delta 657 zcmZqX-owM%z&h2CZ6a$HQ)kD-VmlDIHCMk!D6cfPpi(b6zbI7?$V@HDOrFxi9iLW| zpPN*gmX=yHW%3k_X%iSAU~&^;LmWTDONf3&9H93$elkwu@-AoF48Coz?+#sf~=O&iK z7vz_q=!3ZHgZ*Sd=H|%?%&f{&VEQt2!FIEH#Fr%|qv)BuhdF}r^kh*M`LNSzYc{wW zUbI`$4VGx+o2J#`hM?6>s#2%<) zL=?~+!<3Q>R^b5)@Br`uR9_Ztu%nB68zrA+i$^ZZF?VWe_ z>`~J<+|N+JBPVn}YoB)9u71W_YWo{{pO+q!VzFoN40tQf^w*Bz36BCuUI8k`$M9#9*l&-|b_~bt6b>=6>}S|$(eu^quU*4sM~3oQ jzxFYRXrJS$_-t2t>kGp*paC<5HeFlyx^h37A4~NBn(F^2 delta 524 zcmdnP)6C7S0bcGy_TkP1`8V-03`FvM*x+ z_7!{aHrX)=kWRjFt%}@vF&d@~FtKR`sZOQ~vy^Kjg6R5g}JvXr=z97G3N(L@H zARFE=O;iV|X7z|KOH9VEc0O|i;LmWTDONf3&9H93$elkwu@-AoF48Coz?+#sf~=O&iK z7vz_q=!3ZHgZ*Sd=H|%?%&f{&VEQt2!FIEH#Fr%|qv)BuhdF}r^kh*M`LNSzYc{wW zUbI`$4VGx+o2J#`hM?6>s#2%<) zL=?~+!<3Q>R^b5)@Br`uR9_Ztu%nB68zsjqZ-y;8hzh-dO z5fOnU`yZc_nWgh1ZNH$bMmLxLS^FZ@zY42vSL{EK|5h~K#%q5ZRGtkg&$ZJ;&sX*R z{wSeSV(;Ah?O6i$wZ;n`%iQm<>CWGS4BGZO_nvm%pP6beK84fi=z_BSEAEQ@;4Sd9 izh-&eaw$jV{y1}?w59ov_fL&35uKX-(jLu^rFsDNd-m4= delta 524 zcmdnP)6C7S0bcGy_TkP1`8V-03`FvM*x+ z_7!{aHrX)=kWRjFt%}@vF&d@~FtKR`sZOQ~vy^Kjg6R5g}JvXr=z97G3N(L@H zARFE=O;iV|X7z|KOH9VEc0O|ixhWJ zlKqLtWoGI8NZZdNtI^Hnf7aeZ^{>LJ+ZFpyWW5!QxAEGacmg8N4VCBHX`<(=`hNdo zp;KaB@7(+C3--0f3m(hd&#>Um--8U=_96G4cHWcC=3knxf&&oWbYk=jZhw2*89lL&=mRZ)R`iwkbV~Zc|Etih4wIGb`fr zN|O?c;*<09vf@jM67z}+revrgED!5llOPoJYH}b`Cga7)yO|X9GPGc(I73Wf&rK|e zFUT)J(FbwY2m8r_%*~S(m|0Dx!1QGpgY9PZh%ZY_M$t3(@N{>HIgT(tG0d2JmRVkL zM!fWe;JvQq{~U9vxgTSF;Hokv^Rmb@W=z&)QLsg`gDWL9Ik7T6EhjO3 zN(OrduQLZII6z=Z8_56c9`Rrm5LZB*Dx!eyRHl?%unG@YgcP!P)@O)8f&uCsL2%e* zmSpDV#RJ2mD6;~^Yxl07c=G@Md;4o&t8c358`^g`Pm;La^22WL9-g^3K1uCousM(s zr~2Ja;N9G1&l#2NS8&JMMb!V;H%IyCWR1^K`!}7<{RYy%Ql4x33RdO)3;{Q8O-)_& zZC}HZ7Kug2c=j`tWXk*5ecN{+(|?;8o3cHF4gX{rk8gGjB^!gSZt(0sW4=b`I?w>N QjV~{6>Z#n1=EqV!02yNkp8x;= delta 554 zcmdnP)6C7S0bcGy_TkP1`8V+~GW7vM*x+ z_7!{aHrX)=kWRjFt%}@vF&d@~FtKSJ!ZOQ~vy^Kjg6R5g}JvXr=z97G3N(MeX zZHIga)WP%v}y24;E1neoyWg7>=aKlvi>Y3zTc{qxPG z=6;OzfvUQ&J8SX>W_iZU$pS12Dj^Y;deTQDWT}1tleQRWoPS*G=wSV*3+;1TLo8-B+d#zwq-p_FA*3{HR-}W)A zXpvZSjAuVXNv6D?-M4)gGW@rhu_@a#*zix5@%U!fP`NSK>ITpLQ|4=Qt^*C=-1zeH Ork=|EQ-Gc*)dK+S!q{2> diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dead1d19ce27c46bb8085a8a7d9b033270ced2b1 GIT binary patch literal 1596 zcmZo*oodL&00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlY!GG%2xY zN{?t>X>LKKUUGg>s$OnsPDy5BQBh*$lpeO?QNyij{=#gMVZOK zkcm$#%Fj(IO-oA!c~xWD1gN9KdeHrc}fW=%thhek5A6e%Ze{4O3W)Rn3AD})1M7!{%k<==YBMQ?nm?Iel&kJ zp!st@nm_lW`Lkh4h8D~dZV*qf=O&iK7vz_qI2)D-V9_(sG~C%4y5Nv!^@uM^Oh$2X zvXzzLR%;P>jJ}V}iCWX7xL+(W*=@d!j{WfinvRTiYWo+4FXBF~s%8HUDlZC=-(SF| z5*+X)6t4f+nPd5D8iMUlr>)uGZg_DYO#cFi{{3k3c1yc2M7_Ng1lN!5WUiFd+@n97wo*L+IN4Fo{Q%otjVE1~UDO??ODUdHsct2;)S6-jIl>JaX zJa9~Yrp=bVoD7qOL$rKvjg5a!`2`X>nf$6m8~A7UI8Sp1eIU)|MoqQ z{>}SdeZTt1cz;61=Y=cx{IX;Cze()3$7j0(C+rjsF|zDusJ7_&>h{;p;gusp`K(|2 h95}Sk@l<@atGxAv;Tll?Y@top*1fLWj}}a&dH`aL_s#$S literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7aa66d089ab422b25d52e74332b137060cf5f86a GIT binary patch literal 1596 zcmZo*oodL&00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlY!GG%2xY zN{?t>X>LKKUUGg>s$OnsPDy5BQBh*$lpeO?QNyij{=#gMVZOK zkcm$#%Fj(IO-oA!c~xWD1gN9KdeHrc}fW=%thhek5A6e%Ze{4O3W)Rn3AD})1M7!{%k<==YBMQ?nm?Iel&kJ zp!st@nm_lW`Lkh4h8D~dZV*qf=O&iK7vz_qI2)D-V9_(sG~C%4y5Nv!^@uM^Oh$2X zvXzzLR%;P>jJ}V}iCWX7xL+(W*=@d!j{WfinvRTiYWo+4FXBF~s%8HUDlZC=-(SF| z5*+X)6t4f+nPd5D8iMUlr>)uGZg_DYO#cFi{{3k3c1yc2M7_Ng1lN!5WUiFd_>!W;yyAi>8EQyodofMa%g};p zbc1MQ&rK|eFUT)JQ3`R)2m8r_%*~S(m|2yl!1QJ4f~{lqh%ZY_M$t2Q5A#G@G-X^V zsmY0z@o71U=~FV;GkBdjK%M}BDQzHEvwOsYRX_}a+9slaZW~idE?9*JER+gaJnJ*W zAU=V*ND%Df%#zIfym+9OiZUxuT=(|ci6{U6zqfbZ*|SGY-*7)e0gs%}{j7c3al85% zZ>jBX=zU&#Op3*x!872kIMZJ{h9^76j zmmR~OO=7=2KHD)Ivr{<4$g-bdqeahGx4(7`mmL|(XZ_m8AfkPar{c3+>8&pe*MJ7h R6xwuc-RsKzXnri!0|4bu;{^Z! delta 481 zcmdnP)6C7S0bcGy_TkP1`8V-03`FvM=LA z=8`E%lLeV1rByT3LHaT@QFZBe0M(f?P1FRc>tWALEQv43FPV~oOEt*UH%t@NL8@6j z;>!|~@vEKBJW&OtmMJ9{r$Vt#XOGD$te*8Cg@PqTiFw7DC7Jno@j%xUWme$Srw??@ z>uV>T{Qv*n-hOA#9yNW#{R|Jf6@>0*?Ng51)z5fKZ9l_;=cUJ_SnL^e1Kx@={k3D5 zz=I;c^8f97ApP6+z54ET^^x)ZhP2NMSMK>`$M9v7*l&-|b_~bu6b>=6>}Tk+==tjQ s*RJ8BBSZPDU;7wjwa@WXe738&^@ZUY(13YDo35>UUAcb>&=aM402|o9zW@LL diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_vac_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_vac_nsi_no__f8.pkl index 352289f8f397d7be4f7dd384bf3e9f1c6450443c..7057d29612051c66b323e02236b7ac9a2d336ad7 100644 GIT binary patch delta 583 zcmZqX-owM%z&h2CZ6a$HQ)kD-VmlDIHCMk!D6cfPpi(b6zbI7?$V@HDOrFxi9iLW| zpPN*gmX=yHW%3k_X%iSAU~&`V#PAHR9_D02vnib&?NfrLXm~Sc@cH@qdHn|hFyYNm zG9}5I*_*j-N)My+loFt#9?{&)iuk_>!W;yyAi>8EQyodofMa%g};p zbc1MQ&rK|eFUT)JQF`_a2)wbMEXZ6uS%H~#atpJd5=?7`F4#s^kNC30WE5?a_b^Yi zMN`I=lA4@Y8K0Jum_8+gJ%iVo1LO}7n9>GvIJ-wYSOvr&sD&yDQ_zfIO34MQ@PGwW zA&X~yh8V;%P!|b;J)K#SnV%OA^i@%21&Zr#oWA$+|Nr;)O*7|pDcsiGzhcW}h0iAr z?=$QEs(bp8>VAg1_vUbMG21t|{#bI)k=cI7_Wx;~f`{#jRemd<1ImZ>*E|O4pS#`C zSl`WP|ABy(sXraS0bcGy_TkP1`8V-03`FvM=LA z=8`E%lLeV1rByT3LHaT@QFZBe0M(f?P1FRc>tWALEQv43FPV~oOEt*UH%t@NL8@6j z;>!|~@vEKBJW&OtmMJ9{r$Vt#XOGD$te*8Cg@PqTiFw7DC7Jno@j%xUWme$Srw??@ z&C~Z@{{R2pzG>#XE`{5=`!B4zuJHN9;eDFjUv*DEQr+Khr~Y)b`)S9p!Qe diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_io__f8.pkl index 36436ad4672094492f81385b7d7e0bfe3d966588..97895d5b07787e77cc81c79df63f2d6311a0f46a 100644 GIT binary patch literal 1019 zcmZo*o%(^90StP$lk;Mw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPR8a_13{WW5 z8I~RpIk8I}uAUG-#MrAnZ23Yrt~m6PbmR~ z3m3%iVE<=GAv_1O6h=Q-A%B)bPYLcAIoBUs`kGVVo`K54`7nJjdX4=l$NXifaCxYH zxOq@{I3K1DMo-C*gSb3H5$tXmkNC9GoE)ILi;Lq^Gt*P^ic1npQsaRsE39$2$e5zzUm&j ze37;Ats7s{lKJfog0xfqecf)&kds?*PjanYfYEU;p+`6ExS;wkLiF!T$cD)0L*)0R z6g?`8)(Y9b?fL!n|M+I^M)!$eNl{{6aV99cfMTI2vjWBWTYXPG`TzgDz4kPI2`fFr z{R}++g%{k-+IOpd`u$@!)b=lU^X&Jg)g1N=4GWlA)Nb!%V5tYo--pTzy4}48(x3HZ zVPx(jTn$kWcXo`k6qc^iRbK8^*t{&!OLo=YHH{;}f zMro~1=LroTn&ti)vDq^~!L=g_t@1M&_QUvo948OBb)`&}W|R~UeZTH{Bfkt>?H#7s zzUpgJCwntW`Wl|#G5&ls1+I_b0FSf&gHv`ebEcF`N$P=l0qBh>8Il>&AXjF{qPkHT z=%~pT87J0*G)Q}Zy_}m^TpXX8nVt&tZemGld{Sa@W-(q9WH^i7@0H_*JGEWl#9~_x zCODrd^VJdSM_cVSo^?L6uk5iMy8QNk^*kOMe|?9$KO!%;;GX1KyHKO!UP6y<+QAIi z05M=+I8;6aBEQdhuEeIy+C5PH4%T4*3zifm<`rj_Waj6A{8f}$f!h=Hz;M{=d+N#m z|L^TJrtwQy=^5^4xYHuE;BMBw=k?R?AG@Kpf5Gc#zc;PsuxIF4z|5j{dmn=es|ZN` z2~=Ld?e0C0{-iGpBXb`a@87WR$Oh+h2787Y*Kd{rm-Z!?R&qBiMw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn zP&tQw2dG?1ZhUTH$&?-;B*y@msYRK|Ko7*H73Jq9m8PYof}EoN+WVm`l{9vodGyPqM;pz$Tr(|&TFee+DA%Z4@4>MrAnZ23Yrt~m6 zPbmR~3m3%iVE<=GAv_236pTLcY{sd%eaZV_{N>gw>mPO;hV!BFaL2;b!DyZvbsWpB z5bB}&;p(CCa6U{QjGmGq2XT3ZBG}zB9`R|VIXOUg7Z=B;W~Qg+6_+HIq{ahNR%Y=O zWS=B&y4h^3z-_N+zdOh6pP02?-82p}P9~^LTDydaF*w)-C?MHSBU<7cBu0E zT>RJdewuW`?hQ|@#XHf2-RM3MEGbINE6xOE7f>t|Wmcd#|HicwPyYXZZ~vb|?|_=V z;eKF%SnQNa+IL4MZ#LsCwfzhh5!RgiEcOf&R_*Fn`fCT2j|R!#fXZv%`|=s2Kj+34 zwU7C7`xyduY@W8}mmR|bf!U_P;&H1Hz035<|a{vGU delta 639 zcmey(K7oU^fn_Qy%S6^(7HTn$kWcXo`k6qc^iRbK8^*t{&!OLo=YHH{;}f zMrrL%=Lr^vUj0Aygv*`*3T&PgyDvWXeIJa^@bK%y9ZV_vC(AHONc{Q7*}@Q?3|Gw1 zXLtQ58}I(fK8zB+91Q(j${mN{lFBKHbFNt+_)|)zB=x{N0rbd}49N^>kUKMEQC+DF zbk^jHj1%iY8l*kIp3Y4yE{;#lOiu-RII$!(J}I#{vly=l$(wFA8!K?bougYfjl+zS z3C=(A;@Gl8hU@!W7ah)Ax#GT^4x0Ss1L7-Y{Qmvj4i*x&rkge;Pdm5o-Q+J!>h(K< z(xrv0_P}Mqz7s4dO3W+HEXmBz1G%~=vjVRZZ(cj`& zeufv@Hcwmg%Z{Nzc(!T$XFG-$`@T%%W!cYgAoSP_HJ||(_GB+!^=ltP!SZuY5Mw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPR9+=uj@6cznhjIz> zpKO1>|I<2kxOzhT&lL(y=SoxH>Iw0uWN`H`CmWg}f+m9xGhn=#y_wsl^e{S4DFKBG z7sT&i|7S=cJO}d>jLykYSjnQSv>(QoY1zDhUp58Khswhp3sVQ9OKTOw?*B@HtB2}` ztB11 zX0x#ZxBXSq>3uA|o2(7$rg4~YGC^%xv)ke2v1N%2*Y{;CI-I$3#eF+1sQldf&6a)2 zhph#6tI6@C@Y^4_u-Mb&%H-V*#+x=JPdm5o!`sOV&hlKf^M~qpg6QA(1S$}nubp`E|Nnb?=bb%!)btJa zGZgU13Ej`yryaMepYfL3{)XP?rN^XL>=`@*-ikB*wPSd~qX3dufXXlXfBPOt|Hgf< zzF&Q0yq_WS^TL&Te%Uen*(CPct0vxM{|Cu9sv6PYYPAX delta 674 zcmey(K7oU^fn_Qy%S6^(7HTn$kWcXo`k6qc^iRbK8^*t{&!OLo=YHH{;}f zMrrL%=Lru?ZKHSSv)MC1L0NseN6H+A{V=}K^bVa~(Ukp@Wf&zSWJP)Pu78(?EAF1~ z?P1L4r2Uh97$tn=o=xPRcPkk#$*^Mc>I|iEMDVdVg1M>vXBU3UYGo(T8%#cNO zr83Z2lP@w(tOse3_5gc2H?g=lJ~cBv73kr_lGOO5#Ny0iye1@Xy4h^3zzuhfZrwBv zGfpNr|HzAD%Mux`?{i&rICJHS`*u2L@|O?PubA=s_jkDaZA~|AN}hIZ-@CVy7o6p} zYIhjbfPHpQ`S%d{eLI5ErG>2a!1aUuFIZBPm{*)xl9`_e@>fx21#VB&1H<9$7ef+<8}&%7+Ll+^jY+Lb^B}AaM6*W meAcgh46@qiqMw=;qetus6fdEW+Gn7n8a^?UzW}R<_pKO1>|I<2kxOzhT&lL(y=SoxH>Iw0uWN`H`CmWg}f+m9xGhn=#y_wsl z^e{S4DFKBG7sT&i|7S=cJO}d>jLykYSjnQSv>(QoY1zDhUp58Khswhp3sVQ9OKTOw z?*B@HtB2}`tB11X0x#ZxBXSq>3uA|o2(7$rg4~YGC^%xv)ke2v1N%2*Y{;CI-I$3#eF+1 zsQldf&6a)2hph#6tI6@C@Y^4_u-Mb&%H-V*#+x=JPdm5o!`sOV&hlKf^M~qpg6QA( z1S$~S^6KTc$iLsO z8Ju-QL}1DO$0ucG>HJ9BFDR?g&EJNJHjmVK@9g2yuVJ8Zi1_aK9|z0SR-o%d&^+KW%&bUM1AZ2yY8Vn28b kJngSpUbkGzk-0z4Tqtd6{^R{qqf11mX1}yYbAG8F0P0F(FaQ7m delta 674 zcmey(K7oU^fn_Qy%S6^(7HTn$kWcXo`k6qc^iRbK8^*t{&!OLo=YHH{;}f zMrrL%=Lru?ZKHSSv)MC1L0NseN6H+A{V=}K^bVa~(Ukp@Wf&zSWJP)Pu78(?EAF1~ z?P1L4r2Uh97$tn=o=xPRcPkk#$*^Mc>I|iEMDVdVg1M>vXBU3UYGo(T8%#cNO zr83Z2lP@w(tOse3_5gc2H?g=lJ~cBv73kr_lGOO5#Ny0iye1@Xy4h^3zzuhfZrwBv zGfpNr|HzAD%Mux`?{i&rICJHS`*u2L@|O?PubA=s_jkDaZA~|AN}hIZ-@CVy7o6p} zYIhjbfPHpQ`S%d{eLI5ErG>2a!1aUuFIZBPm{*)xl9`_e@>fx21#VB&1H<8YUcLMl z`S<&sgR_o^2rSv3cwAfY6JyicHth!yX|3ubX(RdrL{fQ?a^4w5) zzMUp|zN+u{KNdPA_RhWEzF=Q#yx_6S{R|84{5{B^Z69*)Y3Kc!srE&aIh~F!DBCY^ pN9+f0fv5c&tLv6hOF1(4$C?YJEzN(tzb(2%bZYiXdyp?m^#B!%`6B=T diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_no_nubar__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_no_nubar__f8.pkl index 19cf8bfd6d580cc6c6803d586613b36991b958be..d199ba81bda7855d8981eec5a43cfd62e5879ca0 100644 GIT binary patch literal 1019 zcmZo*o%(^90StP$lk;Mw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPRDlTON2W!jihjIz> z9S+TK;$A6e4^vNw|1E@RQ=e`MTs4j zTs>4C&WGuP(Ni+yATG~P1iM?tBR;J(CkN>6;^O$!%=FZ};*!LY)OcXZ$}FCO?30*H zH=B(Wxc3|XG2&hrw8c6;M2%ZAEN zgUIhY6#s3>OSXS@V3#y(*xitmwaRSoGrQb?`Sv?@UfjnA)&DOPtbgAA%g4P1&BohJUh* k$2Yr%l8wPuH+c4+F<+x|9jKpeYk7!&UT$elNoHbEQDWtk9=77-#GJ$;ppG6^uo57hQc_uv3KC&T zvzX$|;LX@R1!$T#a}T4<6hA*dum3;*CcGI+rX)FYK-}}eeo7lqT@PDoUTRT#<&+He z3|@3Ou9V#P+{BXjvc%*m8LT}#@kOc0K-ZTPm4Y3e!O_E>mjZFwWT4HhQ=A!-ra)|G z^k(*EZkv+9)x(@@Xol>p3_eUpbvjR2a491=SX*vC#B~e|%cjk}wBdvXoImf`PtyY?R_x*x1$d>Ge1m*tN$9pw5d-w1+HG7oZ?F?YYOM8GLFE_EcI6gHqJrx*ni6yD= zz(kf=jMq2Gn{GB6D{#YIpAd5OfU4_PyE(^JWW5c)Y$u=O=abL!Z=ZD7%%2@EFWSYU z%I_0g9rHJ}>mfWUR^?=^GTZyiE-7HX{f?a%_sOB^--jk|SN34T?#y2wp!yqjgMA}d zQk0lioC(T4Aa50AR^au+{p%;5{Qv*n{^r-}n`-)o_6koXN?dRGVR!!k&)gfIr1moi z9LR`M{cgA5{oG~G8I|oj^y2Lz>VNE8BYSkR#%HPho6qKc1L@x+&$WF8tMYz^Q@5t3 zF8a2QVMU9?qGLS!8A>wc{p`N&yO80(&5TXip23EHvW&+!yN1e*!B#hT_Mb9eqjMdo SpL65O%bR*C_k;XUss{kphI+~X diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4a42603946f20a4f0ff5400b69aa22e568f67b80 GIT binary patch literal 1019 zcmZo*o%(^90StP$lk;Mw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPRK2<0*ohwbT|M}42 zpJSQ89zy(U+u!g1v`*b#-bL0q1p2zIxOM|@goP7cuB#l`Wdndzx{#U+U)sqw&+m03Im*(VvBZZ;b$ zaNA!so!-adyUE(1ZW@OfCzCzIhBdn#ULISP$Z&mM#-hWSD_7jN(}K#+z29uvr+nC2 zV7HnaPYS>NfeVX0O|DGd-C(?FQ}VQP`#!v#yx=U)RXcyEekX|jeNUkBk0J8=?xfaC ziYg7Uf8|xm;5cu_ZgigrmJ}uC6=#C73n&(fGAmG=|MuF6C;$Jyw|Cyzvqw$ea6bb> zgS^oFtbJN>yZRY#sqH^7>3QifDHi*N)PT3*On>cw@(Lh%C8+$W|F`df^l#qx>igA4 z#`_a8J}+Fk=a(JB|4m}QJwDqVIAN!7h>>MKL$yWESGT`*4zC;;%4hxB=fI(Tj;G?Y aUFEGW4A+4AXA5n*w(fQ1el+Ko>Hz@!d#QB* literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1f05c13255ff0a6850e29d09a5ca880aaf6dd38e GIT binary patch literal 1019 zcmZo*o%(^90StP$lk;Mw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPR9+=uj@6cznhjIz> zpKO1>|I<2kxOzhT&lL(y=SoxH>Iw0uWN`H`CmWg}f+m9xGhn=#y_wsl^e{S4DFKBG z7sT&i|7S=cJO}d>jLykYSjnQSv>(QoY1zDhUp58Khswhp3sVQ9OKTOw?*B@HtB2}` ztB11 zX0x#ZxBXSq>3uA|o2(7$rg4~YGC^%xv)ke2v1N%2*Y{;CI-I$3#eF+1sQldf&6a)2 zhph#6tI6@C@Y^4_u-Mb&%H-V*#+x=JPdm5o!`sOV&hlKf^M~qpg6QA(1S$}nubp`E|Nnb?=bb%!)btJa zGZgU13Ej`yryaMepYfL3{)XP?rN^XL>=`@*-ikB*wPSd~qX3dufXXlXfBPOt|Hgf< zzF&Q0yq_WS^TL&Te%Uen*(CPct0vxM{|Cu9sv6PYYPAX literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_nsi_no__f8.pkl index 342eccc1e3aec3419b4c836c6687a5fb9cdc84a0..1f05c13255ff0a6850e29d09a5ca880aaf6dd38e 100644 GIT binary patch literal 1019 zcmZo*o%(^90StP$lk;Mw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPR9+=uj@6cznhjIz> zpKO1>|I<2kxOzhT&lL(y=SoxH>Iw0uWN`H`CmWg}f+m9xGhn=#y_wsl^e{S4DFKBG z7sT&i|7S=cJO}d>jLykYSjnQSv>(QoY1zDhUp58Khswhp3sVQ9OKTOw?*B@HtB2}` ztB11 zX0x#ZxBXSq>3uA|o2(7$rg4~YGC^%xv)ke2v1N%2*Y{;CI-I$3#eF+1sQldf&6a)2 zhph#6tI6@C@Y^4_u-Mb&%H-V*#+x=JPdm5o!`sOV&hlKf^M~qpg6QA(1S$}nubp`E|Nnb?=bb%!)btJa zGZgU13Ej`yryaMepYfL3{)XP?rN^XL>=`@*-ikB*wPSd~qX3dufXXlXfBPOt|Hgf< zzF&Q0yq_WS^TL&Te%Uen*(CPct0vxM{|Cu9sv6PYYPAX delta 674 zcmey(K7oU^fn_Qy%S6^(7HTn$kWcXo`k6qc^iRbK8^*t{&!OLo=YHH{;}f zMrrL%=Lru?ZKHSSv)MC1L0NseN6H+A{V=}K^bVa~(Ukp@Wf&zSWJP)Pu78(?EAF1~ z?P1L4r2Uh97$tn=o=xPRcPkk#$*^Mc>I|iEMDVdVg1M>vXBU3UYGo(T8%#cNO zr83Z2lP@w(tOse3_5gc2H?g=lJ~cBv73kr_lGOO5#Ny0iye1@Xy4h^3zzuhfZrwBv zGfpNr|HzAD%Mux`?{i&rICJHS`*u2L@|O?PubA=s_jkDaZA~|AN}hIZ-@CVy7o6p} zYIhjbfPHpQ`S%d{eLI5ErG>2a!1aUuFIZBPm{*)xl9`_e@>fx21#VB&1H<9$7ef+<8}&%7+Ll+^jY+Lb^B}AaM6*W meAcgh46@qiqMw=;qetus6fdEW+Gn7n8a^`@z=7ar|HlVs5w$!}TqV&os8SELn z7;-7O@wtg5Q+kAu90O#g7G)*_JrJK(l%JbanwFLda*oEd2@sPRCgkWXxSPvp59Jc% z+cZmmd~#70uAUJ8h2M{3%hFQd>Iw0uWN`H`CmWg}f+m9xGhn=#y_wsl^e{S4DFKBG z7sT&i|7S=cJO}d>jFx!8- zR}Ynk^I`g6^pp%ah|4n+!S0svh)*lc$pN~%xHvvFGd(r0xFoS8H6EC+WB%<+8%(6NmSib$``8{YZ5`!`*vxxVV_@8(e=Zx#!4izhnFVG*7|9cEu{cmCpg? z!}@C;gY?hcZfUIVX0-o6%haEac0cVHE_htKwsfZ*gY$fgwJ(|WH|#hTrJclVpOEeM lez)b%eGCR+8%r|w*l{Wf*k1$cS5UcbQFEhmKbrGP^#IRDZ(0BV delta 674 zcmey(K7oU^fn_Qy%S6^(7HTn$kWcXo`k6qc^iRbK8^*t{&!OLo=YHH{;}f zMrrL%=Lr*X^cLLBWwd92f@2OC{5%Xr%0)EW;=vadvgegx$6haK%?I zKi;P+n7n_o52J*y@Se<&veU_MNrsj$U!$%CU|tue}e;1|0nDQ`(Lo6C^4@%vm`S=59F_+%nIC| zs0W6_&C~Z@{{R2pzG>#XE`{5=`!B4zuJHN9;eDFjUv*DEQr+Kh(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqpu_|Po(*NDv?$|cBWSb9L@#4dHXdP4jd)4BtP zv{LrN%qPU3lEKx(oNQ=@@O}m#rsutxy_wsl^e{S4DFOMN3*vXM|1-o8o`YEmqaUo0 zKg*$~1b2*_>yIsc%_(rtK;_|lm_8W2#{QIJ{<2iKJXAm2Jg7XJ57P&ur({S$T%I8d zcDIa2d|GKv4$$4j#qp_`>8W|eC5a`e@kxornZ;9(ee&Q@nfCNNeyGh2yH9CXTgY8h=|Xk^YZ)8K;Wf4zkIhV`+ z;EU4^B&rf{jTtaShpEF_SeaKe7Q8G*M3QVsZ@m5F8j)`=eo-!j@z%1 zv<|Heuh<_x%`0=(ffM^zpFhYREVym|%fH6kjO)AX?HWbzo|?AZ9%g=O1K50f7pVD5 zA?DkonZMucysut3&u#lnoIkeue^1@Rc_7xmaq>d@T(ACKg9|A(SvHS@=OjF|cmLAe z_Nh?GX2JUYH!=I~?swiI|JkvAp?yW_pVfiirtNQeE^we zwTCCZC^Z@AzLKI+u(L8adf4+)Ahu5in%+9anK5Y!#0ExhW^d-UDH&Wn%*lpk$W~|Y zVOrejJfY!3v)o@JHhYK*7#OY{QD~K)$*>>B_v1Kuz^y9TrJO`*qhF z`DNhzJ4~~E)z_xN`7x$-2M%ea?1!0Wc!J0H^HBt!;Q)`b{)1C?F!?FK@PG#ZFc79> zh-Qd`{Fot$>O*;;<6)X$^n(@hXF2qg;Fig`{@BvjjBq?u9_~1pJ{Y~m{*+_>GKAxy z`r+n5<>7poJ{S#lytD^6@^TZ4i{n!>(^G*FmspY-pOjdfS&Y{=o0heFU|(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJlfPI2gWn9>GR*Ta^Q8=sq4GNnfd$wDAA zwJ0+g=*0N6qWs*X(zLWxkd+$KCO~|`U~%Zx|5H!6?4ewO{EHK3d^7l!3|CKxA8ZwQ zroZbjTssX zV0X)S#HW?!3y8eBmy_t-SYfX$9IMM za+cygn0^O{{(Wfjb{5Vj{~h&P4A+nD6ZV3l{FG8)@&`G310%#5X3Mmv-zu{0 zCb((j2Nxc-4hz0B_h0!9yMMifj{PT&?$+JazT)%$_xAm_11Ehsmuejrk@Q?$PG!Gv zT)^VO+{ydG5?0=NE+1(B-(bS3`r7dQ9a>epT`hd~zfWD&xUDYSo?)y0x{JqE?d7jt zT2lIV;=X>aUB^4B{p~r6E>7-05W4@%??p5Bl?CnB-LIX!{$Qy6OsM&;fBZn^+xbDw ze-1IQ2`&%qVeYT6o3(oH>*IDX_itZfaaaG@{rz4u z`e(IIjGPWdy(E)D8_R(r7f?b@O4 z*M+#>9_D@>i2L`WnZF-q{vU|>_Av9$K+NCw>}uECX+ZbFB0XZ>4enz=|3LW-YgTT{ TRxUb;9;x2U?NcBLv{VlOVCC`X literal 1293 zcmZo*naae<00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(k!NU zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~f9AL*d^gB#x1FGxcO397SO)QBoOH7`U z!P>(UUzC~*bYDqPDcD&V96juLDG=Ky15Iz8;>?&d1!4oEH?uc$+msBh9_D02Gi0kX z_%JQ*be>>w=+*yIPq^$M;laRQ^Q_o?@wxB&V0?y$UmxyZO4$$NUz|AOo58PSxcWc; zI9nLv5qyR|yX!~Uc;V`Uts>9#cO8bS=V0jPQtm+Tl~WYwT(dy%rvSqP9ss~Vn35ry zArA6mh9s&F<$;ceISNLfcsAqI+`eSE<;$&C)<5hx4Ch1T;f{gngV8)U>Nu8LA=E?l z!_`CO;e41r7!7v3v9m27fnmBwGV`m71^Z#nlhg^#;bK?_^G?HwhXp@- zzrTm^Vam|y2B-jxMwdtD!_>iOba`|>OdX7d%ipM6T>5AO!hQ1?${)=+(F}8ML*DDu z@U2S@BXR~@Ckg{*E{sNz#KM88gV9)&pa{X#!DzUopR2g;$Jpuc@K-JHpIR9E0q%aT SPy07d-h0CirU4YarFsAvv=Q6@ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no__f8.pkl index 06e10282714073763defd3747b1b90b1bd4dd930..e93d45e0734f757b4008ace1441242aae8a29c69 100644 GIT binary patch literal 1269 zcmZo*o%)J}0StP$lk;(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqp;U}_t^L!Zqa$|cBuvi<%3PwUj->Iv~bS12@{ zD@}o`C&ZtU!PUc@Y-on?eg+?==e?P|ncJrHFgi~u0r{N^;&-tBGsF;{gLw)@=VU3Y zWKmYy5978Knse{p_wTfZ)e}xPOlfLKP-d*n8lV;kV&2YU{R;p^F#T>}{ZSIl%TIU-D zBBodDpQ;jeY>w4g`>goilDl-a?Z4#2Rpe{AaeqM#^KAWX+wC)%E0-lF9k&we zwTCCZC^Z@AzLKI+u(L8adf4+)Ahu5in%+9anK5Y!#0ExhW^d-UDH&Wn%*lpk$W~|Y zVOrejJmG<+q=Fzko%jiz_#^opjy`A@dL-~VZyI$XW1D6ii2 z@6vF7_k?c`V?HOr)qk!~XgXJ#0+*M2Hj#hctzR3$d4J4s6LbjIv%D8M(1QHtYlGEf?F=rvUvf&EW+_nd4%OKjZnI@Rx#}UFNEWv z`r+!K@^C(yb_THHr9Hrrmz!8z9G{w*o(hb(#FEtbq{QOPV!XcDw5;U=1A_=o)6s3C zH6QF7_JX4P6i~Xu8V}yg?Nc)3JDoN#GBC`mxhnMT@(H-}4{<+!Qg!|%jNc%?bampg zn~wVlIJ*HV52FbvXMm}L(PXP(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqp;U}_t^L!Zqa$|cBuvi<%3PwUj->Iv~bS12@{ zD@}o`C&ZtU!PUc@Y-on?eg+?==e?P|ncJrHFgi~u0r{N^;&-tBGsF;{gLw)@=VU3Y zWKmYy5978Knse{p_wTfZ)e}xPOlfLKP-d*n8lV;kV&2YU{R;p^F#T>}{ZSIl%TIU-D zBBodDpQ;jeY>w4g`>goilDl-a?Z4#2Rpe{AaeqM#^KAWX+wC)%E0-lF9k&we zwTCCZC^Z@AzLKI+u(L8adf4+)Ahu5in%+9anK5Y!#0ExhW^d-UDH&Wn%*lpk$W~|Y zVOrejJmG<+q=Fzko%jiz_#^opjy`A@dL-~VZyI$XW1D6ii2 z@6vF7_k?c`V?HOr)qk!~XgXJ#0+*M2Hj#hctzR3$d4J4s6LbjIv%D8M(1QHtYlGEf?F=rvUvf&EW+_nd4%OKjZnI@Rx#}UFNEWv z`r+!K@^C(yb_THHr9Hrrmz!8z9G{w*o(hb(#FEtbq{QOPV!XcDw5;U=1A_=o)6s3C zH6QF7_JX4P6i~Xu8V}yg?Nc)3JDoN#GBC`mxhnMT@(H-}4{<+!Qg!|%jNc%?bampg zn~wVlIJ*HV52FbvXMm}L(PXP(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqqZxRenbtSz@6$|cBmI5fkFd!?W~Og$m~w-BaH zeYz=d^@R9SGPrt}lMT%f-p}B}^t?B-H*?#R9!BRWB_O|ZLHrK(e})*sb1+B3=$KOs z-ukc9;hyc9J=f=@Tq>Lom4`bPrVmCx>3bXQwjdd<9;zR%9x4y#!}P)EDH&1_muJX= z-7Vu0pH`Za19W$BaeQiKdTL&ANn%NAd{Sa@X7LncpFA{vD`sG!2{(C0y!3_Oy{7w5 zzQ}tT`(Mc3MB(wiu3`&&6ThD!lb`VIN0Z+_$6RXe$5;6wubB-R=nX$i3NU2!h z#U=axtwt$oJ&yeXy)&4tCg!fb?Fe?eNpSp)K9xUfbkn9Br%t=a9@M* z8D?02s`>k2=BGoKd7pFsT^OGM8mZpQ?NcBLv{VlO&5*(} literal 1293 zcmZo*naae<00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(k!NU zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~f91z!hu%FTfRM*3mk{h3!SQ1~Bm^>we zwTCCZC^Z@AzLKI+u(L8adf4+)Ahu5in%+9anK5Y!#0ExhW^d-UDH&Wn%*lpk$W~|Y zVOrejJYm75jNo8xx&06qFfc5eHuuto6B=;-yh{^SEQ?Qt^9v5maN=GmXb)4rp?T(K zgA2F!!T8^fKG@9sFd44?YY5Y(KHU_!dWA#9_HmPv;e3XpXa9uhGr-kP0fq-W0Dyro zB||hr9OTCgNmL)o104^u6h?QPV(`{~r4Bc&YxZ29mvRWlL*)^c!!$zaM}2R@-4-Am z57iG>50!`W(X=yw9WU(xj=bE&;^O$!%=A=X#3h!b#wR5fXBOl2&8B579~c-!;I2nE zo!)$~Z`ccp@>4+R4r@GkGq+F4kneQbz{tR`Vbv?%trI`P1IN+k)x)fvXJFoGc$rx2 zW%)1^E|0@I4N!3yjYAn+7^V(J!zFMqVCrBrTv=~jM|GIpLYR9Q#4O!!$aa2!xwoP5 zO7y~_*;+6@Tpt<(W-g3Ilg8k})WK*B1!w{=bubz({b|*n1f8TKaQEFzJT#HV S8e+wjOiR+>{sAY}Qau1`l@MD1 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1e5a96d6f8d8891c38603a7a84acb42c9fd5dbe8 GIT binary patch literal 1269 zcmZo*o%)J}0StP$lk;(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqrURH4vxt~AB|=R=2oj%5OS2=T9Nf4~3JI(2(} zXUuX#mQlb=XVq0Ps!lwVNNzQLwG-f57YDB%-+mxQ+gPk zr<8#F&IR#1*#8+~2+u+N2&YPG6~pfTO0w^n?T{pUo^Ov-%jO0AvMKf+8(b#medF5$ zmERAQw}ESfGUBonRdkuQVLA|AV+UtggEo*-d*n8lV;j$EK6SO zJUi0n$*Hivj5=@aQ=O%ojz)IaWc`eC&b8iPuf3!Fn{IFSo@-8AMZT6B_ZQbN&(`0z z-F~Y|*s(cQXYD7(|CZdPvu(dGb0F`xxkvWDJliM`F}-4c^HtH}moL}v-#Y*Nao(?6 z?YU*rCto_hZ$F>+>knHxw(QSgu3VO!blg7B%Qdg}XxaWtsOIlq12umE#C&^qsQC$J zz~BYy7mDWC6sKz)Vmh$F{#(U~%cnk_+p}h=u_%w_E&Kf$pN>FIkaRAua!8u<8z3Qpf|DVLE_qOxFr$ijoSU#z;jKlBpkibSym z_BBxVZ-cmhzdqFcS`hc!mqOjY-2?1?dzkq=)4}HNUj{YbUKVV=JP z_~!f_`}DIK{ED_SY7ATB-*Ct{59I literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay_no__f8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e93d45e0734f757b4008ace1441242aae8a29c69 GIT binary patch literal 1269 zcmZo*o%)J}0StP$lk;(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqp;U}_t^L!Zqa$|cBuvi<%3PwUj->Iv~bS12@{ zD@}o`C&ZtU!PUc@Y-on?eg+?==e?P|ncJrHFgi~u0r{N^;&-tBGsF;{gLw)@=VU3Y zWKmYy5978Knse{p_wTfZ)e}xPOlfLKP-d*n8lV;kV&2YU{R;p^F#T>}{ZSIl%TIU-D zBBodDpQ;jeY>w4g`>goilDl-a?Z4#2Rpe{AaeqM#^KAWX+wC)%E0-lF9k&(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqp;U}_t^L!Zqa$|cBuvi<%3PwUj->Iv~bS12@{ zD@}o`C&ZtU!PUc@Y-on?eg+?==e?P|ncJrHFgi~u0r{N^;&-tBGsF;{gLw)@=VU3Y zWKmYy5978Knse{p_wTfZ)e}xPOlfLKP-d*n8lV;kV&2YU{R;p^F#T>}{ZSIl%TIU-D zBBodDpQ;jeY>w4g`>goilDl-a?Z4#2Rpe{AaeqM#^KAWX+wC)%E0-lF9k&we zwTCCZC^Z@AzLKI+u(L8adf4+)Ahu5in%+9anK5Y!#0ExhW^d-UDH&Wn%*lpk$W~|Y zVOrejJmG<+q=Fzko%jiz_#^opjy`A@dL-~VZyI$XW1D6ii2 z@6vF7_k?c`V?HOr)qk!~XgXJ#0+*M2Hj#hctzR3$d4J4s6LbjIv%D8M(1QHtYlGEf?F=rvUvf&EW+_nd4%OKjZnI@Rx#}UFNEWv z`r+!K@^C(yb_THHr9Hrrmz!8z9G{w*o(hb(#FEtbq{QOPV!XcDw5;U=1A_=o)6s3C zH6QF7_JX4P6i~Xu8V}yg?Nc)3JDoN#GBC`mxhnMT@(H-}4{<+!Qg!|%jNc%?bampg zn~wVlIJ*HV52FbvXMm}L(PXP(D_9ATPARD@NCk;7rCChr z>}a0?G|8K}htXz=pP!%Ce;@!8-V7yElAJjpZuww8r46XAhb<*HJ~y#sN{bG~faqqJkfXQYZZ4xeluM9r(=7e*$wgJTdP4jcem{;a zOG|;PC&ZtU!PUc@Y-on?eg+?==e?P|ncJrHFgi~u0r{N^;&-tBGsF;{gLw)@OT6Ik z%q>&g596CnEf09FkOJpJ<>8Knse{p5radd~;7o?Ahw6u`hswkGFnut3N`@4~VCu|KOg|}s8;3mJ1&52smB)DHJ zG1+atjg0;A1DcMEc4GS%hA-kit}12!4k|ASk>6jyrxG0S#TBmq*qLMbYZ{#GPp7Tf z;BI(uA58xOi2nU(@^+e!&xOC8HuPKOflt+Qw`3gIAmOPv6=1f`9$`{im$ORwtd`Y7aC25yX7^Sg85T5cBQP z%-?_Q+H9xo%WuNn|DV@(<9v%vaQELU>dFv!`T*|!o0?Z^w@2RH|5Qx3iFw5W`{KyT zx~@O7_y3vw!^(Z@g8jw&_oy~V-najw%Qd~QUCKTQ)&2G`_y2{s-yY`vlMwgshnfEz zV*dWWQ4sV0L(I2_nV+r)Hh+Igp3K9!_aDF`jo&~!TSIUbjNhPNAhLbq{5vo{12j^- MncJs85@@L&0D)B5IRF3v literal 1293 zcmZo*naae<00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(k!NU zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~f91z!hu%FTfRM*3mk{h3!SQ1~Bm^>we zwTCCZC^Z@AzLKI+u(L8adf4+)Ahu5in%+9anK5Y!#0ExhW^d-UDH&Wn%*lpk$W~|Y zVOrejJYhnP-h#WijP?*0FfbhRC}XydW8DwqhhHk0K1Cx1&bMin{`lmgDqQ{9)hQEp z+e*OsS1&)_rz@BYSO3EA$FXH;DR6n=J((e8r<37)hL$g1q^F+S2eWSqFg)M^01SjF z8KN2DAU|eEqWVxC=y;eW7%lOFzcaT?5pKEJ)bfD$3JAwTm51}uv@?JmFYN)2yxhd%;`r3e^i*KPC6=VdCnXkV7UT8Jm89|;3=BdzO-Hwl z+WfC_SqB&x9-u}AdqGit3Mk!SjR$Y$_9+?iolYAVfhosuub{()Q*h_=PH-3T3U~?Q zH~jcpcsnV>aX$fPH$dfKGy&xdFm*7RZ1oN%4#$>We+qLi!`=xW?zTigw%q_t%_FUER6iJ&X@dtfhJYM^O?@ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_io__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_io__f8.pkl index 6755a6c23973e7d261ac3fd45606630c59ace1de..ac3fd936c0d39b1cfc5261af4d3010192a7b7b8c 100644 GIT binary patch delta 593 zcmaFEv6PFofpw}B>qJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxX8(mYMlc0J7-E} zaYU5z_ahfr?$!V zn`5gl@Cr?{zjplCd6Bs@?RQW6<+JqpefzC{IMO=n?%B(^Je_p?d%t~NM`hdV`}geE WE-SyMCGfz03eY-mEJIvYss{i>#ogWj delta 565 zcmZ3=^@fABfn{nU%S2YadeOYn+=5EIwcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHT7+ohPG8!0y%w*3^EQv43FTrW9LZ|Zt1~B+wKlvk5 zhy4_gHlT--5{sr}u=cPOCnx3rnUkkv2=*{#qIe0L3ntHHmSon=5ShG_SylqwD_lT- ziF7&#On$%|s0p%%GbOXQBrz{JwHS*7;i^Mf0;@r)xeJQ&lM<6Mb23XRv8abc0nmJp z`6gz+%{RZZH|N=R;#1pX`z^867kGuH*}ph`?7Ya_nfAM;{qkA*{J#CBKOAYDb@%MQ gIX|6r{d>QCUPooy>-+cY*DNc)rzP+J92TW|0LOsg-v9sr diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_E1TeV__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_E1TeV__f8.pkl index 487253e42ddd5f019085cef629521a5f55004006..bca6d6d2b7dc6985837ea0a9883e0947362a1347 100644 GIT binary patch delta 593 zcmaFEv6PFofpw}B>qJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxXuk6ml07NlG~1cK7V$RT}++Ge~s@kcIOTs7P<@Mm&{sr R1SCHNXdO6~AucP`0|1dn;0XW# delta 565 zcmZ3=^@fABfn{nU%S2YadeOYn+=5EIwcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHL7%xpOWK=K&naQ4;SQ1~5UxL$Ig-+)Q3}EoVe)31A z4*Mw}Z9oqvB^FJ|VC`WmPEO1LGAB>T5bR;fMDY?f7fhbZEXk~!Au@RqJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxXuk6ml07wcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHL7%xpOWK=K&naQ4;SQ1~5UxL$Ig-+)Q3}EoVe)31A z4*Mw}Z9oqvB^FJ|VC`WmPEO1LGAB>T5bR;fMDY?f7fhbZEXk~!Au@RqJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxXuk6ml07wcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHL7%xpOWK=K&naQ4;SQ1~5UxL$Ig-+)Q3}EoVe)31A z4*Mw}Z9oqvB^FJ|VC`WmPEO1LGAB>T5bR;fMDY?f7fhbZEXk~!Au@R6Msf%KHm!aBa8au)TciMhefF#07p{aIsgCw diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_nubar__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_nubar__f8.pkl index 3ee7fd5803702f058471e848b6a7c7652d1e9ba3..e4ba68ed8a7c76be15662a1857a51443ac9b47dc 100644 GIT binary patch delta 564 zcmaFEv6PFofpw}B>qJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxXhC zC*~xAd3{Gbsshf-C{+fmj1Fcd`N#r$d9Tv&`#9W>WjnZ2*Qx641m9 zwG2&X4v_OfU`iXv|7@vwsYU6PAUVFtADLviG^Pc>LPCu>P$h%Uo2zvS)O(yMnZ+fE zdC958V4L9z7cd9bqbTGqD9TStOv=p3ECCt~3|(0Ch)wcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHL7%xpOWK=K&naQ4;SQ1~5UxL$Ig-+)Q3}EoVe)31A z4&5mrZ9oqvB^FJ|VC`WmPEO1LGAB>T5bR;fMDbFF=;WPDN|Vf)C8H#nUYytl9-pAT8za>aMhtKfz=?@+yzDXNr_3BIhiGuSkyxT z9caFX^2C`EIXmCkJ6ruvQRty;MJf&HJv6A#x+ ky=#BMYwMnT>FM^B-z)p7J?`2wM%~@@Y|#UIkncg2gIlk_E6uZq~;Z8mSmHsm0!(mDWpEptaD;>_?~!t<(~;c4$H2cKUw-i&cX4g_^;hpG#wIq+5)4xO$H{KEX z;png-;{4y#pT1B_Bhf77E-1=RN=(Yk$t(c|1u!qeiW=LyaXvbo@9cGs+(~rOn{2<+ z-Sx>8K`i8+uNY)Ec5!2nbdytkO3z1B%q%&)G{=kIT)epAwFVD z%}XsxuLQ~QIdedyKG;Kjo06JWoLQ2YS`7AW0Nf%F}d;(>Na(7 zJKcCkqJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxXGms*rw36kTR{Ef~{l384mn3tSd z47M4rZ~=2*J&Ho^f};GS#H7re%o3o{z(9w^+6#B1v!31W?DrbE{Qc1}#eVDgqL{P1 zv+NaR9yp3_m}$QzOJVx0We@DHXe_Mt6u)a9@a&rS#%ELP3!cAn+?{#XUht~-wKt0& P*iQjk2aaEe%S!bCG2+_= delta 559 zcmZ3=^@fABfn{nU%S2YadeOYn+=5EIwcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHn8iGt?&rK|eFUT*!X`(`>^8^Mk_+UTzBU6X{6p%Kc zSCbNprev`8uoWjK<^Y+Kr(_8BFlC~62AkcJ=Q2w&>t={d-pMR0f$j+|ppQg4odYI6 zU=Gv-*~6KVSzMBsmz-LR#es0up)7&bAl2LjMfpjINtrpBC6!pzLjoUYzQ+r9qqCmf z@9ei5x%~anF~$Dq`J$M!ytC{zWF9z*ZkTDmHcMgptz{4FZ)q&7^%TEr@A>SS_{L{b a?2Deia@?JH*IwYN_q8{RAArN6R1W~L*WP>p diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_vac_nsi_no__f8.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_vac_nsi_no__f8.pkl index e4039e33a3205fd9056f1b09a5861936ef301e2c..0256f0629a096e820bf78639e45ecc7529b72558 100644 GIT binary patch delta 587 zcmaFEv6PFofpw}B>qJ&PJ)ykP+=5EIl+C^LCV4|jZ8QGRYxX=V@u6TElRHh$?;A8$Rx|9F)aWVKx)i^Dj9sKQ?%I2K*!{{lIK}?Geb3*lw7d3u-lkjb SU-rO$3eY-m{6bt-ss{i~GvM$5 delta 562 zcmZ3=^@fABfn{nU%S2YadeOYn+=5EIwcr$u4do#C9$>8W=O)04?NCjzP zO0xi}@@9mnVD4eGnd0Z?=k*^5z=StDL&=n+PG^saiJo3SRu6M-X2p~Y_6#nN*%>^j zCJXj3CmWg}8<-)AY8=G036mHn8iGt?&rK|eFUT*!X`(`>^Mtc!K;Vu2$??^(pcN17)7JcLlN7mYZ|q_B fE92l4`!DuAf3wo=+V6auZn=Ni1N$jJTTAr-pBUp1 From d57c90916265eaa1c6213f5276381a9119767e32 Mon Sep 17 00:00:00 2001 From: Anil Kumar Date: Wed, 9 Aug 2023 10:13:57 -0500 Subject: [PATCH 05/12] Import numpy explicitly --- pisa/stages/osc/prob3numba/numba_osc_kernels.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pisa/stages/osc/prob3numba/numba_osc_kernels.py b/pisa/stages/osc/prob3numba/numba_osc_kernels.py index 1e735ab10..76d1f9885 100644 --- a/pisa/stages/osc/prob3numba/numba_osc_kernels.py +++ b/pisa/stages/osc/prob3numba/numba_osc_kernels.py @@ -22,6 +22,7 @@ import cmath import math +import numpy as np from pisa.utils.numba_tools import ( myjit, From dd97820791384727d7d1b86b2ac32735e85435ec Mon Sep 17 00:00:00 2001 From: Jan Weldert <32642322+JanWeldert@users.noreply.github.com> Date: Fri, 11 Aug 2023 01:54:26 -0400 Subject: [PATCH 06/12] Add densitiy scale (#747) * Add matter density scale parameter --------- Co-authored-by: Jan Weldert --- pisa/stages/osc/prob3.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pisa/stages/osc/prob3.py b/pisa/stages/osc/prob3.py index 6a247d0fb..0a4b9d1f4 100644 --- a/pisa/stages/osc/prob3.py +++ b/pisa/stages/osc/prob3.py @@ -38,6 +38,7 @@ class prob3(Stage): YeI : quantity (dimensionless) YeO : quantity (dimensionless) YeM : quantity (dimensionless) + density_scale : quantity (dimensionless) theta12 : quantity (angle) theta13 : quantity (angle) theta23 : quantity (angle) @@ -72,6 +73,7 @@ def __init__( self, nsi_type=None, reparam_mix_matrix=False, + scale_density=False, **std_kwargs, ): @@ -89,6 +91,10 @@ def __init__( 'deltam31', 'deltacp' ) + + # Add (matter) density scale as free parameter? + if scale_density: + expected_params = expected_params + ('density_scale',) # Check whether and if so with which NSI parameters we are to work. if nsi_type is not None: @@ -251,6 +257,12 @@ def compute_function(self): self.layers.calcLayers(container['true_coszen']) container['densities'] = self.layers.density.reshape((container.size, self.layers.max_layers)) container['distances'] = self.layers.distance.reshape((container.size, self.layers.max_layers)) + + # Matter density scale is a free parameter? + if 'density_scale' in self.params.names: + density_scale = self.params.density_scale.value.m_as('dimensionless') + else: + density_scale = 1. # some safety checks on units # trying to avoid issue of angles with no dimension being assumed to be radians @@ -311,7 +323,7 @@ def compute_function(self): for container in self.data: self.calc_probs(container['nubar'], container['true_energy'], - container['densities'], + container['densities']*density_scale, container['distances'], out=container['probability'], ) From 2cc3d2b1405d5ddca4e9526bb5636cfd52b32cfc Mon Sep 17 00:00:00 2001 From: Anil Kumar Date: Mon, 14 Aug 2023 09:36:51 -0500 Subject: [PATCH 07/12] np.complex depricated --- pisa/stages/osc/decay_params.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pisa/stages/osc/decay_params.py b/pisa/stages/osc/decay_params.py index ff387fead..170f292c3 100644 --- a/pisa/stages/osc/decay_params.py +++ b/pisa/stages/osc/decay_params.py @@ -51,7 +51,7 @@ def decay_matrix(self): """Neutrino decay matrix""" decay_mat = np.zeros((3, 3), dtype=CTYPE) - decay_mat[2, 2] = np.complex(0, -self.decay_alpha3) + decay_mat[2, 2] = 0 -self.decay_alpha3*1j return decay_mat From ecf9314df3e0cac0dd50eb883fda914918528add Mon Sep 17 00:00:00 2001 From: Anil Kumar Date: Mon, 14 Aug 2023 10:16:14 -0500 Subject: [PATCH 08/12] Prepared numba_osc unit test ref file for single precision --- pisa/stages/osc/prob3numba/numba_osc_tests.py | 3 ++- ...ass_eigenstate_hostfunc__nufit32_io__f4.pkl | Bin 400 -> 392 bytes ...genstate_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 400 -> 392 bytes ...ass_eigenstate_hostfunc__nufit32_no__f4.pkl | Bin 400 -> 392 bytes ...nstate_hostfunc__nufit32_no_blearth__f4.pkl | Bin 400 -> 392 bytes ...genstate_hostfunc__nufit32_no_nubar__f4.pkl | Bin 400 -> 394 bytes ...enstate_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 392 bytes ...tate_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 392 bytes ...nstate_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 400 -> 392 bytes ...nstate_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 400 -> 392 bytes .../get_H_decay_hostfunc__nufit32_io__f4.pkl | Bin 0 -> 590 bytes ..._H_decay_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 0 -> 590 bytes .../get_H_decay_hostfunc__nufit32_no__f4.pkl | Bin 0 -> 590 bytes ..._decay_hostfunc__nufit32_no_blearth__f4.pkl | Bin 0 -> 590 bytes ..._H_decay_hostfunc__nufit32_no_nubar__f4.pkl | Bin 0 -> 590 bytes ...H_decay_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 590 bytes ...ecay_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 590 bytes ..._decay_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 0 -> 590 bytes ..._decay_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 0 -> 590 bytes .../get_H_mat_hostfunc__nufit32_io__f4.pkl | Bin 507 -> 497 bytes ...et_H_mat_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 507 -> 497 bytes .../get_H_mat_hostfunc__nufit32_no__f4.pkl | Bin 507 -> 497 bytes ..._H_mat_hostfunc__nufit32_no_blearth__f4.pkl | Bin 507 -> 497 bytes ...et_H_mat_hostfunc__nufit32_no_nubar__f4.pkl | Bin 507 -> 497 bytes ...t_H_mat_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 497 bytes ..._mat_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 497 bytes ..._H_mat_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 507 -> 497 bytes ..._H_mat_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 507 -> 497 bytes .../get_H_vac_hostfunc__nufit32_io__f4.pkl | Bin 627 -> 589 bytes ...et_H_vac_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 627 -> 589 bytes .../get_H_vac_hostfunc__nufit32_no__f4.pkl | Bin 627 -> 589 bytes ..._H_vac_hostfunc__nufit32_no_blearth__f4.pkl | Bin 627 -> 589 bytes ...et_H_vac_hostfunc__nufit32_no_nubar__f4.pkl | Bin 627 -> 589 bytes ...t_H_vac_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 589 bytes ..._vac_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 589 bytes ..._H_vac_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 627 -> 589 bytes ..._H_vac_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 627 -> 589 bytes .../get_dms_hostfunc__nufit32_io__f4.pkl | Bin 652 -> 631 bytes .../get_dms_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 652 -> 631 bytes .../get_dms_hostfunc__nufit32_no__f4.pkl | Bin 652 -> 631 bytes ...et_dms_hostfunc__nufit32_no_blearth__f4.pkl | Bin 652 -> 631 bytes .../get_dms_hostfunc__nufit32_no_nubar__f4.pkl | Bin 652 -> 631 bytes ..._dms_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 631 bytes ...et_dms_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 652 -> 631 bytes ...et_dms_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 652 -> 631 bytes ...merical_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 555 bytes ...nsition_matrix_hostfunc__nufit32_io__f4.pkl | Bin 998 -> 1107 bytes ...n_matrix_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 998 -> 1107 bytes ...nsition_matrix_hostfunc__nufit32_no__f4.pkl | Bin 998 -> 1107 bytes ...matrix_hostfunc__nufit32_no_blearth__f4.pkl | Bin 998 -> 1107 bytes ...n_matrix_hostfunc__nufit32_no_nubar__f4.pkl | Bin 998 -> 1107 bytes ..._matrix_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 1107 bytes ...trix_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 1107 bytes ...matrix_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 998 -> 1107 bytes ...matrix_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 998 -> 1107 bytes ...trix_massbasis_hostfunc__nufit32_io__f4.pkl | Bin 743 -> 722 bytes ...assbasis_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 743 -> 722 bytes ...trix_massbasis_hostfunc__nufit32_no__f4.pkl | Bin 743 -> 722 bytes ...sbasis_hostfunc__nufit32_no_blearth__f4.pkl | Bin 743 -> 722 bytes ...assbasis_hostfunc__nufit32_no_nubar__f4.pkl | Bin 743 -> 722 bytes ...ssbasis_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 722 bytes ...asis_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 722 bytes ...sbasis_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 743 -> 722 bytes ...sbasis_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 743 -> 722 bytes .../product_hostfunc__nufit32_io__f4.pkl | Bin 853 -> 832 bytes .../product_hostfunc__nufit32_no_E1TeV__f4.pkl | Bin 853 -> 832 bytes .../product_hostfunc__nufit32_no__f4.pkl | Bin 853 -> 832 bytes ...roduct_hostfunc__nufit32_no_blearth__f4.pkl | Bin 853 -> 832 bytes .../product_hostfunc__nufit32_no_nubar__f4.pkl | Bin 853 -> 832 bytes ...product_hostfunc__nufit32_std_decay__f4.pkl | Bin 0 -> 832 bytes ...duct_hostfunc__nufit32_std_decay_no__f4.pkl | Bin 0 -> 832 bytes ...roduct_hostfunc__nufit32_std_nsi_no__f4.pkl | Bin 853 -> 832 bytes ...roduct_hostfunc__nufit32_vac_nsi_no__f4.pkl | Bin 853 -> 832 bytes .../propagate_scalar__nufit32_io__f4.pkl | Bin 827 -> 936 bytes .../propagate_scalar__nufit32_no_E1TeV__f4.pkl | Bin 827 -> 936 bytes .../propagate_scalar__nufit32_no__f4.pkl | Bin 827 -> 936 bytes ...ropagate_scalar__nufit32_no_blearth__f4.pkl | Bin 827 -> 936 bytes .../propagate_scalar__nufit32_no_nubar__f4.pkl | Bin 827 -> 936 bytes ...propagate_scalar__nufit32_std_decay__f4.pkl | Bin 0 -> 936 bytes ...pagate_scalar__nufit32_std_decay_no__f4.pkl | Bin 0 -> 936 bytes ...ropagate_scalar__nufit32_std_nsi_no__f4.pkl | Bin 827 -> 936 bytes ...ropagate_scalar__nufit32_vac_nsi_no__f4.pkl | Bin 827 -> 936 bytes 82 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_io__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_E1TeV__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_blearth__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_nubar__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_nsi_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_vac_nsi_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_dms_numerical_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay_no__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay__f4.pkl create mode 100644 pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay_no__f4.pkl diff --git a/pisa/stages/osc/prob3numba/numba_osc_tests.py b/pisa/stages/osc/prob3numba/numba_osc_tests.py index b46b6273b..994d34947 100755 --- a/pisa/stages/osc/prob3numba/numba_osc_tests.py +++ b/pisa/stages/osc/prob3numba/numba_osc_tests.py @@ -39,7 +39,8 @@ from os.path import join import numpy as np - +# import os +# os.environ['PISA_FTYPE'] = 'single' # for checking unit test on single precision from pisa import FTYPE from pisa.utils.comparisons import ALLCLOSE_KW from pisa.utils.fileio import expand, from_file, to_file diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_io__f4.pkl index f8aa526831ae29b00e1e85d7576697f93b434012..4a30854c0255aed2744a01224b3c960529d797bc 100644 GIT binary patch delta 178 zcmbQh+`-J!z&f>dB1<+?XUD{16a5~cywco)O1-L?Zn@$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB((LE>t diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_E1TeV__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_E1TeV__f4.pkl index 1ee43ae898b0c7414757059bd1752ad0ab634081..c252477253d7650779f77040b27dd19ce72f204a 100644 GIT binary patch delta 178 zcmbQh+`-J!z&f>dB1<+?XUD{16a5~cywco)O1Zn@$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB((LE>t diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no__f4.pkl index 1ee43ae898b0c7414757059bd1752ad0ab634081..c252477253d7650779f77040b27dd19ce72f204a 100644 GIT binary patch delta 178 zcmbQh+`-J!z&f>dB1<+?XUD{16a5~cywco)O1Zn@$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB((LE>t diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_blearth__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_blearth__f4.pkl index 1ee43ae898b0c7414757059bd1752ad0ab634081..c252477253d7650779f77040b27dd19ce72f204a 100644 GIT binary patch delta 178 zcmbQh+`-J!z&f>dB1<+?XUD{16a5~cywco)O1Zn@$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB((LE>t diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_no_nubar__f4.pkl index 5717695a73cc83e987a0fc2b2c7e9649e6f82cdd..4349be8cf8272f534d66722aa85d8c0bf2eda5ed 100644 GIT binary patch delta 180 zcmbQh+{Mh&z&f>lB1<+?XUD{16a5~cywco)O1g$ Hu~ZKL*%v?Z delta 165 zcmeBTp1{n~z%sRUB1<-lH-k6h#6pw!4Avf=_@dP0{Ji3lqSEA&DU+vUaP+X}r6d*= zB~}7?-VCi%oEej*v`-0|qT$Wx&FszGHYJ0rhbh?tDCf-x5ogZe^Yiob`VRzP!keLF uN>Ycj$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB)=RGL^ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_std_decay__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c252477253d7650779f77040b27dd19ce72f204a GIT binary patch literal 392 zcmZo*om$Jt00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqldM)B(WrQ zN{?t>X>LKKUUGg>s$OnsPDy5BQBh*$lpeO?uQUm0T#pcveL!Yv zQD!pGf$?cY`MF7@X=$k-8#ShRK>Wcl`9hFAhjVDTv#Ts=(576?aY@L@XHo7tPW sZAuTL^OO>htC2w3X@s04GX>LKKUUGg>s$OnsPDy5BQBh*$lpeO?uQUm0T#pcveL!Yv zQD!pGf$?cY`MF7@X=$k-8#ShRK>Wcl`9hFAhjVDTv#Ts=(576?aY@L@XHo7tPW sZAuTL^OO>htC2w3X@s04GdB1<+?XUD{16a5~cywco)O1Zn@$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB((LE>t diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_vac_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/convert_from_mass_eigenstate_hostfunc__nufit32_vac_nsi_no__f4.pkl index 1ee43ae898b0c7414757059bd1752ad0ab634081..c252477253d7650779f77040b27dd19ce72f204a 100644 GIT binary patch delta 178 zcmbQh+`-J!z&f>dB1<+?XUD{16a5~cywco)O1Zn@$HXh1%0N~Rb3t+Dlnl`fagcEtl5oR-9QjUXiOGqKlB_^=rFsB((LE>t diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_io__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b8bd2293c2464b5567dceb09955a66de2c729eeb GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!}C)?_8=yk z1`n9tF22fUi-)+~ix-FYo$J_b>#fUU@0wI;>y>E(mVYRA*6zCV3fu3C6!xbcinn#* z)dY)A>0t%i3#3y@DhpD9mh>VkKmaDZ8A_%kc{6)6 zw@v9`be>WIRMsO3_eXqkeqL65Nl{{6alw=fb_@qMKporwb?`o@gZDxmycg==2B?Gg zLLIyp>fnYc8GJCy-5{28<|dZJr=%t)R)Q^5frbzf6wom49;P%Cgl{wWarrev2<%gK V4)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..109badb615665223f8b7094ebdd8ab2f748e1859 GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_blearth__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_blearth__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..109badb615665223f8b7094ebdd8ab2f748e1859 GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_no_nubar__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5572139943a4d3335e2b86a597bb85637989bb76 GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_CRLC z8Eqag&3t&%-bC(id;R^E?o$YzwzuuIr2X=j?t3R5umsCjd%m=rXWG3tib-TYo4n;- zO(q?%_>>-2u)RP!rKGYT6=+EhQ?kXB&W`peKo@#5_b}Q_@$>WZ`VRzP!keLFN|HCT zH*?#R9!9q*B|v38qHur2C+Fv7#g`N%<`oxA$zaEDFay-V3{VH#LLF=ib+9ee!3^|3w1EVlng$Y<<1bxIdc)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_decay_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..109badb615665223f8b7094ebdd8ab2f748e1859 GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_std_nsi_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..109badb615665223f8b7094ebdd8ab2f748e1859 GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_vac_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_decay_hostfunc__nufit32_vac_nsi_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..109badb615665223f8b7094ebdd8ab2f748e1859 GIT binary patch literal 590 zcmZo*o$AcQ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV<~ka}!JAQ&N)?E5R13KtqTK3TPO24^x^6!nYaxxcr(S1okPr V2a;8=$RNThqLje>2C=ME4*(W0tm^;( literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_io__f4.pkl index 46dbdfd459c4548694385a89bccf7981f7c0eadd..091f672f8beff97e28b2179deb713e0d536c8954 100644 GIT binary patch delta 181 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XH;&+9)BfC+Dgk|{~v z%-+mxQ+gPkr<4E{^|0oZCM6b4$zTWR%`^e(ot(_5&n<>9eezmHPk{_6h`tP2kgifa E01Y-k$N&HU delta 172 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|Px# diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no_E1TeV__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no_E1TeV__f4.pkl index 46dbdfd459c4548694385a89bccf7981f7c0eadd..091f672f8beff97e28b2179deb713e0d536c8954 100644 GIT binary patch delta 181 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XH;&+9)BfC+Dgk|{~v z%-+mxQ+gPkr<4E{^|0oZCM6b4$zTWR%`^e(ot(_5&n<>9eezmHPk{_6h`tP2kgifa E01Y-k$N&HU delta 172 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|Px# diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no__f4.pkl index 46dbdfd459c4548694385a89bccf7981f7c0eadd..091f672f8beff97e28b2179deb713e0d536c8954 100644 GIT binary patch delta 181 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XH;&+9)BfC+Dgk|{~v z%-+mxQ+gPkr<4E{^|0oZCM6b4$zTWR%`^e(ot(_5&n<>9eezmHPk{_6h`tP2kgifa E01Y-k$N&HU delta 172 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|Px# diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no_blearth__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no_blearth__f4.pkl index 46dbdfd459c4548694385a89bccf7981f7c0eadd..091f672f8beff97e28b2179deb713e0d536c8954 100644 GIT binary patch delta 181 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XH;&+9)BfC+Dgk|{~v z%-+mxQ+gPkr<4E{^|0oZCM6b4$zTWR%`^e(ot(_5&n<>9eezmHPk{_6h`tP2kgifa E01Y-k$N&HU delta 172 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|Px# diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_no_nubar__f4.pkl index bb260e9f7d09f24b034fcfed9eb4f056f4134d44..97e91934850741226c9e5350cd1a3e1e6b15264b 100644 GIT binary patch delta 181 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XH;&+9)BfC+Dgk|{~v z%-+mxQ+gPkr<4E{^|0oZCM6b4$zTWR%`^e(ot(_5&n<>9eezmHPk{_6h`tP2kgifa E01Y-k$N&HU delta 172 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|u)qC8Y G*aSN}ZH){7 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_decay_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..091f672f8beff97e28b2179deb713e0d536c8954 GIT binary patch literal 497 zcmbu5v1-FG5J2rXZb}0k3hhwno-Cd^WGG~ChfsqH{Q)D(GBVhaQRKm!r?iFJdhOh= z>u)qC8Y G*aSN}ZH){7 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_std_nsi_no__f4.pkl index 46dbdfd459c4548694385a89bccf7981f7c0eadd..091f672f8beff97e28b2179deb713e0d536c8954 100644 GIT binary patch delta 181 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XH;&+9)BfC+Dgk|{~v z%-+mxQ+gPkr<4E{^|0oZCM6b4$zTWR%`^e(ot(_5&n<>9eezmHPk{_6h`tP2kgifa E01Y-k$N&HU delta 172 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|Px# diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_vac_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_mat_hostfunc__nufit32_vac_nsi_no__f4.pkl index e29b928bdc67aa8add8b61bca171239e8ee48c62..13198d54ad5a606ec961e7aa707c20392e3d2e90 100644 GIT binary patch delta 190 zcmey({E?ZZfpzM$i7c5+ogEVkjf{JQ@=9|HD)o}{i&FJ~%+#XHyTkOk=~)dK+WMMW?G delta 180 zcmey!{F|Ajfo1B4i7c5c-VEN16Z4H6Ggy0g;)_y~^Ye;Jib|79rc9oa!O_E>my%di zlvoMmc{8+5ab`@K(mo|4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq(1SF`{C delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbuf}V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg byBSs0L58w=;5APK==RB97(H2mYD@J1IskTO diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_E1TeV__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_E1TeV__f4.pkl index 65a0bb0af2a51c71b0f3572fd11e8ece2cb53225..923f2dac72e7fccacb01094fce6a98eeda6b3556 100644 GIT binary patch delta 261 zcmey&a+Zaqfpx0WL>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq(1SF`{C delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbuf}V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg byBSs0L58w=;5APK==RB97(H2mYD@J1IskTO diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no__f4.pkl index 65a0bb0af2a51c71b0f3572fd11e8ece2cb53225..923f2dac72e7fccacb01094fce6a98eeda6b3556 100644 GIT binary patch delta 261 zcmey&a+Zaqfpx0WL>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq(1SF`{C delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbuf}V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg byBSs0L58w=;5APK==RB97(H2mYD@J1IskTO diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_blearth__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_blearth__f4.pkl index 65a0bb0af2a51c71b0f3572fd11e8ece2cb53225..923f2dac72e7fccacb01094fce6a98eeda6b3556 100644 GIT binary patch delta 261 zcmey&a+Zaqfpx0WL>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq(1SF`{C delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbuf}V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg byBSs0L58w=;5APK==RB97(H2mYD@J1IskTO diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_no_nubar__f4.pkl index cb123e57a0c9f68d729016068745d04360bfd92a..6c8d0af4244f8e515b3359f42a83af2ba5f50557 100644 GIT binary patch delta 261 zcmey&a+Zaqfpx0WL>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq;2SHJ)O delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbt^(V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg ZyBSs0L58w=;585IfG>=mtU$G;dH^}ac4q(p diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_std_decay__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..923f2dac72e7fccacb01094fce6a98eeda6b3556 GIT binary patch literal 589 zcmZo*o$AEI00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYs$vm!pP zG%2xYN{>)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV=14QgY+V5|cp~Y@-S^h(J`a!R#FgMasK@v;~NNcZS?pbFA#TI=4aPcS8AQ+1IB5)pX>LKKUUGg>sveM;T9la#)D)jql%JbanwFMY1k|K4%>!aK!{iG=_8{gN zZ5}Yqe0bB|MDB04{(ejMDTGe5ZF?43$j^ss{M1=1-cl?AClOL~}+Ev9sKv`+!L(3`o3(PoODpP$!%AOI8I3?);NyqUe3 z+otp|I!`G9D(ex2`y)O%KQAl3q$n}3xL`^KJBEWBpbl<;I(RSC!F!<&-V1eb1JuEL zp$^^)b#TL!3_h6UZV=14QgY+V5|cp~Y@-S^h(J`a!R#FgMasK@v;~NNcZS?pbFA#TI=4aPcS8AQ+1IB54nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq(1SF`{C delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbuf}V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg byBSs0L58w=;5APK==RB97(H2mYD@J1IskTO diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_vac_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_H_vac_hostfunc__nufit32_vac_nsi_no__f4.pkl index 65a0bb0af2a51c71b0f3572fd11e8ece2cb53225..923f2dac72e7fccacb01094fce6a98eeda6b3556 100644 GIT binary patch delta 261 zcmey&a+Zaqfpx0WL>4nWp}f-Ef=a#Q{GwDnATzZnGkHo6cYIn=er{4}T3Tw+l*v;x zrg<Ukx96ec;$x{GkEks$V9sq(1SF`{C delta 320 zcmX@h@|lIDfn{pOL>99&(Y(^!f=a#Q{GwF7+|rzq%*3Li#L6i>Jn==T$@zK3B}Jvl zB~vC(>0t#coYKRdmjY2Td5Skf>lA0kq$%xFf~IJAGkP<7Gq+92;OJpZDXA<-1!-bR zwg9T~W}J9Rmbuf}V`7G@iuA(K7&~mn$VVzAP~rgmG#R>|shX0b2|)h&e;l&(F{6KM;TkZw8=Aoz5zg byBSs0L58w=;5APK==RB97(H2mYD@J1IskTO diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_io__f4.pkl index 7e3fa2e87da7b2342b03e2a2b13a9a1c455a5534..24380d9b9748019e4119fc06e924d0417a21861b 100644 GIT binary patch delta 327 zcmeBS{m#PDz&bT&B1;ZaXUD`6O>;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%9DGYl<2#-r2D*K938;^?$knBs1bI66HA)vi)K0C`qo A1^@s6 delta 372 zcmey)(!AXfe9hJpL<`qE0Lxot>Vn0^!W4Id#AoTNfoTSYa5E5p3eeJ0Jpde8 Be4+pV diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_no_E1TeV__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_hostfunc__nufit32_no_E1TeV__f4.pkl index e127d11ec7d9d6ea4ada07387f227ddb3f268008..3e575fdb2e631c63e50e0c78a5d6ed733c635ab5 100644 GIT binary patch delta 327 zcmeBS{m#PDz&bT&B1;ZaXUD`6O>;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%BkRl_Yn#-r04FUnhk#L?-x5E(m=I66HA)vi)K02_T| A2LJ#7 delta 372 zcmey)(!;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%ABYYi|e@$<<;3$70vcUb6Mv`Cux+CT@Wq=zddH@++} z8HA@~h-Qd`tjmx@wT!pZS!Hq>qbghj(BTlr;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%ABYYi|e@$<<;3$70vcUb6Mv`Cux+CT@Wq=zddH@++} z8HA@~h-Qd`tjmx@wT!pZS!Hq>qbghj(BTlr;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%B2qCV~b8IMj+_2{(#iKEk{If~XGaddhLs$Hde02_;E AIsgCw delta 372 zcmey)(!#PGgz}#1{;A-+izE8nQY`v}ec9Cl4*SK5X1!p?A>&%HPqn zNZ$&mR4bWP#>%dXa~o8C2b6D?eO(MB&oCu}tA{Ds0^#BeK1}y|GkY_)P3d8Do>BsG zGFM7&d|6^L2v5ln)0n0LbrXmxHkiF5p-6c*kOsPsf#L29x!pj%HITLj@uy_)LQKn$ zg`1U|SP~D!V6$NU1E~c8NeRK7AiCy-!fq(v5=6tm?`z^|i8!{n!ANTJxr j26Q{RU2kg*!EQyTr;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%ABYYi|e@$<<;3$70vcUb6Mv`Cux+CT@Wq=zddH@++} z8HA@~h-Qd`tjmx@wT!pZS!Hq>qbghj(BTlr;Jn__WfToGCp*d8N4pm3qnfMX7o~W@=Gp@{}I# z__U(@+@#X9wA7+0lc#7*^I(90$;^zN-WgmyOvx5gIy>5@1WnQKX3pUA^Yioi4+LPs zo1tV%k~gzAbK8_2M&~IdKt(-VDY@}wiOC>5B|}VOnhMOk3Px4+3|@%p3|Y9^+{BW2 zAO@?2+kKMJvnE3dMJ*f9Ty%9T`P>#D|e@$<<;3$70vcUb6Mv`Cux+CT@Wq=zddH@++} z8HA@~h-Qd`tjmx@wT!pZS!Hq>qbghj(BTlr#<- zm4V^WN39(odWnnTZV;{4uV)FOU%ovEme1{!0E?TMDqDlZH$}^VX@(Ug+d%v&Kub&Y E0FY9EfB*mh diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_numerical_hostfunc__nufit32_std_decay__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_dms_numerical_hostfunc__nufit32_std_decay__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..018dde717f9c752db6d8dca09b47e9e152e9fd61 GIT binary patch literal 555 zcmZo*ovOgZ00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCjw zcC=3cn&i#g!)P#PGgz}#1{;A-+izE8nQY`v}ec9Cl4*SK5X1!p?A>&%HPqn zNZ$&mR4bWP#>%dXa~o8C2b6D?eO(MB&oCu}tA{Ds0^#BeK1}y|GkY_)P3d8Do>BsG zGFM7&d~RY12v5lnL%0d*G=@Ld#H}XBABtV2>y)i)INq*9r)QMgT4wEfyBeLoQ)_7P Of^*6mbQ;aBQau102-tW4 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_io__f4.pkl index ed80f62723efd244427c48d7f06b7089cc78eeb9..edf55208cf2627b05a6420d7f91343d490b10f04 100644 GIT binary patch delta 456 zcmaFHewl-{fpw|}%S6^Jrp}Iu#a1A4W1@bKP+nxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87@en-ObMDYc`u_R zw;GcAkBpvL8Coz!ZeT?{?74|0@df!MQ!1G`uA0%HWJb&j)3ucSv&I#Mrn!4_I(e!AWf&%l76Kd18?fh47 Q@1J_c8tya>h`ptH0RM2FZ~y=R delta 438 zcmcc2@r<3dfo1A#=83FXEZz*>j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{F(U=0#!s-!UmY9rJ!{lvDo+==i_31-hbg8g&rxS7odt2O7GHPX*k-ip&So

HONCurFsC5yPvTD diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no_E1TeV__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no_E1TeV__f4.pkl index 8fce3ee3d1457e3a3c109f75bc71a106a7436b6e..2caff49d01b299c539cb8d5eed6f800feb20f1fe 100644 GIT binary patch delta 456 zcmaFHewl-{fpw|}%S6^Jrp}Iu#a1A4W1@bKP+nxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87@en-ObMDYc`u_R zw;GcAkBpvL8Coz!ZeT?{?74|0@df!MQ!6*M$3m z+0N@NiWWg8kIln)Gq-~HOhEbW`p-K!%&wZ}YR@v44pi7Nm*us2_PndxUtXAP4hjiw P(aP;`r*S~+E!6`6Bv6_o delta 438 zcmcc2@r<3dfo1A#=83FXEZz*>j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{F(U=0#!s-!UmY9rJ!{lvDo+==i_2~m$#0hkfS!L(WaNfwRycf)NUSA?_5n}S%Je)Uk zD>snO1eEWt|Ga~p?}~Zu?m6btFXeX3WqEI&D|TV~%Y=F6ARlpyR&ED*h^bT$01B;} A$p8QV diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no__f4.pkl index e3a6423d52400e9f0e6c83018d8d39d7839c91dc..6e8c7c4e01351d50cd1d56b281b16762d9bb874d 100644 GIT binary patch delta 456 zcmaFHewl-{fpw|}%S6^Jrp}Iu#a1A4W1@bKP+nxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87@en-ObMDYc`u_R zw;GcAkBpvL8Coz!ZeT?{?74|0@df!MQ!j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{F(U=0#!s-!UmY9rJ!{lvDo+==i_2~m$^#6aoy=i6V&dYAkHuGFC+d1iyf(4({3-b(1 z;Vs-iKFGxz#pdq}zIE07Qs69eDG`Mo?iR1ivo2rR{^a0n^9}#%?aN}%?*@5@sZxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87@en-ObMDYc`u_R zw;GcAkBpvL8Coz!ZeT?{?74|0@df!MQ!;Ai#GQ@Xl0Qr_7mHQjYx@-cn{deEk5NNreN5`7EWb5vw?S59wfu6gc T=t}Q5oat>3cNz!8-cmgP1ihKz delta 438 zcmcc2@r<3dfo1A#=83FXEZz*>j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{F(U=0#!s-!UmY9rJ!{lvDo+==i_2~m$q@-WDUtCap@4R&J-EtGs?WR~C-yL+#f0qi7 zF9YOThE(nsDC@Eb&Gz4&x-QVNrANnFx@7BauXaBx??BJpPjsdC>(BJI2YHC8R1W|Q C%bTPC diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_no_nubar__f4.pkl index 18454591ebdcde5b22e1acd5295cc27cdc14463a..e652d4db026da8235f9a4b90de33a115b65b430a 100644 GIT binary patch delta 456 zcmaFHewl-{fpw|}%S6^Jrp}Iu#a1A4W1@bKP+nxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87~Q6nObMDYc`u_R zw;GcAkBpvL8Coz!&R|77?74|0@df!MQ!8WRS!=1(fvA0wY0NpF1mH+?% delta 438 zcmcc2@r<3dfo1A#=83FXEZz*>j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{F3% z$+nE1<|R{-dPH+GE8_D?lM;*Kfu?4~mlP%D6&Fm&P|Z*WnU$f5YLb2@Q12Z^PhF5+ z_T0ph_=5Zrys8-(8tf-KGP`I@0cm0Nh%ZY_#;alSHYQIMkXojcT$~EUI-OM}FK1S* z2PqT;J36x@Ge0jL=%k{|3Y_{t?*I3{-rlUT)6y~bi212W*LS4o?=(NhCt(?^c4WK# z?CU%J0_9zFC3gB+Y~9XckhWvbuZ`QI3?(eD2W&EL+LN|p_rH4k>8WRSgFM7kss{i+ CRih06 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e8fdb42561f4b6af349f46ef046c46b0bf078093 GIT binary patch literal 1107 zcmZo*o$A5D00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlY!GG%2xY zN{?t>X>LKKUUGg>s$OnsPDy5BQBh*$lpeO?11GNu!rbmF3QLUX%lk>`V1z>k(5}Rnvw}qrlqBVyrwbD0}@~ilP?6>gP3QudB8OD;Z1uJxxd-^`z_t45IW7a?X{%+ z@|W(m6AxH|<*Pkk+RZcVwvA#E+0Q0#X{*Vk0~VhG@?o+CB6P6%(3{ztxot`hqw|y! zQ1FPtT^*mCpO+P1Qk0liTred=4a0d2Q0Fy3owpb2yuDE8?S(q80qVTHQ0MK1Ir60B&LIs2`_SbWcP>%%c3}hB99_zMt2BPN-o$Q6(lvq2D5i06e;fp(jd<>+?^q} z8_2f?($*mUlngOQG(kNh2u>22pzItEjIW~13KXaR`(JNwQrWpv;IOM9#|5*U%dRO{ z?2>(9p0K@mvnY`NA1J?7Z2nHqr&rBaI?pnH$)&L4qs1%pmd97N7aW{zzW!gmeQE6Z K-DplP)dK+Y+G8I8 literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_decay_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6e8c7c4e01351d50cd1d56b281b16762d9bb874d GIT binary patch literal 1107 zcmZo*o$A5D00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlY!GG%2xY zN{?t>X>LKKUUGg>s$OnsPDy5BQBh*$lpeO?11GNu!rbmF3QLUX%lk>`V1z>k(5}Rnvw}qrlqBVyrwbD0}@~ilP?6>gP3QudB8OD;Z1uJxxd-^`z_t45IW7a?X{%+ z@|W(m6AxH|<*Pkk+RZcVwvA#E+0Q0#X{*Vk0~VhG@?o+CB6P6%(3{ztxot`hqw|y! zQ1FPtT^*mCpO+P1Qk0liTred=4a0d2Q0Fy3owpb2yuDE8?S(q80qVTHQ0MK1Ir60B&LIs39mB?D1Aaw6}v|~SQf=06nPX$GrB{VQgXres355+HkiF5p-6c*kOq04 z;qDB%-9WxIkhTW#r(}phq6z95L2#1D1ZC%VV0;y2R-icj|NnY>lgiGWlDmYquwO9S z$#Ye~B0%7U`2&xon?-?qP;_n+o4?cN!Bz7EfwRnIgcNqL8@)15I&)=v$HCd=8~)YX Nm&Kmnjpp=HJpka1V(tI{ literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_hostfunc__nufit32_std_nsi_no__f4.pkl index e3a6423d52400e9f0e6c83018d8d39d7839c91dc..6e8c7c4e01351d50cd1d56b281b16762d9bb874d 100644 GIT binary patch delta 456 zcmaFHewl-{fpw|}%S6^Jrp}Iu#a1A4W1@bKP+nxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87@en-ObMDYc`u_R zw;GcAkBpvL8Coz!ZeT?{?74|0@df!MQ!j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{F(U=0#!s-!UmY9rJ!{lvDo+==i_2~m$^#6aoy=i6V&dYAkHuGFC+d1iyf(4({3-b(1 z;Vs-iKFGxz#pdq}zIE07Qs69eDG`Mo?iR1ivo2rR{^a0n^9}#%?aN}%?*@5@sZxd;U~(a&Cuas%4^y(m6p#VZeBR97%xzP87@en-ObMDYc`u_R zw;GcAkBpvL8Coz!ZeT?{?74|0@df!MQ!0ZGB?;JNLUwSj>@?vUpZ4VHOYM|Nmca-)J~#r`@NM=KIahn!31(@9+_kwvat{ aa=Z7dN2VM9)!RQjd~P?~X&exHOZ5OyM4-O_ delta 441 zcmcc2@r<3dfo1A#=83FXEZz*>j1vp3!1UyPM(K$s+#EAldwAlDQj_!Zic5-0lS`&d zo|3`Q!=9ItSX7i)3FLV*v`%qmOq$X@C1{FJeX-n2cA?B?DY-Zmigh}x zOkU2cS`Shv2zGa7NoIatJkV7|nH4zo=>r|bz|dgNelu_9l~jps)5Y|6?(~(gSR^E6 z!Im#(HW|qO|G(b8%5c)odmm4lf08(BdN5FY#~USS3$b%2x4Z9qWV-QRz5T<(=XOs4 J+Rap|2LM|2q1XTb diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_io__f4.pkl index 2af0667ec0d3e282fc26df99849302b6dd7ddac5..316f9e79ff5333fb55338694e31fbd1debbaac9f 100644 GIT binary patch delta 495 zcmaFPdWn^#fpzNfi7a_cogEX)9P8Oqa^rIoOQ!S)<(1|ZRO%(?7p3X}nW;sY$y0i` z1gn+th)*lc$pNY@E{;#lOi#@#E=ep&jZaD}&McmSto!5F2#c+o`*mJ9 z3RoPU6RT?`wBD3uo3uHIA3nEdt*vymg=a(C8kut$rb`6Qn@I|S<+mqY1oOAu4qCXY zGPhoB)f6-*2$mEj<`rj_Waj6AoLrPyfnqNMLxcV0!p@zV*CIEW9y8mS81HJ4#&vU> z_JP@(O@Mrme1Y)%osE{v7AO2BZ2N2Cx}!Gi(KcxX<{g#!)3)vWS8wm1dd3=JEjKWr JAYL!k0|5SLu5SPU delta 480 zcmcb_`ka-efo1BQi7a_6-VEN16H6R@xl(fDa}!JA%Mz2PWU%(|#22L|=jRod6qP2I zOqo0-gQJH%FD0?4D6taA^JZwB;>?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|Wh95W0p7=Ym336>oo+AK)L8bmu^v$X`#!Zi=T@>ZF;U~#c9#oZwBS^8>Vnt>tQ z48)&OG9{@8=0cz=r({TGNP`@aA&cq+WuT=X4L~rtozaO4q)*xdD`jsjr%zTkS(?^~tKVf^l^`^`bdemR$6I$7Yn8B~5dl)ugI^1gn+th)*lc$pNY@E{;#lOi#@#E=ep&jZaD}&McmSta~nFq{VGry=5Cc z1uQ-n?o{Jr-m%Tc^{*L-f9a#t@*w>K=1gI&OXW6~Y|BeqVFs1o2IX&?I^D(WM`yjc z$`mvw2$mEj<`rj_Waj6AoLrPyfnx99|Mm8!m7P0-O;xt=T`=2ueTkw)h|3G}awwmP zp~1eh{__rwu&d^|uV8?+_tORUoMz!{tu|1N3?P~#9D4(Kta4-ss{ib Cn6tM4 delta 480 zcmcb_`ka-efo1BQi7a_6-VEN16H6R@xl(fDa}!JA%Mz2PWU%(|#22L|=jRod6qP2I zOqo0-gQJH%FD0?4D6taA^JZwB;>?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|Wh=T*Zk7=S>pY~OYeeNt3mH;CSNQQjIv>;8}e(+9LOc7XVGAu@I#TEY=RZ#gCj z=1(b^lGFopA<&gmG9)vkL5|3fMRkHQ&{B{AKrp$T(TNMBPuc_IvB~!tCF=3$n#&jo zcIrk?0Wi(Syknb>>t8b%|L*<$<{)F`HkWM6OIu+EmEQ*CZ<}=Cp(#in>{P*$qQt!7 z%#zIfJdoW*nH69cr{Qw)-~aXYrj?yLLrhh+@Le$5dHsu=MaYu3=4DVm6GMZ2XZ`0L p9Lp}5=gyvEF2^aqV?oL@^W0;Xw!ci62Xt72J-2A(c97+zdH@Y?p`HK$ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_no__f4.pkl index dc764b14e400b26bba4c1c8d3ea334620a70cccb..a4171be77779b294d197e4cc106fa4abda8e352b 100644 GIT binary patch delta 495 zcmaFPdWn^#fpzNfi7a_cogEX)9P8Oqa^rIoOQ!S)<(1|ZRO%(?7p3X}nW;sY$y0i` z1gn+th)*lc$pNY@E{;#lOi#@#E=ep&jZaD}&McmSta~0~q{VRwt<~#2 z1uPuOxYvAP+Of^u^{*L-UzIvnJ5{0D;;(7bs*KGg+p^PEm_g;Yf%sWzE4E!(wb&}g zrrua{3YrrHONtWniZe?x^YcJXF3PMxv6q3N!QP^>b7yq!)6HBL%yv$=reN{@-*fZg zzNKJ3NPd&p{GAsbUNvX*n`JH`tgu5({+0RDt5>!QZJuqu;a|OdS?u}U5No-C0R{1T GsU85ww6ypD delta 480 zcmcb_`ka-efo1BQi7a_6-VEN16H6R@xl(fDa}!JA%Mz2PWU%(|#22L|=jRod6qP2I zOqo0-gQJH%FD0?4D6taA^JZwB;>?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|WhZ)*)L7=YmCBbFT?I%AE(ZV)}C+}09AZ{2qvEdP9#I9R-7ow7AZ{KFMFFwGE9 zU1gn+th)*lc$pNY@E{;#lOi#@#E=ep&jZaD}&McmSta~0~q{VRwt<~#2 z1uPuOxYvAP+Of^u^{*L-UzIvnJ5{0D;;(7bs*KGg+p^PEm_g;Yf%sWzE4E!(wb&}g zrrua{3YrrHONtWniZe?x^YcJXF3PMxu~$jIazBfp_}&TW;=83Mq}%mbAK!iaivKRN z4DsDkK)z*2<$n9JE}Qaf|J~D92U<4w=vcoh-n#o`o1axupy%!}c delta 480 zcmcb_`ka-efo1BQi7a_6-VEN16H6R@xl(fDa}!JA%Mz2PWU%(|#22L|=jRod6qP2I zOqo0-gQJH%FD0?4D6taA^JZwB;>?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|WhZ)*)L7=YmCBbFT?I%AE(ZV)}C+}09AZ{2qvEdP9#I9R-7ow7AZ{KFMFFwGE9 zU>x%-K(^nU%B-u58NOZ5O$525-1 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_no_nubar__f4.pkl index 159ec72a295f6d7275b1ff01397b38e26bc296e9..212e3e80049426df5b3a47bbe5de42e3ffbc5495 100644 GIT binary patch delta 495 zcmaFPdWn^#fpzNfi7a_cogEX)9P8Oqa^rIoOQ!S)<(1|ZRO%(?7p3X}nW;sY$y0i` z zrL&`bO3)MyZ{`d>KR-XO|3CmHyctTSBzZG?Gq+9YVRW8S0#ww)1#vUj-5F8{M@^p2 z=vkj32T`4&2v#fO5ua9?lLJ&+TpXX8nVyYMYnzAp2Xo%TVcM5onwlR!+qDDUpmzik4&zdq&qj&%E- z<`?)RESpvw-flGa`VNr1ldi?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|WhyP`hsU;u(?u5LR)wAo*+-5`3ZN3R8leo%XF8;F+XkOzyG<|tZ&_#Y?9fawEO zj9~p!N~R?Bz+4D)<&+G`3~7)fGGtMmpbWGWWB?FMZfA7j0_l_X0C{ZkeMX6TJi6vG zMuM%<*IZ?uvwxOZwepAU9zOkMQ2sW9V4m#^3=PuTUYeR8I@`MqD!&cNH}kvP4wPqL z06SH%q$n}3II|=(KM!PgQDz0$#c8;l{O^Cgy?JG)rDpCC^D~pK??^Gkg6ZQSl{C}DX$V3WDip0pji|JB=1Pd&36WO=C` E0F?i(-2eap diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/get_transition_matrix_massbasis_hostfunc__nufit32_std_decay__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ad6ea7a48c8b4abc10e32d7858fd5f56affe9ddc GIT binary patch literal 722 zcmZo*oqC*!0StP$lk;Mw=;qetus6fdEW+Gn7n8a%N#*Xt1Bs22|6-mYSDZlwLU{gFS;6 zMLZ=pJ~y#sN{Ab&TIuLqM?ln}I>ZDyzgl-~`M*8}o*0{LrT z@>4S8AU0+wg6)&>h)*lc$pP9|TpXX8nVynXaYxR0h z0SkvR?loVSc5HKZ{c8r|SEbI?PF1M3_-opEQUAbwWbifva`Ew+lW zG1f$PfnZ5dVqS43C^dn6U6fgYV(q{G_4ekKojaG^+_{k1ZoMw=;qetus6fdEW+Gn7n8a%N#*Xt1Bs22|6-mYSDZlwLU{gFS;6 zMLZ=pJ~y#sN{l8JkPCWv8t$gUW9M@w3uaY`d~*u~m$Xu_n3;1WSq%^NKS;sR`ukqRa{u zYeBJWQQ5gOI``>jt_x;6CtOpoc>nLYd2!!TFdrnpNo@Yk3lFcFGy2Ukmk?Iip(g*z a{OQ#z+l4mIHsA2C-o7mM{BAUBOZ5Q21^v1gn+th)*lc$pNY@E{;#lOi#@#E=ep&jZaD}&McmSta~0~q{VRwt<~#2 z1uPuOxYvAP+Of^u^{*L-UzIvnJ5{0D;;(7bs*KGg+p^PEm_g;Yf%sWzE4E!(wb&}g zrrua{3YrrHONtWniZe?x^YcJXF3PMxv6q3N!QP^>b7yq!)6HBL%yv$=reN{@-*fZg zzNKJ3NPd&p{GAsbUNvX*n`JH`tgu5({+0RDt5>!QZJuqu;a|OdS?u}U5No-C0R{1T GsU85ww6ypD delta 480 zcmcb_`ka-efo1BQi7a_6-VEN16H6R@xl(fDa}!JA%Mz2PWU%(|#22L|=jRod6qP2I zOqo0-gQJH%FD0?4D6taA^JZwB;>?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|WhZ)*)L7=YmCBbFT?I%AE(ZV)}C+}09AZ{2qvEdP9#I9R-7ow7AZ{KFMFFwGE9 zU5@1WnQKX3pUA^Yioi4+LPso1tV%k~gzAbK8_2M&~IdKt(-V5I2L}ogsyA)a2=m zp7j}W5Y-uqV6`$H@oA+wIY70=#qp_`>8W|eC5a`e@kxornZ;9(b#H98u{bWFwfdw1 zmj!ds*DbGpf8Mrv(R(ux|7qY?laQln7Jp5fR#mNDwWTd|zS(Pt{I)s>f7=|x#a1yk z^~Rc0(3~JxQk0lioLQ2Yp9gYsQDy~-z5oB$+q2!w+vylBv#mx?&drF}}!6b)}iZ)R`iwka80Jxs|KKsj&5$##s= z^_|WhEcx6P3_$Scqt*@(y~IUvH;C5j*RurCFW(*n%jb4VfW^&Bm90VIo1*2wG{cIL zZ6N-Xk|{|&Fc$({IVD3fLmK3W3|UksC<848X#j%B?Tk)bAbrvvAdgMH&nQukN7wph z8?aMO8*o{i4E(x<8T(|#sx6(N^Ua|0+o1ey|JoT5P8BRE zO3W+HEXmBz1KC}aSpjx&8g3^y*t6Zt+j%BcYTFbs{hd2~B`lQWq%8jBNtjIr^8f#@ wx34msv{UZWN%J=nXH5?Vitor#lD4>Z_T+YlyvL>+|JB<+JbZ39D4a_50Ohf*F#rGn diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_io__f4.pkl index d66b54a87d731bd5de3ee0924d59c8dde0297c46..d0c293bfe49707192f75583f8b89d9a99203b9e9 100644 GIT binary patch delta 589 zcmcc0c7Tngfpx0sM3x+;&W?#Cn)Pfcx$(J)B~yBY@=9|HD)o}{i&FJ~%+#XHif=d-rUW#UBb@l(2>1Um*v>(3%X?Mc+|pf!LCEQ@3Oe<+tIaQ@7$lk zHeuWL*p>p-%W>Yc<_4;lK6J!(I#B)opi6tNB;ByPzIDO|i`hK3D?Usyc*MeOFB!$Y z?)I;@`-FdS+dkd2eNS>>D$iblvY&PabKhAw0WEOcdC2+>!~$E81)i_@% literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ_{_EXw`YI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{IA$1HfI{Kk36>oo+AK)L8bmu^v$X`#!Zi=T@>ZF;U~#c9#oZwBS^8>Vnt>tQ z48)%T^a9-7K(|lH5X}$=IW0pH)nW2LOFY^k&dIIMCLi;Lq^Gt*On;gndC8lRL{oLP+56≀z+QuxMLr331$#kJ zehMghu=?AZxqV6o(C0Vy21VNeZE8sL^0WupxVYs9I0QgqPz$HNIvHpUBw z@|&T2L&GvDQ;@@_pjpRWP?Voinp`pk@Cs%JFJY~?A~Q~D0A1gue+^2+3Hy?Q1%Q29|ZZzHObn ztB!Y_6+ckDzTpg$GN5|RH@mGs>bHK~z3b+-*LLc<7uThzaM_FNT-4JGu{V=A%dT!= z_ vE|7-0RZpxy>Tf@JzU2bYV31FKZG8=juZAfd-ew>^)cfAd?NcD(U8)BFAY0*@ literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ`)E>qfoYI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{&Z~x7fI>m9Y~OYeeNt3mH;CSNQQjIv>;8}e(+9LOc7XVGAu@I#TEY=RZ#gCj z=1&270q$;~+oxoRW{88FmLZAiFnOS*AOk=^s#FGS8IQZnJ}4h-8CViXm|v9yiv#7s zmH_!+8YU06RN4a^R=J7A#qp_`>8ZeQN-Rl@Pf9G#EXL~!4u%C_uft3umj=6ny`U&R z1r$A4{q4=%J|zR_^BegGnD>J0vHi(z3#1x~_te{?+1mgTM-u~aL1G|`4jO<0APfcq z?X_U@7P`vW00kO$s>yDHO2McGkT{HkM1#aY7#%bK1wa@K-ap&52gJyF-2}3yVejLk LW*|N&3`+F?*1*y= diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no__f4.pkl index 075909c18b1c752ecf4dce3de041f3c9b02a6af8..83e76b500ad779fec1c4d09af2bf0a2cab716b53 100644 GIT binary patch delta 589 zcmcc0c7Tngfpx0sM3x+;&W?#Cn)Pfcx$(J)B~yBY@=9|HD)o}{i&FJ~%+#XHct=YKOR$tiKu2W~*?#*@I_O5eXve(b=y_vx_ zwsXgx4a%vEdq3U(VfRJ*p#{hSeVuLAJAoFga9v{S3$b8t6hy;b>8>4n)+;mGg4EyF lez+t30h>L@Co}%;wgFNN3H8tHKzyk8y_wsmK*GCJ4*->&;{E^t literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ_{_EXw`YI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{-qspgfI{KtBbFT?I%AE(ZV)}C+}09AZ{2qvEdP9#I9R-7ow7AZ{KFMFFwGE9 zUC zMfoY9=)vl5Z|3$X89<-kD4y?T2eRl!wVyqZYLGe0w+qeU29P+K7>ElJ17UQ~02BaW uFvz{;1TvR_q-Ps6Pv(o{9yYv1ubAoCkTAJ~A*cekzw+Xo7RQau3iLe_5p diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no_blearth__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no_blearth__f4.pkl index 075909c18b1c752ecf4dce3de041f3c9b02a6af8..83e76b500ad779fec1c4d09af2bf0a2cab716b53 100644 GIT binary patch delta 589 zcmcc0c7Tngfpx0sM3x+;&W?#Cn)Pfcx$(J)B~yBY@=9|HD)o}{i&FJ~%+#XHct=YKOR$tiKu2W~*?#*@I_O5eXve(b=y_vx_ zwsXgx4a%vEdq3U(VfRJ*p#{hSeVuLAJAoFga9v{S3$b8t6hy;b>8>4n)+;mGg4EyF lez+t30h>L@Co}%;wgFNN3H8tHKzyk8y_wsmK*GCJ4*->&;{E^t literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ_{_EXw`YI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{-qspgfI{KtBbFT?I%AE(ZV)}C+}09AZ{2qvEdP9#I9R-7ow7AZ{KFMFFwGE9 zUC zMfoY9=)vl5Z|3$X89<-kD4y?T2eRl!wVyqZYLGe0w+qeU29P+K7>ElJ17UQ~02BaW uFvz{;1TvR_q-Ps6Pv(o{9yYv1ubAoCkTAJ~A*cekzw+Xo7RQau3iLe_5p diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_no_nubar__f4.pkl index 3f676ddf29b6284459e5f5f6aa33cfd4d6d914dd..311e31b9a9928094732882a73fe6e228891ab653 100644 GIT binary patch delta 589 zcmcc0c7Tngfpx0sM3x+;&W?#Cn)Pfcx$(J)B~yBY@=9|HD)o}{i&FJ~%+#XHEVJn4(z}TF@)`tYZ*PoGNd4?Gi1SPWjx~3N^^21 zUtpA|M^ajM(9;rR@w``ScfS8M-6C|(Var)6Bg3Z#Dunsw|2MfoYE$t6=j?z#a|0R+tTUiORjH`Z^8P;0euS=enP9q(!< zBQ!`iiW?skHEi>kKl4gR-n&(gkzeYtycY?UsC@8jy~vV9%DcJHp#gL_&WrrVh& zn(TFfsJ8{Fclx)@2Bbc3Z_eHs)5PqW)WQwD^qB0I-oCL>C1Qi!;R#WOY5x27a@jAi zSv~)^-IK4Wb~fiupWer^>;E1hpapDQU3*UeEjXQe&<1LOEmXrEhz7eoQ1vz!x7FH$ cd~!A5vmKCX2>9^^M8mxA&D=f(65geH0G)*5>;M1& literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ_{_EXw`YI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{c13;M0Sbj_u5LR)wAo*+-5`3ZN3R8leo%XF8;F+XkOzyG<|tZ&_#Y?9fawEO zj9~p!fL?&R8|d~a8KN2DAg5(WqB=|-Xer155Lgjt54P0%y9U^BAm0)q10fBVWWnM< zd9YF&#Ny)k)Xel$U^pd~q{b&D7H1aYbp;2*0#PGgz}#1{;u>y)i)INq*9r)QMgT4wEfyBeLoQ)_7Pf^*6m zbb3k#R}WLN1;WJ{e3!PlgUauK^3AfZi-F`B&|Sb@P?Voi3QQp&%Wgp388+dJ%~?qa zL!N|8`*!x#n<{QM+PbmKFv>dBxwm}dUfUN}GVNBRZrr=!y~@6iyN~Sl^snEWxnjNT z%DQiR+gz9IRT8$g>($$~I~}OLYUAF$H-YL8rEauc0aUNM`-t_aXf}HdF(2bVhBn(Q zt%qCuPh7NHvi!KooBKcPCOSW~xZJ*DkAw>2-mLJq`^q;n*t!DE&t9>9?{1*^(_EL> z8Uf9>(%okL7O37rHz>H$5?X! literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_std_decay_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..83e76b500ad779fec1c4d09af2bf0a2cab716b53 GIT binary patch literal 832 zcmZo*oodR=00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCjw zcC=3cn&i#g!)P#PGgz}#1{;2YYiLX{9+iK>Lb|<5M%!Q}c>T5=&C!lM;(F zi>DyF;O@H*z))#eog~_`dp0OD z?)`NChus(LhZZ37^>wyc?*y8^!gYzQFU0)4Q4sZerMq_QS+C4!3sQey`{9oC2W<8r dugv(n+XhHAB-B5%1M#83@6Fsk1rhct=YKOR$tiKu2W~*?#*@I_O5eXve(b=y_vx_ zwsXgx4a%vEdq3U(VfRJ*p#{hSeVuLAJAoFga9v{S3$b8t6hy;b>8>4n)+;mGg4EyF lez+t30h>L@Co}%;wgFNN3H8tHKzyk8y_wsmK*GCJ4*->&;{E^t literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ_{_EXw`YI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{-qspgfI{KtBbFT?I%AE(ZV)}C+}09AZ{2qvEdP9#I9R-7ow7AZ{KFMFFwGE9 zUC zMfoY9=)vl5Z|3$X89<-kD4y?T2eRl!wVyqZYLGe0w+qeU29P+K7>ElJ17UQ~02BaW uFvz{;1TvR_q-Ps6Pv(o{9yYv1ubAoCkTAJ~A*cekzw+Xo7RQau3iLe_5p diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_vac_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/product_hostfunc__nufit32_vac_nsi_no__f4.pkl index b89b5952730c3781e571de2a93b84fb703d8ea8a..204ea35fea141404be126bfd3489fc9df488cfcb 100644 GIT binary patch delta 589 zcmcc0c7Tngfpx0sM3x+;&W?#Cn)Pfcx$(J)B~yBY@=9|HD)o}{i&FJ~%+#XHmnd|hAC*)u@@BOr<5j_OaZy;21o@Ed{mrl%ey+H-iXIJ-TruH@TNUtr)_R7 zTClG5knTQ*>Abu5Oe?ap(A~K=bw%gi$20fZZustIH(9}QPw!0jeN5rg_tsa`?iHnj!@3l1q*+Drgi@F#4#E!2X&APuq(ta~9ESZzV-*I8fL j@%0azJ;*2Jofm9?R72n2Cw3q{)cfAd?NcD(U8)BF2W!_n literal 853 zcmZo*nd-&N00uqW$@w`ssmUdo`FX`tdbs_IQc{ajQ(Q8WOQuYoq8T(rqlYauFSRJW za!QYAUTJPYrCxG=QL0{UX--LIVo^~dP@JteIWZ@(2&le?6|4kEr<7C{q=H14(oCj! zGk7z$PXU_c&D_IiGsVx(&+9)BfC+Dgk|{~fEDQ_{_EXw`YI?X*a^rIoOXABClc!{` z_VC0Pr6vR2R#H?7c2WjM4|`q;#OBFBlUt`aGbT-en9k_U?9JRZC4;MnDcJ(q)(k#O zJ3E~{Sn|0oK%wyHqt*@(y~IUvH;C5j*RurCFW(*n%jb4VfW^&Bm90VIo1*2wG{cIL zZ6N*>pcmlo2D*JphG>R3$Y~jps1B0{S_;wt0=b*HcY^3Dc8H}wKG;%_7zjA~Kr98y zgDnH{A(ldr zn!sLXFDS}S0Ywj1e|s~xPssrK{Dw|bm>o!uTa%YPkZRC%=H3P3BY_4W8-&q815f~j z(Ln=H0EEH7Vy_;^Tn3>#i$L}?%w^N1s`(ZFmhT0bFMMaWEy#SImRhiVpfD)a0{|PO B(E0!X diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_io__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_io__f4.pkl index 2452eacd7184f3dcbc82098e2d2ecba67f825d83..47038dfc54fcd9de8d39fd40cb376a0a0fe74eb6 100644 GIT binary patch delta 538 zcmdnZwt}6dfpzNKi7fhhLV2aR1(kZq`9-OEKxS%DX7ZFC?)bE#{M@9{w6xTsDU+vY zOjBWifQdU*C3{%GTBh`{rj%3`qypu8n9@w9baqUfDXZYk?9JRZrH9dZO39RauU-g8cKPw6(=X=B!c_` zvO5#xT0C|;vw++(r48f*PLS1L!yuMJZRApD5Z``r2fDSuph*H+lcAQOIaz^8R81{| z&zS|}P^e)ksd>ejC7G$kV8b+Efs)Cjsgl9x&DA;u>S4~5%;J*7ykvBRyO}hjQ513) z6y+x+CS~SimQ;exgvHdJnWgp}=5uU{CTy^o_2P_;itT?pmoJ~~PVK9=3H$%eE~t^g PehSbiaC|{*E!6`6VL`)3 delta 510 zcmZ3%zMGAufn}<}L>B$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#S9D$_LB=4o$47Frhqg7eUp?}G$n(zhpjj{F$c(;JS78Y zb0);Scx-lNVPpUr(gyT%4_j(pYEgRSlnmVr5oZ>V9T0KOl+?W9%#zI1VsuAw1A~bR z=x32mXN}3%nKU&)j^RwnEG|jROU6`=tXhRxGaRIvyPzmPDKRNCC$j`-Gmbz6ny<2D tW~u!e^Eozt6E@gPdvV4_)%L%g$CuA`yY|)Fg#Q0#7uv{R4+@M@Jpju!zL5X` diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_E1TeV__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_E1TeV__f4.pkl index f5c525f7a4206d355c7067fbef12677db32eb39a..2e06b77c096f7cb323989457faf547121cad3fec 100644 GIT binary patch delta 538 zcmdnZwt}6dfpzNKi7fhhLV2aR1(kZq`9-OEKxS%DX7ZFC?)bE#{M@9{w6xTsDU+vY zOjBWifQdU*C3{%GTBh`{rj%3`qypu8n9@w9baqUfDXZYk?9JRZrH9dZO39RauU-g8cKPw6(=X=B!c_` zvO5#xT0C|;vw++(r48f*PLS1L!yuMJZRApD5Z``r2fDSuph*H+lcAQOIaz^8R81{| z&zXgRp~?knSW0SMab`(oYBAU_4OpOLGHI%0@Og8!PJw!uGbOXQBrz`;UEyvf&1e*b z+yzDXNr_3BIhiGuU^8Jcr40<79QG$hdphnK@s~X?n)1Kiesz(UX({s)BiUFn)5$>o O6rfSy_=4D4ss{k$h`<5> delta 510 zcmZ3%zMGAufn}<}L>B$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#S9D$_LB=4o$47Frhqg7eUp?}G$n(zhpjj{F$c(;JS78Y zb0);Scx-lNVPpUr(gyT%4_j(pYEgRSlnmVr5oZ<#hAJ0`IA=;~UU6ngW@<6Iqqu>= z#0B)TNT;*L(^b diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no__f4.pkl index 1c5fa046d47a5e882a7e15e28ee64b0ac2cbf47b..86d2cec225c28fdb0c5dd57c31e6e3e45a27c9e0 100644 GIT binary patch delta 538 zcmdnZwt}6dfpzNKi7fhhLV2aR1(kZq`9-OEKxS%DX7ZFC?)bE#{M@9{w6xTsDU+vY zOjBWifQdU*C3{%GTBh`{rj%3`qypu8n9@w9baqUfDXZYk?9JRZrH9dZO39RauU-g8cKPw6(=X=B!c_` zvO5#xT0C|;vw++(r48f*PLS1L!yuMJZRApD5Z``r2fDSuph*H+lcAQOIaz^8R81{| z&zS|}P^e)ksd>ejC7G$kV8b+Efs)Cjsgl9x&DA;u>S4~5%;J*7ykvBRyO}hjQ513) z6y+x+CS~SimQ;exgvFF^REhmj_a!#jc^7QvHk`G&V#aD8uB$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#S9D$_LB=4o$47Frhqg7eUp?}G$n(zhpjj{F$c(;JS78Y zb0);Scx-lNVPpUr(gyT%4_j(pYEgRSlnmVr5oZ>V9T0KOl+?W9%#zI1VsuAw1A~bR z=x32mXN}3%nKU&)j^RwnEG|jROU6`=tXhRxGaRIvyPzmPDKRNCC$j`-Gmbz6ny=y; tRbqd}eThw4-UXW#4QFkxnz7pZ?0R9>V!GVsmhWr340%?2P+*km0RWcQyg2{> diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_blearth__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_blearth__f4.pkl index d4b33de97bfa06e49f091666582fd0e51aecb146..b4a9f1815c818d26d14ce478624d22a332c00ca7 100644 GIT binary patch delta 538 zcmdnZwt}6dfpzNKi7fhhLV2aR1(kZq`9-OEKxS%DX7ZFC?)bE#{M@9{w6xTsDU+vY zOjBWifQdU*C3{%GTBh`{rj%3`qypu8n9@w9baqUfDXZYk?9JRZrH9dZO39RauU-g8cKPw6(=X=B!c_` zvO5#xT0C|;vw++(r48f*PLS1L!yuMJZRApD5Z``r2fDSuph*H+lcAQOIaz^8R81{| z&zS|}P^e)ksd>ejC7G$kV8b+Efs)Cjsgl9x&DA;u>S4~5%;J*7ykvBRyO}hjQ513) z6y+x+CS~SimQ;exgvFGyi>!UGV6a{CZF4(MB$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#S9D$_LB=4o$47Frhqg7eUp?}G$n(zhpjj{F$c(;JS78Y zb0);Scx-lNVPpUr(gyT%4_j(pYEgRSlnmVr5oZ>V9T0KOl+?W9%#zI1VsuAw1A~bR z=x32mXN}3%nKU&)j^RwnEG|jROU6`=tXhRxGaRIvyPzmPDKRNCC$j`-Gmbz6ny>QD sS=PQnFxbxewz-|S@*P`mPka09<05uKxqWu!3ih__*LCbcfl;al06DL?djJ3c diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_nubar__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_no_nubar__f4.pkl index 19f436b3ff45b51c24fe6e29685da2d46e60d1d0..f4da0b7f968430cbef6037f9076227189613d3df 100644 GIT binary patch delta 513 zcmdnZwt}6dfpzNKi7fhhLV2aR1(kZq`9-OEKxS%DX7ZFC?)bE#{M@9{w6xTsDU+vY zOjBWifQdU*C3{%GTBh`{rj%3`qypu8n9@w9baqUfDXZYk?9JRZrH9dZO39RauU-g8cNBq6(=X=B!c_` zvO5#xTDaYl`IzJcI6*dm^+4=^8qB58Ain+L4s_FjA&>+#Eki9sbFu=HsG3>^pEC={ zJyY61zUE9x%`46<$xJN<8>RvCdnS{nN(P@dSL+n0zc^Dei%SyolF=3JX3~sCQOI3T zl%JHCl$n!RQVBK_79nY;OYK<$x7b{Dnq-r)qt~X*n$B$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#S9D$_LB=4o$47Frhqg7eUp?}G$n(zhpjj{F$c(;JS78Y zb0);Scx-lN0l8#K8_>@^Y^iyvMd_7OGITRUoLNA2K*TvyQuB&4OEOc7(H+GN3??q1 zpG7*IH6~wY($oYwhBGCzxFj(z8B;m3Y87V9aFA;5f};GS#H7re%o3o@I06x9zDm;R sQhScTEjBluCfVfe=(TCHX0=aR`^K*H_70nC&adoD#98e@fl;al0L?GI_y7O^ diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3fb13dc45bc7f8e0f5f68486167bd267e42bf0bf GIT binary patch literal 936 zcmZo*ojRA90StP$lk;RK`D)LXcJoZTZKIe(_Or=b+G;ZCfW@a|aQ84JTOgd1 z!H>%^8A4#Eu;(V0#24h3pg4ztp#f|h$VrrdDH)OwpF=IAl&zS`jlu*~Dq~;Z8mSmpLUO5-m*I;Gsh;P_O9LT#=mwTqrj;f I;<8db07af4dH?_b literal 0 HcmV?d00001 diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_std_decay_no__f4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..86d2cec225c28fdb0c5dd57c31e6e3e45a27c9e0 GIT binary patch literal 936 zcmZo*ojRA90StP$lk;RK`D)LXcJoZTZKIe(_Or=b+G;ZCfW@a|aQ84JTOgd1 z!H>%^8A4#Eu;(V0#24h3pg4ztp#f|h$VrrdDH)OwpF=IAl&zS`jlu*~Dq~;Z8mSmauU-g8cKPw6(=X=B!c_` zvO5#xT0C|;vw++(r48f*PLS1L!yuMJZRApD5Z``r2fDSuph*H+lcAQOIaz^8R81{| z&zS|}P^e)ksd>ejC7G$kV8b+Efs)Cjsgl9x&DA;u>S4~5%;J*7ykvBRyO}hjQ513) z6y+x+CS~SimQ;exgvFF^REhmj_a!#jc^7QvHk`G&V#aD8uB$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#S9D$_LB=4o$47Frhqg7eUp?}G$n(zhpjj{F$c(;JS78Y zb0);Scx-lNVPpUr(gyT%4_j(pYEgRSlnmVr5oZ>V9T0KOl+?W9%#zI1VsuAw1A~bR z=x32mXN}3%nKU&)j^RwnEG|jROU6`=tXhRxGaRIvyPzmPDKRNCC$j`-Gmbz6ny=y; tRbqd}eThw4-UXW#4QFkxnz7pZ?0R9>V!GVsmhWr340%?2P+*km0RWcQyg2{> diff --git a/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_vac_nsi_no__f4.pkl b/pisa_examples/resources/osc/numba_osc_tests_data/propagate_scalar__nufit32_vac_nsi_no__f4.pkl index a5484f6cb06db4612e8e4186d48aad0adfd26312..595fa539879ae3c01ee3ce08fa5deb01b34928c5 100644 GIT binary patch delta 546 zcmdnZwt}6dfpzNKi7fhhLV2aR1(kZq`9-OEKxS%DX7ZFC?)bE#{M@9{w6xTsDU+vY zOjBWifQdU*C3{%GTBh`{rj%3`qypu8n9@w9baqUfDXZYk?9JRZrH9dZO39R(PHujMi%9>XU^;eSurI;5=AFhN@{XqWqevrV){fwDKEC- zj~kp>KyI4S2J#6f$O&M>AdZ0AETqsNzWw43bZdb@lmxUULoGvd zvI3K+npy^*GYbPlgFV!+l+?W9%#zI1Vz6Nvu)xV=(p1Ud^X6)u0`)j&N@j6MVqP-3 z!re@o(I^VJ3ySiS5|c7>GD|AKX2N1@K~jnR_VOh*|BcVvL@YRKGu4UJ{?vjOc7@!_ XY=Vtn+x;|UwVwhs3LI|`TTAr-fnLQ) delta 511 zcmZ3%zMGAufn}<}L>B$Y7Z@e{c;bsvlk@Y6ONvU9OQuYo(!-ipnp;pgrH4H)C9$X| zu@Wfe&CoiuwH?v|&273k<$b<|YRQ-ZIOvx5tT@Z2R3{gKnKd=8l04BT{fJSsWdrZ9J zsS7fUJvXr=z97E@r-2GU#c642_LCi%tS7Hxspc*y%1=s6%FM|u0osfs6oKZe w%uXt?-&elG=9BSxn}`KxZKgW0+8 Date: Thu, 17 Aug 2023 12:02:39 +0200 Subject: [PATCH 09/12] Bump python version (#752) --- .github/workflows/pythonpackage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 4d2b05dfb..22dcad4cc 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.7, '3.10'] + python-version: ['3.8', '3.10'] steps: - uses: actions/checkout@v2 From d34c5d6f1f5d71445a8c060173fd7f4b66659622 Mon Sep 17 00:00:00 2001 From: Leander Fischer Date: Tue, 22 Aug 2023 14:10:12 +0200 Subject: [PATCH 10/12] Fix dependencies and update install instructions (#753) * Update install instructions * Cap setuptools and numpy version. * Cap pip version. * Cap pip version in workflow --- .github/workflows/pythonpackage.yml | 2 +- INSTALL.md | 82 ++++++++++++++++++++++++++++- setup.py | 8 +-- 3 files changed, 86 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 22dcad4cc..849ea9b5e 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -25,7 +25,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - python -m pip install --upgrade pip + python -m pip install "pip<21.3" pip install . - name: Lint with flake8 run: | diff --git a/INSTALL.md b/INSTALL.md index d9048aec9..01a887026 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,6 +1,86 @@ ## Installation Guide -### Quickstart +### Instructions to install PISA on Madison working group servers cobalts (current guide from August 2023): + +Assuming you already are in the directory where you want to store fridge/pisa source files and the python virtualenv and build pisa. You also need access to github through your account. + + +#### Clone into the fridge and pisa (ideally your own fork): + +``` +git clone git@github.com:icecube/wg-oscillations-fridge.git ./fridge + +git clone git@github.com:USERNAME/pisa.git ./pisa +``` + + +#### Load cvmfs environment: + +``` +unset OS_ARCH; eval `/cvmfs/icecube.opensciencegrid.org/py3-v4.2.1/setup.sh` +``` + +`which python` should now point to `/cvmfs/icecube.opensciencegrid.org/py3-v4.2.1/RHEL_7_x86_64/bin/python` + +**Note:** It's not tested whether this works with a cvmfs version newer than `py3-v4.2.1`. + + +#### Create virtual environment: + +``` +python -m venv ./YOUR_PISA_PY3_VENV +``` + + +#### Start the virtual environment and install pisa from source: + +``` +source ./YOUR_PISA_PY3_VENV/bin/activate +``` + +(should now show that you are in the environment) + +``` +pip install -e pisa +``` + + +#### Modify your environment by adding lines to `./YOUR_PISA_PY3_VENV/bin/activate` + +Every time you want to use pisa now, you need to activate your virtual environment by running `source ./YOUR_PISA_PY3_VENV/bin/activate`. In order to set some useful environment variables you might want to add the following lines (or more if needed) to the end of the `./YOUR_PISA_PY3_VENV/bin/activate` script: + +``` +# PISA source +export PISA="/data/user/USERNAME/PATH_TO_PISA" + +# set some custom environment variables and load fridge +export PISA_RESOURCES="/data/user/USERNAME/PATH_TO_FRIDGE/analysis/common" +export PISA_RESOURCES=$PISA_RESOURCES:"/data/user/USERNAME/PATH_TO_FRIDGE/analysis" + +source "/data/user/USERNAME/PATH_TO_FRIDGE/setup_fridge.sh" + +# Add this project to the python path +export PYTHONPATH=$FRIDGE_DIR:$PYTHONPATH + +# Madison +export PISA_RESOURCES=/data/ana/LE:$PISA_RESOURCES +export PISA_RESOURCES=/data/ana/BSM/HNL/:$PISA_RESOURCES + +export PISA_RESOURCES=$FRIDGE_DIR:$FRIDGE_DIR/analysis:$FRIDGE_DIR/analysis/YOUR_ANALYSIS/settings:$FRIDGE_DIR/analysis/YOUR_ANALYSIS/analysis:$FRIDGE_DIR/analysis/common:$PISA_RESOURCES + +export PISA_CACHE=~/cache/ +export PISA_FTYPE=fp64 +export HDF5_USE_FILE_LOCKING='FALSE' +``` + + +#### Install any additional packages that you might want + +`pip install PACKAGE` (for example `jupyter`) + + + +### Quickstart (old guide) _Note that terminal commands below are intended for the bash shell. You'll have to translate if you use a different shell._ diff --git a/setup.py b/setup.py index 8acd51e2f..51addb6f8 100755 --- a/setup.py +++ b/setup.py @@ -76,9 +76,9 @@ SETUP_REQUIRES = [ - 'pip>=1.8', - 'setuptools>18.5', # versioneer requires >18.5 - 'numpy>=1.17', + 'pip>=1.8,<21.3', + 'setuptools>18.5,<60.0', # versioneer requires >18.5 + 'numpy>=1.17,<1.23', 'cython~=0.29.0', # needed for the setup and for the install 'scikit-learn<=1.1.2', ] @@ -93,7 +93,7 @@ 'line_profiler', 'matplotlib>=3.0', # 1.5: inferno colormap; 2.0: 'C0' colorspec 'numba>=0.53', # >=0.35: fastmath jit flag; >=0.38: issue #439; 0.44 segfaults - 'numpy>=1.17', + 'numpy>=1.17,<1.23', 'pint<=0.19', # property pint.quantity._Quantity no longer exists in 0.20 'scipy>=1.6', 'pandas', From ec9d4104bbc79ac0dc9af09bcf521a6fb7287f89 Mon Sep 17 00:00:00 2001 From: Finn Mayhew <85960705+finnmayhew@users.noreply.github.com> Date: Wed, 20 Sep 2023 12:05:49 -0400 Subject: [PATCH 11/12] Clarify that poissonLLH in likelihood_functions.py does not take into account MC error (#755) --- pisa/utils/likelihood_functions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pisa/utils/likelihood_functions.py b/pisa/utils/likelihood_functions.py index e51704946..da66ac33c 100755 --- a/pisa/utils/likelihood_functions.py +++ b/pisa/utils/likelihood_functions.py @@ -2,7 +2,7 @@ This script contains functions to compute Barlow-Beeston Likelihood, as well as an implementation of the Poisson-Gamma mixture. -These likelihood implementations take into account uncertainties due to +These likelihood implementations (except for poissonLLH) take into account uncertainties due to finite Monte Carlo statistics. The functions are called in stats.py to apply them to histograms. From d1959e7c9dd2bd91be735b952d5dd55cc04e278b Mon Sep 17 00:00:00 2001 From: Krishnamoorthi Jayakumar <43264985+JKrishnamoorthi@users.noreply.github.com> Date: Sat, 20 Jan 2024 14:16:01 +0530 Subject: [PATCH 12/12] Re-shaped the mod_chi2's return to match the input shape (#760) I'm merging this anyway// --- pisa/utils/stats.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pisa/utils/stats.py b/pisa/utils/stats.py index f4d0a4f9a..cba88805d 100644 --- a/pisa/utils/stats.py +++ b/pisa/utils/stats.py @@ -568,7 +568,7 @@ def mod_chi2(actual_values, expected_values): the inputs """ - + in_array_shape = np.shape(actual_values) actual_values = unp.nominal_values(actual_values).ravel() sigma = unp.std_devs(expected_values).ravel() expected_values = unp.nominal_values(expected_values).ravel() @@ -587,7 +587,8 @@ def mod_chi2(actual_values, expected_values): m_chi2 = ( (actual_values - expected_values)**2 / (sigma**2 + expected_values) ) - + + m_chi2 = m_chi2.reshape(in_array_shape) return m_chi2 def correct_chi2(actual_values, expected_values):