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(n-1)}xy^{n-1}+ ... + c_{(n-1)1}x^{n-1}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 the fixed 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 the tied property of a parameter may be used.

bounds : dict

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

eqcons : list

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

ineqcons : list

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

Attributes Summary

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

inputs = ('x', 'y')
outputs = ('z',)

Methods Documentation

__call__(x, y, model_set_axis=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 non-linear 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

coeff : 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.