Nd level sets

Hi,

I want to compute the level sets of a Nd scalar function. Furthermore, I would like to be able to access the list of values on the level set. I am looking for suggestions.

I know of the following possibilities:

  • contour in Plots.jl
  • contour in Makie.jl
  • Contour.jl but 2d
  • Meshing.jl but 3d

At first, I thought it would be possible to make such method using RegionTrees.jl .

Thank you for your help,

Bests

In general this is, of course, hard problem.

Given an initial Nd box X, IntervalConstraintProgramming.jl can give you a set of small boxes that rigorously enclose the part of a level set lying inside X.

I believe this can also be solved by a version of the “parameterization method” used to find stable ame unstable manifolds, in which you stitch together pieces of Taylor polynomials. Cc @lbenet

Thank you for the pointers!
Can you tell how to plot the box in 3d please, the semantic has changed?

Oh good question, will have to check that.

I referenced your package in my docs. If you can do better than what is linked, I am all ears!

Those are some pretty amazing and beautiful figures!

What is the exact mathematical problem that you want to solve?

Intersect polynomial submanifolds. As of now, it just remains to adapt the 3d part of your docs/code to the new syntax of Makie .

Can you provide an explicit example?

Can you for example update one of those so the 3d plot works please?

Wow, those are super out of date – they were apparently made for Julia 0.5 or 0.6…

I’m trying to update them to use Makie, but it seems to be broken right now. Hopefully will be working soon!

Here is an updated example:

Please do let me know if I can help more. I am interested in playing with difficult examples that you have.

Here’s my attempt at drawing what I understand to be the set in your docs:

Unfortunately currently the mechanism for creating separators from functions is broken
(Package is broken due to changes in ModelingToolkit · Issue #162 · JuliaIntervals/IntervalConstraintProgramming.jl · GitHub)

But actually I’m not sure this is the right tool for the job, since as far as I can see this is just a union of 1D curves (?). @Xing_Shi_Cai pointed me towards Cylindrical Algebraic Decomposition the other day. This can give you all the “pieces” of the solution.

This is great !!