Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Ease the use of manifold from C++ API #315

Closed
raphaelchenouard opened this issue Feb 23, 2018 · 1 comment
Closed

Feature request: Ease the use of manifold from C++ API #315

raphaelchenouard opened this issue Feb 23, 2018 · 1 comment
Assignees

Comments

@raphaelchenouard
Copy link
Contributor

Currently, manifolds can only be created by a solver object since Manifold objects are generated from SolverOutputBoxes. We cannot create easily this kind of objects (the constructor is private with Solver being a friend class). The SolverOutputBox class specify several data on a box as its status but also variables fixed for the proof when relevant. Depending on the algorithm we use or implement those data are not always available and maybe not relevant.
It could be interesting to create Manifolds directly from interval boxes with a default status of UNKNOWN. Maybe a super class for SolverOutputBox (like QualifiedBox) could also be defined when we know only the box status. The manifold constructor could also have default values for the number of eq and ineq (ie 0) when those data are not useful (ie for the proof data).

Moreover, current manifold format does not include the name of variables. It could be interesting for a drawing purpose to have this information directly in the binary format. We could be able to plot boxes without parsing the initial model and print the real name of dimensions.

@gchabert gchabert self-assigned this Mar 13, 2018
@gchabert
Copy link
Contributor

OK. I've followed your suggestion and created a QualifiedBox, except that it replaces SolverOutputBox (not a superclass) and you can create now a qualified box independently of the solver (I will use this class myself for the optimizer very soon!). You don't need to supply "proof" data if the box is pending/unknown or inner w.r.t. to inequalities only. I think this is what you wanted.
I've also inserted in the manifold format the variables names. See ./ibexsolve --format.
I'm closing the issue but feel free to reopen it if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants