class ChebyshevPolynomialModel( LinearModel ) | Source |
---|
Chebyshev polynomial model of arbitrary degree.
f( x:p ) = ∑ pk * Tk( x )
where the sum is over k running from 0 to degree ( inclusive ).
The T( x ) are Chebyshev polynomials of the first kind which are defined recursively as
T0( x ) = 1
T1( x ) = x
Tn( x ) = 2 x Tn-1( x ) - Tn-2( x ) for n >= 2
These polynomials are orthogonal, when integrated over x in [-1,+1].
It is a linear model.
Attributes
- degree : int
degree of the polynomial
Attributes from Model
npchain, parameters, stdevs, xUnit, yUnit
Attributes from FixedModel
npmax, fixed, parlist, mlist
Attributes from BaseModel
npbase, ndim, priors, posIndex, nonZero, tiny, deltaP, parNames
Examples
poly = ChebyshevPolynomialModel( 3 ) # 3rd degree polynomial
print poly.getNumberOfParameters( )
4
ChebyshevPolynomialModel( degree, copy=None, **kwargs ) |
---|
Chebyshev Polynomial of a certain degree.
The number of parameters is ( degree + 1 )
Parameters
- degree : int
the degree of the polynomial. - copy : ChebyshevPolynomialModel
to be copied - fixed : None or dictionary of {int:float|Model}
int index of parameter to fix permanently.
float|Model values for the fixed parameters.
Attribute fixed can only be set in the constructor.
See: FixedModel
copy( ) |
---|
basePartial( xdata, params, parlist=None ) |
---|
The partials are calculated using the recurrence formula
fn( x ) = 2 * x * fn-1( x ) - fn-2( x )
Parameters
- xdata : array_like
value at which to calculate the partials - params : array_like
parameters of the model (ignored for linear models) - parlist : array_like
list of indices of active parameters
baseDerivative( xdata, params ) |
---|
dfn = n * Un-1
where
U0 = 1
U1 = 2x
Un+1 = 2 * x * Un - Un-1
Parameters
- xdata : array_like
value at which to calculate the partials - params : array_like
parameters of the model
baseName( ) |
---|
baseParameterUnit( k ) |
---|
Parameters
- k : int
parameter number.
Methods inherited from LinearModel |
---|
Methods inherited from Model |
---|
- chainLength( )
- isNullModel( )
- isolateModel( k )
- addModel( model )
- subtractModel( model )
- multiplyModel( model )
- divideModel( model )
- pipeModel( model )
- appendModel( model, operation )
- correctParameters( params )
- result( xdata, param=None )
- operate( res, pars, next )
- derivative( xdata, param, useNum=False )
- partial( xdata, param, useNum=False )
- selectPipe( ndim, ninter, ndout )
- pipe_0( dGd, dHdG )
- pipe_1( dGd, dHdG )
- pipe_2( dGd, dHdG )
- pipe_3( dGd, dHdG )
- pipe_4( dGdx, dHdG )
- pipe_5( dGdx, dHdG )
- pipe_6( dGdx, dHdG )
- pipe_7( dGdx, dHdG )
- pipe_8( dGdx, dHdG )
- pipe_9( dGdx, dHdG )
- shortName( )
- getNumberOfParameters( )
- numDerivative( xdata, param )
- numPartial( xdata, param )
- isDynamic( )
- hasPriors( isBound=True )
- getPrior( kpar )
- setPrior( kpar, prior=None, **kwargs )
- getParameterName( kpar )
- getParameterUnit( kpar )
- getIntegralUnit( )
- setLimits( lowLimits=None, highLimits=None )
- getLimits( )
- hasLimits( fitindex=None )
- unit2Domain( uvalue, kpar=None )
- domain2Unit( dvalue, kpar=None )
- partialDomain2Unit( dvalue )
- nextPrior( )
- isMixed( )
- getLinearIndex( )
- testPartial( xdata, params, silent=True )
- strictNumericPartial( xdata, params, parlist=None )
- assignDF1( partial, i, dpi )
- assignDF2( partial, i, dpi )
- strictNumericDerivative( xdata, param )
Methods inherited from FixedModel |
---|
Methods inherited from BaseModel |
---|