@staticmethod
def fit_deriv(x, amplitude, x_break, alpha_1, alpha_2):
    'One dimensional broken power law derivative with respect to parameters'
    alpha = np.where((x < x_break), alpha_1, alpha_2)
    xx = (x / x_break)
    d_amplitude = (xx ** (- alpha))
    d_x_break = (((amplitude * alpha) * d_amplitude) / x_break)
    d_alpha = (((- amplitude) * d_amplitude) * np.log(xx))
    d_alpha_1 = np.where((x < x_break), d_alpha, 0)
    d_alpha_2 = np.where((x >= x_break), d_alpha, 0)
    return [d_amplitude, d_x_break, d_alpha_1, d_alpha_2]
One dimensional broken power law derivative with respect to parameters
@staticmethod
def fit_deriv(x, amplitude, x_break, alpha_1, alpha_2):
    
    alpha = np.where((x < x_break), alpha_1, alpha_2)
    xx = (x / x_break)
    d_amplitude = (xx ** (- alpha))
    d_x_break = (((amplitude * alpha) * d_amplitude) / x_break)
    d_alpha = (((- amplitude) * d_amplitude) * np.log(xx))
    d_alpha_1 = np.where((x < x_break), d_alpha, 0)
    d_alpha_2 = np.where((x >= x_break), d_alpha, 0)
    return [d_amplitude, d_x_break, d_alpha_1, d_alpha_2]