]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
Update discrete_complementarity_set() docs.
authorMichael Orlitzky <michael@orlitzky.com>
Thu, 20 Aug 2015 18:18:20 +0000 (14:18 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Thu, 20 Aug 2015 18:18:20 +0000 (14:18 -0400)
mjo/cone/cone.py

index 3c582e681a8ea0c6d985cc89d5492a5481578801..7374fcfc03dbed838ea3869dc2d83fa64fa944db 100644 (file)
@@ -214,24 +214,22 @@ def _restrict_to_space(K, W):
 
 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: