class PadeModel( NonLinearModel ) | Source |
---|
General Pade model of arbitrary degrees in numerator and denominator.
f( x:p ) = ∑ pn * xn / ( ∑ pnum+1+k * xk )
where the sum in the numerator is over n running from 0 to num ( inclusive ) and the sum in the denominator is over k running from 0 to den ( inclusive )
At least one parameter needs to be fixed, otherwise the model is degenerate in its parameters. By default the first parameter of the denominator (pnum+1) is fixed to 1.0.
All parameters are initialized at 0. It is a non-linear model.
Beware of the poles where the denominator equals zero.
Author: Do Kester
Examples
pade = PadeModel( 3, 1 ) # 3rd degree polynomial
print pade.getNumberOfParameters( ) # 5
5
Attributes
- num : int
order of the polynomial in the numerator - den : int
order of the polynomial in the denominator
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
Alternate
PadeModel( 2, 3 ) is equivalent to
- PolynomialModel( 2 ) / PolynomialModel( 3, fixed={0 : 1.0} )
PadeModel( num, den, copy=None, fixed=None, **kwargs ) |
---|
Pade of a certain degree in numerator and denominator.
The number of parameters is ( num + den + 1 )
Parameters
- num : int
the degree of the polynomial in the numerator. - den : int
the degree of the polynomial in the denominator. - copy : PadeModel
model to be copied - fixed : dictionary of {int:float|Model}
int index of parameter to fix permanently.
float|Model values for the fixed parameters.
Default {num+1 : 1.0}
Attribute fixed can only be set in the constructor.
See: FixedModel
copy( ) |
---|
baseResult( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the partials - params : array_like
parameters for the model.
basePartial( xdata, params, parlist=None ) |
---|
Parameters
- xdata : array_like
values at which to calculate the partials - params : array_like
parameters for the model. - parlist : array_like
list of indices active parameters (or None for all)
baseDerivative( xdata, params ) |
---|
Parameters
- xdata : array_like
values at which to calculate the partials - params : array_like
parameters for the model.
baseName( ) |
---|
baseParameterUnit( k ) |
---|
- k : int
parameter number.
Methods inherited from NonLinearModel |
---|
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 )
- 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( )
- 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 |
---|