EtalonModel

 
EtalonModel = class EtalonModel(NonLinearModel)
    EtalonModel(copy=None, **kwargs)
 
Etalon Model.
 
    f( x:p ) = p_0 / ( 1.0 + p_1 * sin^2( \pi p_2 x + p_3 ) )
 
where
    p_0 = amplitude
    p_1 = finesse,
    p_2 = frequency in 1/wavenumber
    p_3 = 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 < p_1 < 0 are equivalent
to a solution with parameters set as:
    p_0 /= ( 1 + p_1 )
    p_1 /= -( 1 + p_1 )
    p_3 += 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
 
 
Method resolution order:
EtalonModel
NonLinearModel
Model
FixedModel
BaseModel
builtins.object

Constructor:
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
Methods defined here:
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.
baseName()
Returns a string representation of the model.
baseParameterUnit( k )
Return the name of a parameter.
 
Parameters
----------
k : int
    the kth parameter.
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)
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.
copy()
Copy method.

Methods inherited from NonLinearModel:
Methods inherited from Model:
Overloaded operators and aliases Other methods Methods inherited from FixedModel:
Methods inherited from BaseModel: