Problem

 
Problem = class Problem(builtins.object)
    Problem(model=None, xdata=None, ydata=None, weights=None, copy=None)
 
Problem implements the common parts of specialized Problems.
 
A Problem is an optimization of parameters which does not involve
the fitting of data to a Model.
 
Problems can be solved by NestedSampler, with appropriate Engines and
ErrorDistributions.
 
The result of the function for certain x and p is given by
problem.result( x, p )
The parameters, p, are to be optimized while the x provide additional
information.
 
This class is a base class. Further specializations will define the
result method.
 
Attributes
----------
model : Model
    to be optimized
xdata : array_like
    independent variable (static)
ydata : array_like
    dependent variable (static)
weights : array_like
    weights associated with ydata
npars : int
    number of parameters in the model of the problem
partype : float | int
    type of the parameters
 
 
Author :         Do Kester
 
  Constructor:
Problem( model=None, xdata=None, ydata=None, weights=None, copy=None )
Problem Constructor.
 
Parameters
----------
model : Model
    the model to be solved
xdata : array_like or None
    independent variable
ydata : array_like or None
    dependent variable
weights : array_like or None
    weights associated with ydata
copy : Problem
    to be copied
Methods defined here:
baseName()
copy()
Copy.
cyclize( res, period )
Apply correction on residuals which are cyclic in some
phase space.
 
If the model results in a phase value of +ε
while the data give that phase value as (p - ε)
to keep all data in the range [0,p], the naive residual
would be (p - 2 ε) while the actual distance should
be measured the other way around as (2 ε).
Here p = period and ε = small deviation.
 
Parameters
----------
res : array_like
    original residuals
period : float
    of the phase space
 
Returns
-------
corrected residuals.
cycor0( res )
Returns the residuals, unadultered
 
Parameters
----------
res : array_like
    residuals
cycor1( res )
Returns the residuals, all corrected for periodicity in residuals
 
Parameters
----------
res : array_like
    residuals
cycor2( res )
Returns the residuals corrected for periodicity in residuals, only
the result dimensions listed in the model.cyclic dictionary.
 
Parameters
----------
res : array_like
    residuals
domain2Unit( dval, kpar )
Return value in [0,1] for the selected parameter.
 
Parameters
----------
dval : float
    domain value for the selected parameter
kpar : array_like
    selected parameter index, where kp is index in [parameters, hyperparams]
hasWeights()
Return whether it has weights.
isDynamic()
residuals( param, mockdata=None )
Returns the residuals, calculated at the xdata.
 
Parameters
----------
param : array_like
    values for the parameters.
mockdata : array_like
    model fit at xdata
result( param )
Returns the result using the parameters.
 
In this (base)class it is a placeholder.
 
Parameters
----------
param : array_like
    values for the parameters.
shortName()
Return a short version the string representation: upto first non-letter.
unit2Domain( uval, kpar )
Return domain value for the selected parameter.
 
Parameters
----------
uval : array_like
    unit value for the selected parameter
kpar : array_like
    selected parameter indices, where kp is index in [parameters, hyperparams]
weightedResSq( param, mockdata=None, extra=False )
Returns the (weighted) squared residuals, calculated at the xdata.
 
Optionally (extra=True) the weighted residuals themselves are returned too.
 
Parameters
----------
param : array_like
    values for the parameters.
mockdata : array_like
    model fit at xdata
extra : bool (False)
    true  : return ( wgt * res^2, wgt * res )
    false : return wgt * res^2
weightedResiduals( param, mockdata=None, extra=False )
Returns the (weighted) residuals, calculated at the xdata.
 
Optionally (extra=True) the weighted signs of the residuals are returned too.
 
Parameters
----------
param : array_like
    values for the parameters.
mockdata : array_like
    model fit at xdata
extra : bool (False)
    true  : return ( wgt * res, wgt * sign( res ) )
    false : return wgt * res