Skip to content

RBFKernelType

ferreus_rbf.interpolant_config.RBFKernelType

Bases: Enum

Implemented kernel functions.

Linear = 0 class-attribute instance-attribute

\[ \varphi(r) = -r \]

ThinPlateSpline = 1 class-attribute instance-attribute

\[ \varphi(r) = \begin{cases} 0, & r=0,\\ r^2 \log r, & r>0 . \end{cases} \]

Cubic = 2 class-attribute instance-attribute

\[ \varphi(r) = r^3 \]

Spheroidal = 3 class-attribute instance-attribute

\[ \varphi(r) = s \begin{cases} 1 - \lambda_{m}r_{s}, & r_{s} \le x^{*}_{m},\\ c_{m}^{-1}(1 + r_{s}^2)^{-m / 2}, & r_{s} \ge x^{*}_{m} \end{cases} \]

where
$$ r_{s} = \kappa_{m}{r / R} $$

with

  • s = total sill
  • R = base range

Spheroidal RBF Functions

The Spheroidal family of covariance functions have the same definition, with varying constant parameters based on the selected order.

The order determines how steeply the interpolant asymptotically approaches 0.0. A higher order value gives more weighting to points at intermediate distances, compared with lower orders.

The Spheroidal covariance function is a piecewise function that combines the linear RBF function up to the inflexion point, and a scaled inverse multiquadric function after that.

More information can be found here.


Constant parameters for each supported spheroidal order
Order (\(m\)) 3 5 7 9
Inflexion point (\(x^{*}_{m}\)) 0.5000000000 0.4082482905 0.3535533906 0.3162277660
Y-intercept (\(c_{m}\)) 1.1448668044 1.1660474725 1.1771820863 1.1840505048
Linear slope (\(\lambda_{m}\)) 0.7500000000 1.0206207262 1.2374368671 1.4230249471
Range scaling (\(\kappa_{m}\)) 2.6798340586 1.5822795750 1.2008676644 1.0000000000