Skip to content

Latest commit

 

History

History
219 lines (168 loc) · 11.7 KB

File metadata and controls

219 lines (168 loc) · 11.7 KB




class PolySurfaceModel( LinearModel )[source]

General polynomial surface model of arbitrary degree.

  f( x,y:p ) = ∑dk pn * xd-k * yk )

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

PolySurfaceModel( degree, copy=None, **kwargs ) [source]

Polynominal surface of a certain degree. Two dimensions.

degree polysurface
0 p0
1 p0 + p1 * x + p2 * y
2 p0 + p1 * x + p2 * y + p3 * x2 + p4 * x * y + p5 * y2
3 p0 + p1 * x + p2 * y + p3 * x2 + p4 * x * y + p5 * y2 +
p6 * x3 + p7 * x2 * y + p8 * x * y2 + p9 * y3
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

copy( ) [source]

basePartial( xdata, params, parlist=None ) [source]
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.

baseDerivative( xdata, params ) [source]
Return the derivative df/dx at each input (=x).
degree df/dx
0 0
1 p1
2 p1 + 2 * p3 * x + p4 * y
3 p1 + 2 * p3 * x + p4 * y + 3 * p6 * x2 + 2 * p7 * x * y + p8 * y2
degree df/dy
0 0
1 p2
2 p2 + p4 * x + 2 * p5 * y
3 p2 + p4 * x + 2 * p5 * y + p7 * x2 + 2 * p8 * x * y + 3 * p9 * y2

Parameters

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

baseName( ) [source]
Returns a string representation of the model.

baseParameterUnit( k ) [source]
Return the unit of the indicated parameter. Parameters k parameter number.
Methods inherited from LinearModel
Methods inherited from Model
Methods inherited from FixedModel
Methods inherited from BaseModel