diff --git a/python/tffpy/experiments/exp_approx.py b/python/tffpy/experiments/exp_approx.py index 071d22ef93a78473b4436a8c7332825c62e41a58..8b5f621b3e0de54842e3240345924210cfc2f22b 100644 --- a/python/tffpy/experiments/exp_approx.py +++ b/python/tffpy/experiments/exp_approx.py @@ -21,17 +21,29 @@ class ApproxExperiment(SolveTffExperiment): res = self.load_results(array_type='xarray') res = res.squeeze() tff_list = res.to_dict()['coords']['solver_tol_subregions']['data'] + tol_list = res.to_dict()['coords']['solver_tolerance_arrf']['data'] for measure in ['sdr_tff', 'sdr_tffo', 'sdr_tffe', 'is_tff', 'is_tffo', 'is_tffe']: for solver_tol_subregions in tff_list: - std_res = float(res.sel( - measure=measure, - solver_tol_subregions=solver_tol_subregions).std()) - if solver_tol_subregions is None: - measure_name = measure + '-1' - else: - measure_name = measure + '-P' - print('std({}): {}'.format(measure_name, std_res)) + for tol in tol_list: + mean_res = float(res.sel( + solver_tolerance_arrf=tol, + solver_tol_subregions=solver_tol_subregions, + measure=measure).mean()) + std_res = float(res.sel( + solver_tolerance_arrf=tol, + solver_tol_subregions=solver_tol_subregions, + measure=measure).std()) + t_res = float(res.sel( + solver_tolerance_arrf=tol, + solver_tol_subregions=solver_tol_subregions, + measure='t_arrf').mean()) + if solver_tol_subregions is None: + measure_name = measure + '-1' + else: + measure_name = measure + '-P' + print('{}: mean={:.2f} std={:.2g} tol={}, t={}' + .format(measure_name, mean_res, std_res, tol, t_res)) def plot_results(self): # No more need for this method