Open mforets opened 5 years ago
Would this conceptually correspond to just defining a new type
struct Reflection
X
end
and the overloading of the support value and vector as:
support_value(d, R::Reflection) = support_value(-d, R.X)
support_vector(d, R::Reflection) = -support_vector(-d, R.X)
Would this conceptually correspond to just defining a new type
struct Reflection X end
and the overloading of the support value and vector as:
support_value(d, R::Reflection) = support_value(-d, R.X)
support_vector(d, R::Reflection) = -support_vector(-d, R.X)
Yes, and other operations are also straightforward, such as membership or linear_map
.
Given a convex set
X
, its opposite with respect to the origin is the set-X := {-x : x ∈ X}
. This issue proposes to create a lazy oposite,Opposite(X)
(Reflection
/ point reflection wrt the origin).