Click or drag to resize

PolyharmonicSpline Class

Interpolation method for scattered data in any dimension based on radial basis functions. In 2D this is the so called Thin Plate Spline, which is an interpolation method that finds a "minimally bended" smooth surface that passes through all given points. The polyharmonic spline has an arbitrary number of dimensions and arbitrary derivative order. Note: The allocation space requirement is in the order (N+3)*(N+3), where N is the number of control points. Thus it is not applicable for too many points.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.InterpolationPolyharmonicSpline

Namespace: Altaxo.Calc.Interpolation
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class PolyharmonicSpline : IInterpolationFunction, 
	IInterpolationCurve

The PolyharmonicSpline type exposes the following members.

Constructors
 NameDescription
Public methodPolyharmonicSpline Initializes the spline with a regularization parameter of zero and an derivative order of 2.
Top
Properties
 NameDescription
Public propertyDerivativeOrder Derivative order of the spline. Effectively, the L2-norm of this derivative is minimized.
Public propertyNumberOfControlPoints Number of control points.
Public propertyNumberOfDimensionsNumber of dimensions of the control points.
Public propertyRegularizationParameter Regularization parameter (>=0). If the regularization parameter is zero, interpolation is exact. As it approaches infinity, the resulting spline is reduced to a least squares linear fit (in 2D this is a plane, the bending energy is 0).
Top
Methods
 NameDescription
Public methodConstruct(IReadOnlyListDouble, IReadOnlyListDouble) Constructs the interpolation (1 dimensional). The values and the corresponding coordinates of the values are given in separate vectors.
Public methodConstruct(IReadOnlyListDouble, IReadOnlyListDouble) Constructs the interpolation (any dimension). The values and the corresponding coordinates of the values are given in separate vectors.
Public methodConstruct(IReadOnlyListDouble, IReadOnlyListDouble, IReadOnlyListDouble) Constructs the interpolation (2 dimensional). The values and the corresponding coordinates of the values are given in separate vectors.
Public methodConstruct(IReadOnlyListDouble, IReadOnlyListDouble, IReadOnlyListDouble, IReadOnlyListDouble) Constructs the interpolation (3 dimensional). The values and the corresponding coordinates of the values are given in separate vectors.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetBendingEnergy Gets the bending energy of the interpolation.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetInterpolatedValue Gets the interpolation value of given coordinates x and y.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
Remarks
Literature: http://en.wikipedia.org/wiki/Polyharmonic_spline Extension to any number of dimensions: TIM GUTZMER AND JENS MARKUS MELENK, MATHEMATICS OF COMPUTATION, Volume 70, Number 234, Pages 699{703, S 0025-5718(00)01299-0, Article electronically published on October 18, 2000
See Also