ApproximatingMapsBetweenLinearSpaces.jl

Mirror of https://gitlab.kuleuven.be/numa/software/ApproximatingMapsBetweenLinearSpaces
Author sjacobsson
Popularity
0 Stars
Updated Last
3 Months Ago
Started In
June 2024

Approximating maps between linear spaces

Approximate functions of type $$\mathbb{R}^m \to \mathbb{R}^n.$$

This package exists mostly so that I can use it in ManiFactor.jl.

TODO: Cite article for the error bounds.

Example: Reciprocal of a quadratic

Approximate $$ g(x) = \frac{1}{1 + x_1^2 + x_2^2 + x_3^2 + x_4^2}.$$

Plot

$N$ is the number of sample points in each direction, so that the total number of sample points is $N^4$.

Example: Dominant singular value

Approximate $$\mathrm{dominant~singular value}(8 A_0 + x_1 A_1 + x_2 A_2 + x_3 A_3 + x_4 A_4),$$ where $A_0$, $\dots$, $A_4$ are randomly chosen $40 \times 60$ matrices such that $A_0$ is rank 1.

Plot

Example: Gaussian

Approximate $$\exp{(-x_1^2 - x_2^2 - x_3^2 - x_4^2)}.$$

Plot

Example: Modified Gaussian

Approximate $$\exp{(-\mathrm{sign}(x_1) x_1^2 - \mathrm{sign}(x_2) x_2^2 - \mathrm{sign}(x_3) x_3^2 - \mathrm{sign}(x_4) x_4^2)}.$$

Plot

Example: Rastrigin function

Approximate the Rastrigin function of 4 variables.

Plot

Example: Griewank function

Approximate the Griewank function of 7 variables. Since the Griewank function oscillates a lot, we have to sample it very finely. But sampling in that many points is too expensive, so we import approximate_scalar explicitly and extend it with an approximate tensor decomposition from teneva.

Plot