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