UserModel


 
UserModel = class UserModel(Model)
    UserModel(npars, userResult, ndim=1, userPartial=None, userDeriv=None,
         userName='unknown', copy=None, **kwargs)

 
Wrapper for a Models where the User provides the method the evaluate
f( x: p ) as userResult( x, param )
 
and optionally the partial derivatives to p and x and a name
 
df/dp as  userPartial( x, param )
df/dx as  userDeriv( x. param )
name  as  string
 
 
Examples
--------
import numpy as np
>>> def ur( x, p ) :
>>>     return p[0] * np.sin( p[1] * x + p[2] * np.log( x + p[3] ) ) 
>>> 
>>>
>>> mdl = UserModel( 4, ur, userName="slowchirp" )
>>> print( mdl )
UserModel( slowchirp )
>>> print( mdl.npars )
4
 
 
Attributes
----------
userResult : callable
    method to evaluate the result of the F(x:p)
    defined as method( x, p )
userPartial : callable
    method to evaluate the partial derivatives df/dp
    defined as method( x, p ). Default: numeric derivative
userDerivative : callable
    method to evaluate the derivative df/dx
    defined as method( x, p ). Default: numeric derivative
userName : str
    name of the class
 
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
 
 
Method resolution order:
UserModel
Model
FixedModel
BaseModel
builtins.object

Constructor:
UserModel( npars, userResult, ndim=1, userPartial=None, userDeriv=None,
         userName='unknown', copy=None, **kwargs)

User provided model.
 
Parameters
----------
npars : int
    number of parameters of this model
userResult : callable
    method of the form userResult( x, p )
    where x is the independent variable; array_like
          p is the parameter vector; array_like 
ndim : int
    number of input streams.
userPartial : callable
    method of the form userPartial( x, p )
    where x is the independent variable; array_like
          p is the parameter vector; array_like 
userDeriv : callable
    method of the form userDeriv( x, p )
    where x is the independent variable; array_like
          p is the parameter vector; array_like 
userName : str
    Name for this model
copy : UserModel
    to be copied
Methods defined here:
baseDerivative( xdata, params )
Return the derivative df/dx at each xdata (=x).
 
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.
basePartial( xdata, params, parlist=None )
Returns the partials at the input value.
 
Parameters
----------
xdata : array_like
    values at which to calculate the partials
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.
setMethod( name, userMethod, numeric=None )

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