FmmKernelTypes¶
ferreus_bbfmm.FmmKernelType
¶
Bases: Enum
Implemented kernel functions.
Laplacian = 0
class-attribute
instance-attribute
¶
\[
\varphi(r) = 1 / r
\]
OneOverR2 = 1
class-attribute
instance-attribute
¶
\[
\varphi(r) = 1 / r^2
\]
OneOverR4 = 2
class-attribute
instance-attribute
¶
\[
\varphi(r) = 1 / r^4
\]
LinearRbf = 3
class-attribute
instance-attribute
¶
\[
\varphi(r) = -r
\]
ThinPlateSplineRbf = 4
class-attribute
instance-attribute
¶
\[
\varphi(r) =
\begin{cases}
0, & r=0,\\
r^2 \log r, & r>0 .
\end{cases}
\]
CubicRbf = 5
class-attribute
instance-attribute
¶
\[
\varphi(r) = r^3
\]
SpheroidalRbf = 6
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.
| 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 |