[−][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. |