-"""
+r"""
The completely positive cone `$\mathcal{K}$` over `\mathbb{R}^{n}$` is
the set of all matrices `$A$`of the form `$\sum uu^{T}$` for `$u \in
\mathbb{R}^{n}_{+}$`. Equivalently, `$A = XX{T}$` where all entries of
"""
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 "mjo.cone"
-# resolves.
-from os.path import abspath
-from site import addsitedir
-addsitedir(abspath('../../'))
-from mjo.cone.symmetric_psd import factor_psd, is_symmetric_psd
-from mjo.cone.doubly_nonnegative import is_doubly_nonnegative, is_extreme_doubly_nonnegative
+from mjo.cone.symmetric_psd import factor_psd
+from mjo.cone.doubly_nonnegative import (is_doubly_nonnegative,
+ is_extreme_doubly_nonnegative)
def is_completely_positive(A):
"""
msg = 'The matrix ``A`` cannot be symbolic.'
raise ValueError.new(msg)
- if not is_symmetric_psd(A):
+ if not A.is_positive_semidefinite():
return False
n = A.nrows() # Makes sense since ``A`` is symmetric.
msg = 'The matrix ``A`` cannot be symbolic.'
raise ValueError(msg)
- if not is_symmetric_psd(A):
+ if not A.is_positive_semidefinite():
return False
n = A.nrows() # Makes sense since ``A`` is symmetric.