@@ -2269,12 +2269,12 @@ def evaluate(x, amplitude, x_0, gamma, alpha):
22692269 def fit_deriv (x , amplitude , x_0 , gamma , alpha ):
22702270 """One dimensional Moffat model derivative with respect to parameters"""
22712271
2272- d_A = (1 + (x - x_0 ) ** 2 / gamma ** 2 ) ** ( - alpha )
2273- d_x_0 = ( - amplitude * alpha * d_A * ( - 2 * x + 2 * x_0 ) /
2274- ( gamma ** 2 * d_A ** alpha ))
2275- d_gamma = (2 * amplitude * alpha * d_A * (x - x_0 ) ** 2 /
2276- (gamma ** 3 * d_A ** alpha ))
2277- d_alpha = - amplitude * d_A * np .log (1 + ( x - x_0 ) ** 2 / gamma ** 2 )
2272+ fac = (1 + (x - x_0 ) ** 2 / gamma ** 2 )
2273+ d_A = fac ** ( - alpha )
2274+ d_x_0 = ( 2 * amplitude * alpha * ( x - x_0 ) * d_A / ( fac * gamma ** 2 ))
2275+ d_gamma = (2 * amplitude * alpha * (x - x_0 ) ** 2 * d_A /
2276+ (fac * gamma ** 3 ))
2277+ d_alpha = - amplitude * d_A * np .log (fac )
22782278 return [d_A , d_x_0 , d_gamma , d_alpha ]
22792279
22802280 @property
@@ -2349,12 +2349,13 @@ def fit_deriv(x, y, amplitude, x_0, y_0, gamma, alpha):
23492349
23502350 rr_gg = ((x - x_0 ) ** 2 + (y - y_0 ) ** 2 ) / gamma ** 2
23512351 d_A = (1 + rr_gg ) ** (- alpha )
2352- d_x_0 = (- amplitude * alpha * d_A * (- 2 * x + 2 * x_0 ) /
2352+ d_x_0 = (2 * amplitude * alpha * d_A * (x - x_0 ) /
23532353 (gamma ** 2 * (1 + rr_gg )))
2354- d_y_0 = (- amplitude * alpha * d_A * (- 2 * y + 2 * y_0 ) /
2354+ d_y_0 = (2 * amplitude * alpha * d_A * (y - y_0 ) /
23552355 (gamma ** 2 * (1 + rr_gg )))
23562356 d_alpha = - amplitude * d_A * np .log (1 + rr_gg )
2357- d_gamma = 2 * amplitude * alpha * d_A * (rr_gg / (gamma * (1 + rr_gg )))
2357+ d_gamma = (2 * amplitude * alpha * d_A * rr_gg /
2358+ (gamma ** 3 * (1 + rr_gg )))
23582359 return [d_A , d_x_0 , d_y_0 , d_gamma , d_alpha ]
23592360
23602361 @property
0 commit comments