]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
mjo/cone/decomposition.py: use check=False at end of nonlineal_part()
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 3 Mar 2026 01:50:17 +0000 (20:50 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 3 Mar 2026 01:50:17 +0000 (20:50 -0500)
I've sketched an argument that the generating sets must be minimal.

mjo/cone/decomposition.py

index ffc991f9d1de5edfebdbe86aea8dea41939f8a25..ff803029b3be186670cc5e6b1afa02e60df54173 100644 (file)
@@ -264,10 +264,15 @@ def nonlineal_part(K, orthogonal=False):
     lat = K.lattice()
 
     if not orthogonal:
-        # Open question: is this generating set guaranteed to be
-        # minimal?
+        # This generating set is guaranteed to be minimal. If it's
+        # not, then using the orthogonal decomposition of the
+        # generators into g = g1 + g2, we find that one of the g2
+        # components is redundant for the projected cone. But this
+        # would contradict the minimality of those generators.
         pm_lines = [c*l for c in [-1,1] for l in K.lines()]
-        return Cone([r for r in K if not r in pm_lines], lattice=lat)
+        return Cone([r for r in K if not r in pm_lines],
+                    lattice=lat,
+                    check=False)
 
     # We need to compute inner products and doing it in the ambient
     # vector space (rather than in a more picky lattice) is the
@@ -286,6 +291,7 @@ def nonlineal_part(K, orthogonal=False):
         if not (v := V(r)) in linspace
     ]
 
-    # Open question: is THIS generating set minimal? The orthogonal
-    # projections are, but what about ours?
-    return (Cone(P_rays, lattice=lat))
+    # This should be minimal. The orthogonal-projected generators are
+    # minimal, and ours are the orthogonal projections of a scaled
+    # set. By linearity it should work out.
+    return Cone(P_rays, lattice=lat, check=False)