AdaptiveBoxMap
The above approaches may not necessarily be effective for covering the setwise image of a box. For choosing test points more effectively, we can use some knowledge of the Lipschitz matrix for $f$ in a box Box(c, r)
, that is, a matrix $L \in \mathbb{R}^{d \times d}$ such that
\[| f(y) - f(z) | \leq L \, | y - z | \quad \text{for all } y, z \in \text{Box}(c, r),\]
where the operations $| \cdot |$ and $\leq$ are to be understood elementwise. The function AdaptiveBoxMap
attempts to approximate $L$ before choosing an adaptive grid of test points in each box, as described in [7].
GAIO.AdaptiveBoxMap
— FunctionBoxMap(:adaptive, f, domain::Box) -> SampledBoxMap
Construct a SampledBoxMap
which uses sample_adaptive
to generate test points as described in
Oliver Junge. “Rigorous discretization of subdivision techniques”. In: International Conference on Differential Equations. Ed. by B. Fiedler, K. Gröger, and J. Sprekels. 1999.
Example
julia> F = BoxMap(:adaptive, f, domain)
SampledBoxMap with 201 sample points
julia> p = plot!( p, F(B), color=RGBA(1.,0.,1.,0.5), lab="adaptive test points" )
Plot{Plots.GRBackend() n=4}