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.3167.0 (4.8.3167.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 propertyNumberOfDimensions
Number 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 methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows 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 methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetInterpolatedValue
Gets the interpolation value of given coordinates x and y.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Fields
  NameDescription
Public fieldStatic memberDefaultDerivativeOrder
Default value of the DerivativeOrder.
Public fieldStatic memberDefaultRegularizationParameter
Default value of the RegularizationParameter.
Top
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