Polynomial2D¶

class
astropy.modeling.polynomial.
Polynomial2D
(degree, x_domain=[1, 1], y_domain=[1, 1], x_window=[1, 1], y_window=[1, 1], n_models=None, model_set_axis=None, name=None, meta=None, **params)[source] [edit on github]¶ 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(n1)}xy^{n1}+ ... + c_{(n1)1}x^{n1}y\]Parameters: degree : int
highest power of the polynomial, the number of terms is degree+1
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
Other Parameters: fixed : a dict
A dictionary
{parameter_name: boolean}
of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively thefixed
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 thetied
property of a parameter may be used.bounds : dict
eqcons : list
A list of functions of length
n
such thateqcons[j](x0,*args) == 0.0
in a successfully optimized problem.ineqcons : list
A list of functions of length
n
such thatieqcons[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).inputs
outputs
Methods Summary
__call__
(x, y[, model_set_axis, …])Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated. evaluate
(x, y, *coeffs)Evaluate the model on some input variables. fit_deriv
(x, y, *params)Computes the Vandermonde matrix. invlex_coeff
(coeffs)multivariate_horner
(x, y, coeffs)Multivariate Horner’s scheme prepare_inputs
(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 subclasses can also use function annotations in evaluate to indicate valid input units, in which case this property should not be overriden since it will return the input units based on the annotations.

inputs
= ('x', 'y')¶

outputs
= ('z',)¶
Methods Documentation

__call__
(x, y, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None) [edit on github]¶ Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.

evaluate
(x, y, *coeffs)[source] [edit on github]¶ Evaluate the model on some input variables.

fit_deriv
(x, y, *params)[source] [edit on github]¶ Computes the Vandermonde matrix.
Parameters: x : ndarray
input
y : ndarray
input
params : throw away parameter
parameter list returned by nonlinear fitters
Returns: result : ndarray
The Vandermonde matrix

invlex_coeff
(coeffs)[source] [edit on github]¶

multivariate_horner
(x, y, coeffs)[source] [edit on github]¶ Multivariate Horner’s scheme
Parameters: x, y : array
coeffs : array of coefficients in inverse lexical order

prepare_inputs
(x, y, **kwargs)[source] [edit on github]¶ 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.
