Legendre2D¶

class astropy.modeling.polynomial.Legendre2D(x_degree, y_degree, x_domain=None, x_window=[-1, 1], y_domain=None, y_window=[-1, 1], n_models=None, model_set_axis=None, name=None, meta=None, **params)[source] [edit on github]

Bivariate Legendre series.

Defined as:

$P_{n_m}(x,y) = \sum_{n,m=0}^{n=d,m=d}C_{nm} L_n(x ) L_m(y)$

where L_n(x) and L_m(y) are Legendre polynomials.

Parameters: Other Parameters: x_degree : int degree in x y_degree : int degree in y x_domain : list or None, optional domain of the x independent variable y_domain : list or None, optional domain of the y independent variable x_window : list or None, optional range of the x independent variable y_window : list or None, optional range of the y independent variable **params : dict keyword: value pairs, representing parameter_name: value fixed : a dict A dictionary {parameter_name: boolean} of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively the fixed property of a parameter may be used. tied : dict A dictionary {parameter_name: callable} of parameters which are linked to some other parameter. The dictionary values are callables providing the linking relationship. Alternatively the tied property of a parameter may be used. bounds : dict A dictionary {parameter_name: boolean} of lower and upper bounds of parameters. Keys are parameter names. Values are a list of length 2 giving the desired range for the parameter. Alternatively the min and max properties of a parameter may be used. eqcons : list A list of functions of length n such that eqcons[j](x0,*args) == 0.0 in a successfully optimized problem. ineqcons : list A list of functions of length n such that ieqcons[j](x0,*args) >= 0.0 is a successfully optimized problem.

Notes

Model formula:

$P(x) = \sum_{i=0}^{i=n}C_{i} * L_{i}(x)$

where L_{i} is the corresponding Legendre polynomial.

This model does not support the use of units/quantities, because each term in the sum of Legendre polynomials is a polynomial in x - since the coefficients within each Legendre polynomial are fixed, we can’t use quantities for x since the units would not be compatible. For example, the third Legendre polynomial (P2) is 1.5x^2-0.5, but if x was specified with units, 1.5x^2 and -0.5 would have incompatible units.

Methods Summary

 fit_deriv(x, y, *params) Derivatives with respect to the coefficients.

Methods Documentation

fit_deriv(x, y, *params)[source] [edit on github]

Derivatives with respect to the coefficients. This is an array with Legendre polynomials:

Lx0Ly0 Lx1Ly0…LxnLy0…LxnLym

Parameters: x : ndarray input y : ndarray input params : throw away parameter parameter list returned by non-linear fitters result : ndarray The Vandermonde matrix