# Hermite1D¶

class astropy.modeling.polynomial.Hermite1D(degree, domain=None, window=[-1, 1], n_models=None, model_set_axis=None, name=None, meta=None, **params)[source] [edit on github]

Univariate Hermite series.

It is defined as:

$P(x) = \sum_{i=0}^{i=n}C_{i} * H_{i}(x)$

where H_i(x) is the corresponding Hermite polynomial (“Physicist’s kind”).

Parameters: Other Parameters: degree : int degree of the series domain : list or None, optional window : list or None, optional If None, it is set to [-1,1] Fitters will remap the domain to this window **params : dict keyword : value pairs, representing parameter_name: value 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.

Notes

This model does not support the use of units/quantities, because each term in the sum of Hermite polynomials is a polynomial in x - since the coefficients within each Hermite polynomial are fixed, we can’t use quantities for x since the units would not be compatible. For example, the third Hermite polynomial (H2) is 4x^2-2, but if x was specified with units, 4x^2 and -2 would have incompatible units.

Attributes Summary

Methods Summary

 clenshaw(coeffs) evaluate(x, *coeffs) Evaluate the model on some input variables. fit_deriv(x, *params) Computes the Vandermonde matrix. prepare_inputs(x, **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'
outputs = 'y'

Methods Documentation

static clenshaw(coeffs)[source] [edit on github]
evaluate(x, *coeffs)[source] [edit on github]

Evaluate the model on some input variables.

fit_deriv(x, *params)[source] [edit on github]

Computes the Vandermonde matrix.

Parameters: x : ndarray input params : throw away parameter parameter list returned by non-linear fitters result : ndarray The Vandermonde matrix
prepare_inputs(x, **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.