The algebraic dual of a cone #
Given a bilinear pairing p
between two R
-modules M
and N
and a set s
in M
, we define
PointedCone.dual p C
to be the pointed cone in N
consisting of all points y
such that
0 ≤ p x y
for all x ∈ s
.
When the pairing is perfect, this gives us the algebraic dual of a cone. This is developed here.
When the pairing is continuous and perfect (as a continuous pairing), this gives us the topological
dual instead. See Mathlib/Analysis/Convex/Cone/Dual.lean
for that case.
Implementation notes #
We do not provide a ConvexCone
-valued version of PointedCone.dual
since the dual cone of any set
always contains 0
, ie is a pointed cone.
Furthermore, the strict version {y | ∀ x ∈ s, 0 < p x y}
is a candidate to the name
ConvexCone.dual
.
TODO #
Deduce from dual_flip_dual_dual_flip
that polyhedral cones are invariant under taking double duals
The dual cone of a set s
with respect to a bilinear pairing p
is the cone consisting of all
points y
such that for all points x ∈ s
we have 0 ≤ p x y
.
Equations
Instances For
The inner dual cone of a singleton is given by the preimage of the positive cone under the
linear map p x
.
The dual cone of s
equals the intersection of dual cones of the points in s
.
Any set is a subset of its double dual cone.