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

Revisit simplification of lazy Intersection #3687

Open
schillic opened this issue Dec 20, 2024 · 0 comments
Open

Revisit simplification of lazy Intersection #3687

schillic opened this issue Dec 20, 2024 · 0 comments
Labels
bug 🐛 Something isn't working discussion 🗣️ Requires human input

Comments

@schillic
Copy link
Member

In #2482, we changed that Intersection with a HalfSpace argument automatically simplifies, e.g., to HPolyhedron. While this sounded reasonable, it breaks the assumption that Intersection always results in an Intersection object. The library has at least one place where this is assumed:

cap = Intersection(R.X, polyhedron)
if filter_empty_sets
set_isempty!(cap, false) # intersection is known to not be empty

Here, cap can be an HPolyhedron instead of the expected Intersection.

julia> rectify(rand(HalfSpace))
ERROR: MethodError: no method matching set_isempty!(::HPolyhedron{Float64, Vector{Float64}}, ::Bool)

Should we undo this change and rather leave this behavior to the concrete intersection operation?

@schillic schillic added bug 🐛 Something isn't working discussion 🗣️ Requires human input labels Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 Something isn't working discussion 🗣️ Requires human input
Projects
None yet
Development

No branches or pull requests

1 participant