PolySurfaceModel


 
PolySurfaceModel = class PolySurfaceModel(LinearModel)
    PolySurfaceModel(degree, copy=None, **kwargs)
 
General polynomial surface model of arbitrary degree.
 
    f( x,y:p ) = ∑_d ∑_k p_n * x^{d-k} * y^k )
 
where the first sum is over d running from 0 to degree ( inclusive )
and the second sum is over k running from 0 to d ( inclusive ).
The index n is just incrementing, making all p's different.
 
It is a 2-dimensional linear model.
 
Examples
--------
poly = PolySurfaceModel( 3 )         # 3rd degree polynomial
print poly.getNumberOfParameters( )        # 10
 
Author      Do Kester
 
Attributes
----------
degree : int
    degree of the polynomial
 
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:
PolySurfaceModel
LinearModel
Model
FixedModel
BaseModel
builtins.object

Constructor:
PolySurfaceModel( degree, copy=None, **kwargs )
Polynominal surface of a certain degree. Two dimensions.
 
degree      polysurface
  0         p_0
  1         p_0 + p_1 * x + p_2 * y
  2         p_0 + p_1 * x + p_2 * y + p_3 * x^2 + p_4 * x * y + p_5 * y^2
  3         p_0 + p_1 * x + p_2 * y + p_3 * x^2 + p_4 * x * y + p_5 * y^2 +
                p_6 * x^3 + p_7 * x^2 * y + p_8 * x * y^2 + p_9 * y^3
etc.
 
The number of parameters is ( degree+2 ) * ( degree+1 ) / 2
 
Parameters
----------
degree : int
    the degree of the polynomial.
copy : PolySurfaceModel
    model to be copied
fixed : dictionary of {int:float|Model}
    int             list if parameters to fix permanently. Default None.
    float|Model     list of values for the fixed parameters.
    Attribute fixed can only be set in the constructor.
    See FixedModel
Methods defined here:
baseDerivative( xdata, params )
Return the derivative df/dx at each input (=x).
 
degree      df/dx
  0         0
  1         p_1
  2         p_1 + 2 * p_3 * x + p_4 * y
  3         p_1 + 2 * p_3 * x + p_4 * y + 3 * p_6 * x^2 + 2 * p_7 * x * y + p_8 * y^2
 
degree      df/dy
  0         0
  1         p_2
  2         p_2 + p_4 * x + 2 * p_5 * y
  3         p_2 + p_4 * x + 2 * p_5 * y + p_7 * x^2 + 2 * p_8 * x * y + 3 * p_9 * y^2
 
 
Parameters
----------
xdata : array_like
    values at which to calculate the partials
params : array_like
    parameters for the model.
baseName()
Returns a string representation of the model.
baseParameterUnit( k )
Return the unit of the indicated parameter.
Parameters  k    parameter number.
basePartial( xdata, params, parlist=None )
Returns the partials at the input values.
 
The partials are the powers of x,y ( xdata ) from 0 to degree.
 
Parameters
----------
xdata : array_like
    values at which to calculate the result
params : array_like
    values for the parameters.
copy()
Copy method.

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