aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: a4ed6f1fe6cf386706a18a8de8dc3ed75b48cc52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
For functions f on the discrete circle {0,…,N-1} this program computes their uncentered maximal functions and the ratio of the L<sup>p</sup> norms of the kth derivative of the maximal function and the function.

# Building

If `git` is installed you can fetch the repository using

```
git clone https://cgit.jnwt.eu/discretemf
```

The program is written in C and hence requires a C compiler for building. If `make` and `gcc` are installed then running

```
make
```

builds three files:

- `charf_approx` does computations using floating point (`double`) numbers, which come with rounding errors.
- `charf_error` does computations using floating point (`double`) numbers and gives an upper bound for the total rounding error.
- `charf_exact` does exact computations using fractions. Nominator and denominator are of type `unsigned long long` and bounded in size accordingly.

# Computation

By default, the program goes through all possible characteristic functions on circles from length 2 to 36, considers derivatives from order 0 to 64 and exponents p = 1,2,4,8,āˆž.
Computing the maximal function of a function is the most computationally complex part. This means it is time efficient to consider several orders of derivative and exponents at the same time, in particular since the (k+1)th derivative is computed using the kth derivative.

The program continuously outputs whenever it finds a function that beats the last record for the largest ratio of the L<sup>p</sup> norm of the kth derivative of the maximal function and the function.
It is also possible to print the results in human readable format and as a latex table.

# Correctness

I am relatively confident that the computed error bounds are correct for all operations except exponentiation, which is not used for p∈{1,āˆž}.