Module hrbf::kernel

source ·
Expand description

Hermite radial basis function kernels (funcions φ) We require that the first derivative of the kernel f go to zero as x -> 0. This ensures that the HRBF fitting matrix is well defined. I.e. in its taylor series representation, f(x) = ∑ᵢ aᵢxⁱ, we require that a₁ = 0.

NOTE: Kernels like x^2, x^3, exp(-x*x), and (1-x)^4 (4x+1) all satisfy this criterion.

To ensure that derivativevs at zero are computed accurately, each kernel must provide a formula for the following additional function:

  df_l(x) = φʹ(x)/x

where φ is the kernel function. It must be that df(x), ddf(x) - df_l(x) -> 0 as x -> 0 for the HRBF derivaitves to exist.

Furthermore, if the HRBF is to be used in the optimization framework, where a 3rd or even 4th derivatives are required, we also need the 3rd derivative to vanish. I.e. in its taylor series representation, f(x) = ∑ᵢ aᵢxⁱ, we require that a₁ = a₃ = 0.

NOTE: The exp(-x*x) and x^2 kernels satisfy this criteria, but x^3, x^2*log(x) and (1-x)^4 (4x+1) do not!

To ensure that derivatives at zero are computed accurately, each kernel must provide a formula for the function df_l (as described above) and the following additional functions:

  g(x) = φʺ(x)/x - φʹ(x)/x^2
  g_l(x) = φʺ(x)/x^2 - φʹ(x)/x^3
  h(x,a) = φ‴(x)/x - a(φʺ(x)/x^2 - φʹ(x)/x^3)

to see how these are used, see mesh_implicit_surface.cpp It must be that g(x), h(x,3) -> 0 as x -> 0 for the HRBF derivatives to exist.

Structs

  • Quintic kernel (1-x)^4 (4x+1).
  • The (1-x)^6 (35x^2 + 18x + 3) kernel.
  • Gaussian exp(-x*x) kernel.
  • The x^2 kernel.
  • The x^3 kernel.
  • The x^4 kernel.
  • The x^5 kernel.

Traits

  • Global kernel trait defines a constructor for kernels without a radial fallofff.
  • Kernel trait declaring all of the necessary derivatives.
  • Local kernel trait defines the radial fall-off for appropriate kernels.