Chebyshev2D#

class astropy.modeling.polynomial.Chebyshev2D(x_degree, y_degree, x_domain=None, x_window=None, y_domain=None, y_window=None, n_models=None, model_set_axis=None, name=None, meta=None, **params)[source]#

Bases: OrthoPolynomialBase

Bivariate Chebyshev series..

It is defined as

\[P_{nm}(x,y) = \sum_{n,m=0}^{n=d,m=d}C_{nm} T_n(x ) T_m(y)\]

where T_n(x) and T_m(y) are Chebyshev polynomials of the first kind.

For explanation of x_domain, y_domain, x_window and y_window see Notes regarding usage of domain and window.

Parameters:
x_degreeint

degree in x

y_degreeint

degree in y

x_domaintuple or None, optional

domain of the x independent variable

y_domaintuple or None, optional

domain of the y independent variable

x_windowtuple or None, optional

range of the x independent variable If None, it is set to (-1, 1) Fitters will remap the domain to this window

y_windowtuple or None, optional

range of the y independent variable If None, it is set to (-1, 1) Fitters will remap the domain to this window

**paramsdict

keyword: value pairs, representing parameter_name: value

Other Parameters:
fixeddict, optional

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.

tieddict, optional

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.

boundsdict, optional

A dictionary {parameter_name: value} of lower and upper bounds of parameters. Keys are parameter names. Values are a list or a tuple of length 2 giving the desired range for the parameter. Alternatively, the min and max properties of a parameter may be used.

eqconslist, optional

A list of functions of length n such that eqcons[j](x0,*args) == 0.0 in a successfully optimized problem.

ineqconslist, optional

A list of functions of length n such that ieqcons[j](x0,*args) >= 0.0 is a successfully optimized problem.

Notes

This model does not support the use of units/quantities, because each term in the sum of Chebyshev polynomials is a polynomial in x and/or y - since the coefficients within each Chebyshev polynomial are fixed, we can’t use quantities for x and/or y since the units would not be compatible. For example, the third Chebyshev polynomial (T2) is 2x^2-1, but if x was specified with units, 2x^2 and -1 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]#

Derivatives with respect to the coefficients.

This is an array with Chebyshev polynomials:

\[T_{x_0}T_{y_0}, T_{x_1}T_{y_0}...T_{x_n}T_{y_0}...T_{x_n}T_{y_m}\]
Parameters:
xndarray

input

yndarray

input

*params

throw-away parameter list returned by non-linear fitters

Returns:
resultndarray

The Vandermonde matrix