BayesicFitting

Model Fitting and Evidence Calculation

View project on GitHub



class EtalonModel( NonLinearModel )Source

Etalon Model.

     f( x:p ) = p0 / ( 1.0 + p1 * sin2( π p2 x + p3 ) )

where
     p0 = amplitude
     p1 = finesse,
     p2 = frequency in 1/wavenumber
     p3 = phase,

As always x = input; it is in wavenumbers

The parameters are initialized at [1.0, 1.0, 1.0, 0.0]. It is a non-linear model.

The finesse should be positive. However, solutions where -1 < p1 < 0 are equivalent to a solution with parameters set as

     p0 /= ( 1 + p1 )
     p1 /= -( 1 + p1 )
     p3 += pi/2 # 90 degree phase shift

A finesse below -1 causes infinities.

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

fpm = EtalonModel( )
print( fpm.npchain )
4
pars = [1.0, 30.0, 1.0, 0.0]
fpm.parameters = pars
print( fpm( numpy.arange( 101, dtype=float ) ) )     # etalon with 10 periods

EtalonModel( copy=None, **kwargs )

Etalon model.

Number of parameters is 4.

Parameters

  • copy : EtalonModel
         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( )

Copy method.

baseResult( xdata, params )
Returns the result of the model function.

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.

baseDerivative( xdata, params )
Returns the derivative of f to x (df/dx) at the input values.

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.

basePartial( xdata, params, parlist=None )
Returns the partials at the input values.

Parameters

  • xdata : array_like
         values at which to calculate the result
  • params : array_like
         values for the parameters.
  • parlist : array_like
         list of indices active parameters (or None for all)

baseName( )
Returns a string representation of the model.

baseParameterUnit( k )
Return the name of a parameter.

Parameters

  • k : int
         the kth parameter.
Methods inherited from NonLinearModel
Methods inherited from Model
Methods inherited from FixedModel
Methods inherited from BaseModel