wolffd@0: function b = positive_semidefinite(M) wolffd@0: % wolffd@0: % Return true iff v M v' >= 0 for any vector v. wolffd@0: % We do this by checking that all the eigenvalues are non-negative. wolffd@0: wolffd@0: E = eig(M); wolffd@0: if length(find(E>=0)) == length(E) wolffd@0: b = 1; wolffd@0: else wolffd@0: b = 0; wolffd@0: end