Skip to content
New issue

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

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

Already on GitHub? # to your account

Minimize for octagons #44

Open
sim642 opened this issue Jun 13, 2022 · 0 comments
Open

Minimize for octagons #44

sim642 opened this issue Jun 13, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@sim642
Copy link
Contributor

sim642 commented Jun 13, 2022

The original octagon library implements and documents a minimization algorithm. The Apron implementation of octagon minimization is missing:

/* NOT IMPLEMENTED: do nothing */
void oct_minimize(ap_manager_t* man, oct_t* a)
{
oct_internal_t* pr = oct_init_from_manager(man,AP_FUNID_MINIMIZE,0);
ap_manager_raise_exception(man,AP_EXC_NOT_IMPLEMENTED,pr->funid,
"not implemented");
}

Although the original implementation has a separate space-efficient storage format for minimized octagons, Apron clearly does not. Nevertheless, the algorithm could still be implemented to just act on and return the half-matrix representation (or really just modify it in-place).

It wouldn't offer actual space savings, but it would be useful for printing and to_lincons_array to have the octagon minimzed, such that they don't return an incomprehensibly large set of redundant constraints.

EDIT: I have a student who is supposed to implement this.

@antoinemine antoinemine added the enhancement New feature or request label Jun 22, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants