view semiDefIneq.m @ 579:a5f1b0267dba feature/grids

Be less strict about what is considered a block matrix Empty blocks of different sizes are now allowed as well as empty block dimensions
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 07 Sep 2017 09:21:04 +0200
parents eaf557023fbe
children
line wrap: on
line source

function ineq = semiDefIneq(A, verbose)
    default_arg('verbose', true);
    [m, sub] = minors(A, verbose);

    ineqsys = true;
    for i = 1:length(m)
        ineqsys = ineqsys & m(i) >= 0;
    end

    ineq = simplify(ineqsys);

    str = toString(ineq);
    fprintf('%s\n',strjoin(strsplit(str,' & '), '\n'));
end