An instance of the ``cvxopt.base.matrix`` class having
dimensions ``(n,n)`` where ``n`` is the dimension of this cone.
- Its type code must be 'd'.
EXAMPLES:
>>> K = SymmetricPSD(2)
- >>> matrix([[1,0],[0,1]], tc='d') in K
+ >>> matrix([[1,0],[0,1]]) in K
True
>>> K = SymmetricPSD(2)
- >>> matrix([[0,0],[0,0]], tc='d') in K
+ >>> matrix([[0,0],[0,0]]) in K
+ True
+
+ >>> K = SymmetricPSD(3)
+ >>> matrix([[2,-1,0],[-1,2,-1],[0,-1,2]]) in K
+ True
+
+ >>> K = SymmetricPSD(5)
+ >>> A = matrix([[5,4,3,2,1],
+ ... [4,5,4,3,2],
+ ... [3,4,5,4,3],
+ ... [2,3,4,5,4],
+ ... [1,2,3,4,5]])
+ >>> A in K
+ True
+
+ >>> K = SymmetricPSD(5)
+ >>> A = matrix([[1,0,0,0,0],
+ ... [0,1,0,0,0],
+ ... [0,0,0,0,0],
+ ... [0,0,0,1,0],
+ ... [0,0,0,0,1]])
+ >>> A in K
True
>>> K = SymmetricPSD(2)
TypeError: the given point is not a cvxopt.base.matrix
>>> K = SymmetricPSD(3)
- >>> matrix([[1,2],[3,4]], tc='d') in K
+ >>> matrix([[1,2],[3,4]]) in K
Traceback (most recent call last):
...
TypeError: the given point has the wrong dimensions
raise TypeError('the given point is not a cvxopt.base.matrix')
if not point.size == (self.dimension(), self.dimension()):
raise TypeError('the given point has the wrong dimensions')
+ if not point.typecode == 'd':
+ point = matrix(point, (self.dimension(), self.dimension()), 'd')
return all([e >= 0 for e in eigenvalues(point)])
EXAMPLES:
>>> K = SymmetricPSD(2)
- >>> K.contains_strict(matrix([[1,0],[0,1]], tc='d'))
+ >>> K.contains_strict(matrix([[1,0],[0,1]]))
True
>>> K = SymmetricPSD(2)
- >>> K.contains_strict(matrix([[0,0],[0,0]], tc='d'))
+ >>> K.contains_strict(matrix([[0,0],[0,0]]))
+ False
+
+ >>> K = SymmetricPSD(3)
+ >>> matrix([[2,-1,0],[-1,2,-1],[0,-1,2]]) in K
+ True
+
+ >>> K = SymmetricPSD(5)
+ >>> A = matrix([[5,4,3,2,1],
+ ... [4,5,4,3,2],
+ ... [3,4,5,4,3],
+ ... [2,3,4,5,4],
+ ... [1,2,3,4,5]])
+ >>> A in K
+ True
+
+ >>> K = SymmetricPSD(5)
+ >>> A = matrix([[1,0,0,0,0],
+ ... [0,1,0,0,0],
+ ... [0,0,0,0,0],
+ ... [0,0,0,1,0],
+ ... [0,0,0,0,1]])
+ >>> K.contains_strict(A)
False
>>> K = SymmetricPSD(2)
TypeError: the given point is not a cvxopt.base.matrix
>>> K = SymmetricPSD(3)
- >>> K.contains_strict(matrix([[1,2],[3,4]], tc='d'))
+ >>> K.contains_strict(matrix([[1,2],[3,4]]))
Traceback (most recent call last):
...
TypeError: the given point has the wrong dimensions
raise TypeError('the given point is not a cvxopt.base.matrix')
if not point.size == (self.dimension(), self.dimension()):
raise TypeError('the given point has the wrong dimensions')
+ if not point.typecode == 'd':
+ point = matrix(point, (self.dimension(), self.dimension()), 'd')
return all([e > 0 for e in eigenvalues(point)])