astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v5.2.1 »
- Models and Fitting (`astropy.modeling`) »
- Reference/API »
- Chebyshev2D

# 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)

  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_degree `python:int`

      degree in x

    y_degree `python:int`

      degree in y

    x_domain `python:tuple` or `python:None`, optional

      domain of the x independent variable

    y_domain `python:tuple` or `python:None`, optional

      domain of the y independent variable

    x_window `python:tuple` or `python: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_window `python:tuple` or `python:None`, optional

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

    **params `python:dict`

      keyword: value pairs, representing parameter_name: value

  Other Parameters:
    fixed `a` `python:dict`, 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.

    tied `python:dict`, 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.

    bounds `python:dict`, 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.

    eqcons `python:list`, optional

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

    ineqcons `python:list`, 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)

    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:
      x `ndarray`

        input

      y `ndarray`

        input

      *params

        throw-away parameter list returned by non-linear fitters

    Returns:
      result `ndarray`

        The Vandermonde matrix