]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
Test the lineality space of the dual of the cone of positive operators.
authorMichael Orlitzky <michael@orlitzky.com>
Thu, 7 Jan 2016 03:35:03 +0000 (22:35 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Thu, 7 Jan 2016 03:35:03 +0000 (22:35 -0500)
mjo/cone/cone.py

index ae3ec48cddc9700d4f63ae378fc01b178dee6e3b..8b07f86b329e191e105994e83676f3e30d8c4220 100644 (file)
@@ -284,6 +284,25 @@ def positive_operator_gens(K):
         sage: K.contains(P*K.random_element())
         True
 
+    The lineality space of the dual of the cone of positive operators
+    can be computed from the lineality spaces of the cone and its dual::
+
+        sage: set_random_seed()
+        sage: K = random_cone(max_ambient_dim=5)
+        sage: pi_of_K = positive_operator_gens(K)
+        sage: L = ToricLattice(K.lattice_dim()**2)
+        sage: pi_cone = Cone([ g.list() for g in pi_of_K ], lattice=L)
+        sage: actual = pi_cone.dual().linear_subspace()
+        sage: U1 = [ vector((s.tensor_product(x)).list())
+        ....:        for x in K.lines()
+        ....:        for s in K.dual() ]
+        sage: U2 = [ vector((s.tensor_product(x)).list())
+        ....:        for x in K
+        ....:        for s in K.dual().lines() ]
+        sage: expected = pi_cone.lattice().vector_space().span(U1 + U2)
+        sage: actual == expected
+        True
+
     The dimension of the cone of positive operators is given by the
     corollary in my paper::