IntervalBoxMap

All of the above techniques provide a fast, efficient way to cover setwise images of boxes, but are not necessarily guaranteed to provide an complete covering. To avoid this as well as other numerical inaccuracies inherent in floating point arithmetic, one can use interval arithmetic to guarantee a rigorous outer covering of box images. Interval arithmetic is a technique from validated numerics which performs calculations while simultaneously recording the error of such calculations. A more detailed discussion and julia-implementation of interval arithmetic can be found in IntervalArithmetic.jl.

GAIO.IntervalBoxMapType
BoxMap(:interval, map, domain::Box{N}; n_subintervals::NTuple{N} = ntuple(_->4, N)) -> IntervalBoxMap
BoxMap(:interval, map, domain::Box{N}; n_subintervals::Function) -> IntervalBoxMap

Type representing a discretization of a map using interval arithmetic to construct rigorous outer coverings of map images. n_subintervals describes how many times a given box will be subdivided before mapping. n_subintervals is a Function which has the signature n_subintervals(center, radius) and returns a tuple. If a tuple is passed directly for n_subintervals, then this is converted to a constant Function (_, _) -> n_subintervals

Fields:

  • map: Map that defines the dynamical system.
  • domain: Domain of the map, B.
  • n_subintervals: Function with the signature n_subintervals(center, radius) which returns a tuple describing how many times a box is subdivided in each dimension before mapping.

.

source

Example

julia> n_subintervals = (4, 4)(4, 4)
julia> F = BoxMap(:interval, f, domain, n_subintervals = n_subintervals)IntervalBoxMap with (4, 4) subintervals
julia> p = plot!( p, F(B), color=RGBA(1.,0.5,0.,0.5), lab="interval arithmetic with $(join(n_subintervals, "x")) subinterval grid" )Plot{Plots.GRBackend() n=4}

Interval Arithmetic BoxMap