Class PolyharmonicSpline

java.lang.Object
smile.math.rbf.PolyharmonicSpline
All Implemented Interfaces:
Serializable, RadialBasisFunction, Function

public class PolyharmonicSpline extends Object implements RadialBasisFunction
Polyharmonic spline RBF. This is a generalization of the thin plate spline.

For odd order k:

φ(r) = rk

For even order k:

φ(r) = rk log(r)

with φ(0) = 0 assumed in all cases. The standard thin plate spline corresponds to k = 2 (with scale r0 = 1).

Polyharmonic splines minimize a natural bending energy functional and are widely used in scattered data interpolation and image warping. Higher-order splines produce smoother interpolants.

References

  1. R.L. Hardy. Multiquadric equations of topography and other irregular surfaces. J. Geophys. Res., 1971.
  2. J. Duchon. Splines minimizing rotation-invariant semi-norms in Sobolev spaces. Constructive Theory of Functions of Several Variables, 1977.
See Also:
  • Constructor Details

    • PolyharmonicSpline

      public PolyharmonicSpline()
      Constructor for order 2 (thin-plate spline equivalent).
    • PolyharmonicSpline

      public PolyharmonicSpline(int k)
      Constructor.
      Parameters:
      k - the order of the polyharmonic spline. Must be a positive integer.
  • Method Details

    • order

      public int order()
      Returns the order of the polyharmonic spline.
      Returns:
      the order.
    • f

      public double f(double r)
      Description copied from interface: Function
      Computes the value of the function at x.
      Specified by:
      f in interface Function
      Parameters:
      r - a real number.
      Returns:
      the function value.
    • toString

      public String toString()
      Overrides:
      toString in class Object