Polynomial2D

class astropy.modeling.polynomial.Polynomial2D(degree, x_domain=None, y_domain=None, x_window=None, y_window=None, n_models=None, model_set_axis=None, name=None, meta=None, **params)[source]

Bases: astropy.modeling.polynomial.PolynomialModel

2D Polynomial model.

Represents a general polynomial of degree n:

\[P(x,y) = c_{00} + c_{10}x + ...+ c_{n0}x^n + c_{01}y + ...+ c_{0n}y^n + c_{11}xy + c_{12}xy^2 + ... + c_{1(n-1)}xy^{n-1}+ ... + c_{(n-1)1}x^{n-1}y\]

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

Parameters
degreeint

highest power of the polynomial, the number of terms is degree+1

x_domaintuple or None, optional

domain of the x independent variable If None, it is set to (-1, 1)

y_domaintuple or None, optional

domain of the y independent variable If None, it is set to (-1, 1)

x_windowtuple or None, optional

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

y_windowtuple or None, optional

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

**paramsdict

keyword: value pairs, representing parameter_name: value

Other Parameters
fixeda 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.

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.

Attributes Summary

input_units

This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or None if any units are accepted).

n_inputs

n_outputs

x_domain

x_window

y_domain

y_window

Methods Summary

__call__(self, *inputs[, model_set_axis, …])

Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.

evaluate(self, x, y, *coeffs)

Evaluate the model on some input variables.

fit_deriv(self, x, y, *params)

Computes the Vandermonde matrix.

invlex_coeff(self, coeffs)

multivariate_horner(self, x, y, coeffs)

Multivariate Horner’s scheme

prepare_inputs(self, x, y, **kwargs)

This method is used in __call__ to ensure that all the inputs to the model can be broadcast into compatible shapes (if one or both of them are input as arrays), particularly if there are more than one parameter sets.

Attributes Documentation

input_units

This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or None if any units are accepted).

Model sub-classes can also use function annotations in evaluate to indicate valid input units, in which case this property should not be overridden since it will return the input units based on the annotations.

n_inputs = 2
n_outputs = 1
x_domain
x_window
y_domain
y_window

Methods Documentation

__call__(self, *inputs, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None, inputs_map=None, **new_inputs)

Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.

evaluate(self, x, y, *coeffs)[source]

Evaluate the model on some input variables.

fit_deriv(self, x, y, *params)[source]

Computes the Vandermonde matrix.

Parameters
xndarray

input

yndarray

input

paramsthrow away parameter

parameter list returned by non-linear fitters

Returns
resultndarray

The Vandermonde matrix

invlex_coeff(self, coeffs)[source]
multivariate_horner(self, x, y, coeffs)[source]

Multivariate Horner’s scheme

Parameters
x, yarray
coeffsarray of coefficients in inverse lexical order
prepare_inputs(self, x, y, **kwargs)[source]

This method is used in __call__ to ensure that all the inputs to the model can be broadcast into compatible shapes (if one or both of them are input as arrays), particularly if there are more than one parameter sets. This also makes sure that (if applicable) the units of the input will be compatible with the evaluate method.