]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/cone/doubly_nonnegative.py
cone/nonnegative_orthant.py: add "lattice" argument.
[sage.d.git] / mjo / cone / doubly_nonnegative.py
index 7d39061d21dae6e2f9795cc63ccffe91c220cd0a..92184d15c4133e33f04e877352787378ae3739df 100644 (file)
@@ -13,12 +13,6 @@ It is represented typically by either `\mathcal{D}^{n}` or
 
 from sage.all import *
 
-# Sage doesn't load ~/.sage/init.sage during testing (sage -t), so we
-# have to explicitly mangle our sitedir here so that our module names
-# resolve.
-from os.path import abspath
-from site import addsitedir
-addsitedir(abspath('../../'))
 from mjo.cone.symmetric_psd import factor_psd, is_symmetric_psd, random_psd
 from mjo.matrix_vector import isomorphism
 
@@ -62,7 +56,7 @@ def is_doubly_nonnegative(A):
         raise ValueError.new(msg)
 
     # Check that all of the entries of ``A`` are nonnegative.
-    if not all([ a >= 0 for a in A.list() ]):
+    if not all( a >= 0 for a in A.list() ):
         return False
 
     # It's nonnegative, so all we need to do is check that it's
@@ -375,8 +369,8 @@ def is_extreme_doubly_nonnegative(A):
     # whenever we come across an index pair `$(i,j)$` with
     # `$A_{ij} = 0$`.
     spanning_set = []
-    for j in range(0, A.ncols()):
-        for i in range(0,j):
+    for j in xrange(A.ncols()):
+        for i in xrange(j):
             if A[i,j] == 0:
                 M = A.matrix_space()
                 S = X.transpose() * (stdE(M,i,j) + stdE(M,j,i)) * X
@@ -466,7 +460,7 @@ def random_doubly_nonnegative(V, accept_zero=True, rank=None):
     # one of them is nonnegative, then return that.
     A = random_psd(V, accept_zero, rank)
 
-    while not all([ x >= 0 for x in A.list() ]):
+    while not all( x >= 0 for x in A.list() ):
         A = random_psd(V, accept_zero, rank)
 
     return A