def discrete_complementarity_set(K):
r"""
- Compute the discrete complementarity set of this cone.
+ Compute a discrete complementarity set of this cone.
- The complementarity set of a cone is the set of all orthogonal pairs
- `(x,s)` such that `x` is in the cone, and `s` is in its dual. The
- discrete complementarity set is a subset of the complementarity set
- where `x` and `s` are required to be generators of their respective
- cones.
-
- For polyhedral cones, the discrete complementarity set is always
- finite.
+ A discrete complementarity set of `K` is the set of all orthogonal
+ pairs `(x,s)` such that `x \in G_{1}` and `s \in G_{2}` for some
+ generating sets `G_{1}` of `K` and `G_{2}` of its dual. Polyhedral
+ convex cones are input in terms of their generators, so "the" (this
+ particular) discrete complementarity set corresponds to ``G1
+ == K.rays()`` and ``G2 == K.dual().rays()``.
OUTPUT:
A list of pairs `(x,s)` such that,
* Both `x` and `s` are vectors (not rays).
- * `x` is a generator of this cone.
- * `s` is a generator of this cone's dual.
+ * `x` is one of ``K.rays()``.
+ * `s` is one of ``K.dual().rays()``.
* `x` and `s` are orthogonal.
REFERENCES: