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.symbolic"
-# resolves.
-from os.path import abspath
-from site import addsitedir
-addsitedir(abspath('../../'))
-
-
def is_symmetric_psd(A):
"""
Determine whether or not the matrix ``A`` is symmetric
Either ``True`` if ``A`` is symmetric positive-semidefinite, or
``False`` otherwise.
+ SETUP::
+
+ sage: from mjo.cone.symmetric_psd import is_symmetric_psd
+
EXAMPLES:
Every completely positive matrix is symmetric
A list of (eigenvalue, eigenvector) pairs where each eigenvector is
associated with its paired eigenvalue of ``A`` and has norm `1`.
+ SETUP::
+
+ sage: from mjo.cone.symmetric_psd import unit_eigenvectors
+
EXAMPLES::
sage: A = matrix(QQ, [[0, 2, 3], [2, 0, 0], [3, 0, 0]])
`$D$` will have dimension `$k \times k$`. In the end everything
works out the same.
+ SETUP::
+
+ sage: from mjo.cone.symmetric_psd import factor_psd
+
EXAMPLES:
Create a symmetric positive-semidefinite matrix over the symbolic
``accept_zero`` is ``False``, we restart the process from the
beginning.
+ SETUP::
+
+ sage: from mjo.cone.symmetric_psd import is_symmetric_psd, random_psd
+
EXAMPLES:
Well, it doesn't crash at least::