From 69a732dd23596a40f9d3a1aacf61f1de2823f498 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 6 Jan 2016 22:35:03 -0500 Subject: [PATCH] Test the lineality space of the dual of the cone of positive operators. --- mjo/cone/cone.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mjo/cone/cone.py b/mjo/cone/cone.py index ae3ec48..8b07f86 100644 --- a/mjo/cone/cone.py +++ b/mjo/cone/cone.py @@ -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:: -- 2.44.2