gaioguys / GAIO.jl

A Julia package for set oriented computations.
MIT License
9 stars 4 forks source link

Automatic boxmap discretization #31

Open cafaxo opened 4 years ago

cafaxo commented 4 years ago

It would be really cool if the user could just do

g = boxmap(f)

Once the user applies g to a boxset, an automatic/adaptive discretization strategy is used. A naive approach would be to define an increasing sequence of point discretizations of the unit box and go along this sequence until the image stabilises. I imagine that this would work well for simple/easy problems. In this issue, we should decide:

This issue depends/extends on #30.

gaioguy commented 4 years ago

Yes! This is something we should definitely do. There are ideas on an adaptive version in Junge, O.: Rigorous discretization of subdivision techniques, Proceedings of EQUADIFF 99, World Scientific, 2000..

cafaxo commented 4 years ago

This method makes sense if f is locally Lipschitz. Do we want to require that for boxmap(f)? If it is locally Lipschitz, how would we determine L? Would the user have to supply that?

gaioguy commented 4 years ago

It seems like a reasonable general assumption to me. In practice, if one is not aiming for a rigorous computation of a box image (for which I would propose to use interval arithmetic anyway), one could simply evaluate the derivative of the map at the center of the box as an approximation to L - or rather do the SVD of the derivative and construct a properly aligned grid as proposed at the end of the above Ref.

cafaxo commented 4 years ago

We could have the case that the user maps a really coarse BoxSet (imagine a single big box) into a really fine partition. Only sampling the center for L could be inadequate in this case.

gaioguy commented 4 years ago

Right, it would be good to have some way to estimate how well the linearization approximates the map over the box. Maybe sampling at the vertices of the box?