1-D Normal Splines implementation in Julia
Pages = [
"index.md",
"Usage.md",
"Public-API.md",
"Interpolating-Normal-Splines.md",
"Reproducing-Kernel-of-Bessel-Potential-space.md"
]
Depth = 3
NormalSplines.jl
implements the normal splines method for solving following interpolation problem:
Problem: Given points x_1 \lt x_2 \lt \dots \lt x_{n_1}
, s_1 \lt s_2 \lt \dots \lt s_{n_2}
and t_1 \lt t_2 \lt \dots \lt t_{n_3}
find a function f
such that
Knots \{x_i\}
, \{s_j\}
and \{t_k\}
may coincide. We assume that function f
is an element of an appropriate reproducing kernel Hilbert space H
.
The normal splines method consists in finding a solution of system (1) having minimal norm in Hilbert space H
, thus the interpolation normal spline \sigma
is defined as follows:
Normal splines method is based on the following functional analysis results:
- Embedding theorems (Sobolev embedding theorem and Bessel potential space embedding theorem)
- The Riesz representation theorem for Hilbert spaces
- Reproducing kernel properties.
Using these results it is possible to reduce task (2) to solving a system of linear equations with symmetric positive definite Gram matrix.
Normal splines are constructed in Sobolev space W^l_2 [a, b]
with norm:
and in Bessel potential space H_\varepsilon^l(R)
defined as
where S' (R)
is space of L. Schwartz tempered distributions and \mathcal F [f]
is a Fourier transform of the f
. Space H^l_\varepsilon (R)
is Hilbert space with norm
If n_3 > 0
then value of l
is 3
, in a case when n_3 = 0
and n_2 > 0
the value of l
must be 2
or 3
.
Detailed explanation is given in Interpolating Normal Splines