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:
PolynomialModel2D 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_windowandy_windowsee Notes regarding usage of domain and window.- Parameters:
- degree
python:int Polynomial degree: largest sum of exponents (\(i + j\)) of variables in each monomial term of the form \(x^i y^j\). The number of terms in a 2D polynomial of degree
nis given by binomial coefficient \(C(n + 2, 2) = (n + 2)! / (2!\,n!) = (n + 1)(n + 2) / 2\).- x_domain
python:tupleorpython:None, optional domain of the x independent variable If None, it is set to (-1, 1)
- y_domain
python:tupleorpython:None, optional domain of the y independent variable If None, it is set to (-1, 1)
- x_window
python:tupleorpython: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_window
python:tupleorpython: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
- **params
python:dict keyword: value pairs, representing parameter_name: value
- degree
- Other Parameters:
- fixed
python:dict, optional A dictionary
{parameter_name: boolean}of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively thefixedproperty 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 thetiedproperty 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, theminandmaxproperties of a parameter may be used.- eqcons
python:list, optional A list of functions of length
nsuch thateqcons[j](x0,*args) == 0.0in a successfully optimized problem.- ineqcons
python:list, optional A list of functions of length
nsuch thatieqcons[j](x0,*args) >= 0.0is a successfully optimized problem.
- fixed
Attributes Summary
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
Noneif any units are accepted).Methods Summary
__call__(*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(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#
- n_inputs = 2#
- n_outputs = 1#
- x_domain#
- x_window#
- y_domain#
- y_window#
Methods Documentation
- __call__(*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.
- fit_deriv(x, y, *params)[source]#
Computes the Vandermonde matrix.
- Parameters:
- x
ndarray input
- y
ndarray input
- *params
throw-away parameter list returned by non-linear fitters
- x
- Returns:
- result
ndarray The Vandermonde matrix
- result
- multivariate_horner(x, y, coeffs)[source]#
Multivariate Horner’s scheme.
- Parameters:
- x, y
array - coeffs
array Coefficients in inverse lexical order.
- x, y
- prepare_inputs(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.