From 5a24f42090a8019a7485dc19895cc85e7315bd13 Mon Sep 17 00:00:00 2001 From: Christopher Wood Date: Fri, 8 Oct 2021 12:29:53 -0400 Subject: [PATCH] Fix bug in curve_fit for sigma=None Setting `sigma=None` for curve_fit would raise an error from trying to call `np.isnan(None)`. This adds a check that sigma is not None first. --- qiskit_experiments/curve_analysis/curve_fit.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/qiskit_experiments/curve_analysis/curve_fit.py b/qiskit_experiments/curve_analysis/curve_fit.py index 7021b07311..26f99476f3 100644 --- a/qiskit_experiments/curve_analysis/curve_fit.py +++ b/qiskit_experiments/curve_analysis/curve_fit.py @@ -109,13 +109,14 @@ def fit_func(x, *params): ) # Format non-number sigma values - if np.all(np.isnan(sigma)): - sigma = None - else: - sigma = np.nan_to_num(sigma) - if np.count_nonzero(sigma) != len(sigma): - # Sigma = 0 causes zero division error + if sigma is not None: + if np.all(np.isnan(sigma)): sigma = None + else: + sigma = np.nan_to_num(sigma) + if np.count_nonzero(sigma) != len(sigma): + # Sigma = 0 causes zero division error + sigma = None # Override scipy.curve_fit default for absolute_sigma=True # if sigma is specified.