[][src]Module hrbf::kernel

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, gauss, 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 gauss 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

Csrbf31

Quintic kernel. Generates a positive definite hrbf fitting matrix. Third and fourth order hrbf derivatives don't exist at x = 0.

Csrbf42
Gauss

Gaussian kernel.

Pow2
Pow3
Pow4
Pow5

x^5 kernel.

Traits

GlobalKernel

Global kernel trait defines a constructor for kernels without a radial fallofff.

Kernel

Kernel trait declaring all of the necessary derivatives.

LocalKernel

Local kernel trait defines the radial fall-off for appropriate kernels.