+ Any extreme vector of the completely positive cone is an extreme
+ vector of the doubly-nonnegative cone::
+
+ sage: v = vector([1,2,3,4,5,6])
+ sage: A = v.column() * v.row()
+ sage: A = A.change_ring(QQ)
+ sage: is_extreme_doubly_nonnegative(A)
+ True
+
+ We should be able to generate the extreme completely positive
+ vectors randomly::
+
+ sage: v = vector(map(abs, random_vector(ZZ, 4)))
+ sage: A = v.column() * v.row()
+ sage: A = A.change_ring(QQ)
+ sage: is_extreme_doubly_nonnegative(A)
+ True
+ sage: v = vector(map(abs, random_vector(ZZ, 10)))
+ sage: A = v.column() * v.row()
+ sage: A = A.change_ring(QQ)
+ sage: is_extreme_doubly_nonnegative(A)
+ True
+
+ The following matrix is completely positive but has rank 3, so by a
+ remark in reference #1 it is not extreme::
+
+ sage: A = matrix(QQ, [[1,2,1],[2,6,3],[1,3,5]])
+ sage: is_extreme_doubly_nonnegative(A)
+ False
+
+ The following matrix is completely positive (diagonal) with rank 2,
+ so it is also not extreme::
+
+ sage: A = matrix(QQ, [[1,0,0],[2,0,0],[0,0,0]])
+ sage: is_extreme_doubly_nonnegative(A)
+ False
+