Discretizations

Mathematical background

In mathematics, the term discretization stands for the transition from abstract, continuous, often infinite-dimensional objects to concrete, discrete, finite-dimensional counterparts. We define discretizations as tuples encompassing all necessary aspects involved in this transition. Let \mathcal{X} be an arbitrary set, \mathbb{F}^n be the set of n-tuples where each component lies in \mathbb{F}. We define two mappings

\mathcal{R}_\mathcal{X}: \mathcal{X} \to \mathbb{F}^n,

\mathcal{E}_\mathcal{X}: \mathbb{F}^n \to \mathcal{X},

which we call sampling and interpolation, respectively. Then, the discretization of \mathcal{X} with respect to \mathbb{F}^n and the above operators is defined as the tuple

\mathcal{D}(\mathcal{X}) = (\mathcal{X}, \mathbb{F}^n,
\mathcal{R}_\mathcal{X}, \mathcal{E}_\mathcal{X}).

The following abstract diagram visualizes a discretization:

../_images/discr.png

TODO: write up in more detail

Example

Let \mathcal{X} = C([0, 1]) be the space of real-valued continuous functions on the interval [0, 1], and let x_1 < \dots < x_n be ordered sampling points in [0, 1].

Restriction operator:

We define the grid collocation operator as

\mathcal{C}: \mathcal{X} \to \mathbb{R}^n,

\mathcal{C}(f) := \big(f(x_1), \dots, f(x_n)\big).

The abstract object in this case is the input function f, and the operator evaluates this function at the given points, resulting in a vector in \mathbb{R}^n.

This operator is implemented as PointCollocation.

Extension operator:

Let discrete values \bar f \in \mathbb{R}^n be given. Consider the linear interpolation of those values at a point x \in [0, 1]:

I(\bar f; x) := (1 - \lambda(x)) f_i + \lambda(x) f_{i+1},

\lambda(x) = \frac{x - x_i}{x_{i+1} - x_i},

where i is the index such that x \in [x_i, x_{i+1}).

Then we can define the linear interpolation operator as

\mathcal{L} : \mathbb{R}^n \to C([0, 1]),

\mathcal{L}(\bar f) := I(\bar f; \cdot),

where I(\bar f; \cdot) stands for the function x \mapsto I(\bar f; x).

Hence, this operator maps the finite array \bar f \in \mathbb{R}^n to the abstract interpolating function I(\bar f; \cdot).

This interpolation scheme is implemented in the LinearInterpolation operator.

Useful Wikipedia articles